:root{--space:#030c17;--panel:#071322;--ink:#f5f6fc;--muted:#b7c6e5;--line:#2a405b;--blue:#46b8ff;--violet:#bd8dff;--gold:#ffc166}
body.constellation-active{background:var(--space);color:var(--ink);margin:0;padding:0;overflow:hidden}
body.constellation-active>.app-shell,body.constellation-active>.skip-link,body.constellation-active>.quick-dock{display:none}
#constellationApp[hidden]{display:none!important}
#constellationApp{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);font-size:18px;line-height:1.45;height:100dvh;display:grid;grid-template-rows:84px minmax(0,1fr);background:var(--space)}
#constellationApp *{box-sizing:border-box}
#constellationApp button,#constellationApp input,#constellationApp textarea,#constellationApp select{font:inherit;color:inherit}
#constellationApp button{min-height:48px;min-width:48px;padding:10px 16px;background:#0b1b2e;border:1px solid var(--line);border-radius:15px;cursor:pointer;box-shadow:none;white-space:normal}
#constellationApp button:hover{background:#16314c;border-color:var(--blue)}
#constellationApp :focus-visible{outline:3px solid #7ce4ff;outline-offset:4px}
#constellationApp button:disabled{opacity:.5;cursor:default}
#constellationApp .r-primary{background:#078cee;border-color:#39adff;color:white}
#constellationApp svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.r-header{display:flex;gap:28px;align-items:center;padding:14px 26px;border-bottom:1px solid var(--line);background:#06111e;z-index:4}
.r-brand{font-size:36px;font-weight:740;display:flex;align-items:center;gap:14px;min-width:180px;letter-spacing:-1.5px}
.r-brand svg{width:64px!important;height:46px!important;color:var(--blue)}
.r-search{flex:1;position:relative;max-width:1000px}
.r-search input{width:100%;height:54px;border-radius:32px;border:1px solid #3b516e;padding:10px 20px 10px 56px;background:#0c1829;font-size:21px!important}
.r-search svg{position:absolute;left:20px;top:14px;color:var(--muted)}
.r-search-results{position:absolute;left:0;right:0;top:62px;max-height:55vh;overflow:auto;z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:0 18px 50px #0009}
.r-search-results button{display:block;width:100%;text-align:left;margin:4px 0}
.r-header>.r-settings{margin-left:auto;border-radius:50%}
.r-body{display:grid;grid-template-columns:218px minmax(0,1fr) 390px;min-height:0}
.r-nav{border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column;gap:10px;min-height:0;background:#050f1c}
#constellationApp .r-nav button{display:flex;align-items:center;gap:18px;text-align:left;background:transparent;border-color:transparent;min-height:62px}
#constellationApp .r-nav button[aria-current=page]{background:#0b2440;border-color:#278ad1;color:#68cfff}
.r-nav .r-map-links{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);overflow:auto;min-height:0}
.r-nav .r-map-links button{font-size:17px!important;min-height:50px!important;gap:8px!important}
.r-nav-bottom{margin-top:auto;padding-top:20px}
.r-sync{font-size:15px;color:var(--muted);padding:12px 8px;overflow-wrap:anywhere}
#constellationApp .r-map-main{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;padding:0;margin:0;gap:0;max-width:none;background:var(--space) url('/constellation-space.png') center/cover}
.r-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;z-index:2;flex-wrap:wrap}
.r-trail{display:flex;gap:6px;align-items:center;overflow:auto;max-width:100%;font-size:17px;color:var(--muted)}
#constellationApp .r-trail button{background:transparent;border:0;padding:8px;white-space:nowrap}
.r-tools{display:flex;gap:9px;flex-wrap:wrap}
.r-viewport{position:relative;flex:1;min-height:280px;overflow:hidden;touch-action:none;isolation:isolate}
.r-world{position:absolute;inset:0;transform-origin:center;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.r-world.is-dragging{transition:none}
.r-edges{position:absolute;inset:0;width:100%!important;height:100%!important;pointer-events:none;overflow:visible}
.r-edges path{stroke:#6cceff;stroke-width:1.7;filter:drop-shadow(0 0 5px #21a8ff);fill:none}
.r-edges path[data-type=thought]{stroke:var(--gold)}
.r-edges path[data-type=ai]{stroke:var(--violet);stroke-dasharray:7 7}
#constellationApp .r-node{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);transform:translate(-50%,-50%);padding:12px;background:transparent;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;isolation:isolate;touch-action:none;transition:left .5s,top .5s;box-shadow:none}
#constellationApp .r-node:hover{background:transparent;filter:brightness(1.14)}
.r-node::before{content:'';position:absolute;inset:-10%;background-image:url('/constellation-spheres.png');background-size:300% 200%;background-position:var(--texture,0% 0%);z-index:-2;border-radius:50%;mask-image:radial-gradient(circle,#000 57%,transparent 67%);pointer-events:none}
.r-node::after{content:'';position:absolute;inset:20%;background:radial-gradient(ellipse,#020a14ba,transparent 72%);z-index:-1;pointer-events:none}
.r-node strong{font-size:clamp(20px,1.8vw,28px);line-height:1.15;text-align:center;text-shadow:0 2px 7px #000,0 0 10px #000;max-width:100%;overflow-wrap:normal;hyphens:auto}
.r-node.is-focus strong{font-size:clamp(24px,2.6vw,40px)}
.r-node small{font-size:13px;background:#091321e8;padding:3px 8px;border:1px solid var(--gold);border-radius:12px;position:absolute;bottom:2%;max-width:95%;white-space:nowrap}
.r-node[data-type=ai] small{border-color:var(--violet)}
.r-node.is-selected{outline:2px solid #72d6ff;outline-offset:3px}
.r-caption{color:var(--muted);text-align:center;padding:0 16px;font-size:17px;margin:4px 0}
.r-map-controls{display:flex;gap:10px;align-items:center;padding:18px 22px;z-index:2}
.r-map-controls .r-zoom{margin-left:auto;display:flex;gap:8px}
.r-map-controls button{display:flex;gap:9px;align-items:center}
.r-list{padding:10px 22px;overflow:auto;min-height:0;flex:1}
.r-list button{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;margin:8px 0;padding:18px!important}
.r-astra{border:1px solid var(--line);border-radius:18px;margin:0 12px 12px 0;display:flex;flex-direction:column;background:linear-gradient(135deg,#081626,#030d19);min-height:0;z-index:5;overflow:hidden}
.r-astra-head{padding:19px 24px 14px;border-bottom:1px solid var(--line)}
.r-astra-head h1{font-size:36px;letter-spacing:.5px;line-height:1.1;margin:0}
.r-astra-head p{color:var(--muted);margin:3px 0 0;font-size:17px}
.r-astra-context{padding:12px 18px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:15px}
#constellationApp .r-context-button{font-size:14px;padding:7px 10px;min-height:48px;max-width:100%;text-align:left}
.r-chat{padding:12px 18px;overflow:auto;flex:1;min-height:100px;overscroll-behavior:contain}
.r-message{background:#0c2038;border:1px solid #294765;border-radius:16px;padding:16px;margin:0 0 16px;overflow-wrap:anywhere;white-space:pre-wrap}
.r-message.user{background:#182e51;margin-left:22px}
.r-message .r-message-meta{font-size:13px;color:var(--muted);display:block;margin-bottom:9px;white-space:normal}
.r-message p{margin:0 0 12px}
.r-message a{color:#80d8ff;text-decoration:underline;display:block;margin-top:10px;white-space:normal}
.r-message button{font-size:15px!important;margin:8px 5px 0 0}
.r-empty{color:var(--muted);padding:16px 2px;line-height:1.65}
.r-prompts{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 18px;border-top:1px solid var(--line)}
.r-prompts button{font-size:16px!important;text-align:left;padding:10px!important}
.r-composer{display:flex;align-items:flex-end;gap:8px;padding:16px 18px;border-top:1px solid var(--line)}
.r-composer textarea{resize:vertical;min-height:54px;max-height:140px;width:100%;background:#0a192b;border:1px solid #435e83;border-radius:14px;padding:12px}
.r-astra-mobile,.r-close-astra{display:none!important}
.r-dialog{border:1px solid #486487;border-radius:22px;color:var(--ink);background:#071523;padding:24px;width:min(690px,calc(100vw - 24px));max-height:90dvh;overflow:auto;box-shadow:0 24px 100px #000c}
.r-dialog::backdrop{background:#01060bc9;backdrop-filter:blur(6px)}
.r-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.r-dialog h2{font-size:26px;margin:0}
.r-dialog input,.r-dialog textarea,.r-dialog select{display:block;width:100%;background:#0b1d32;border:1px solid #547298;border-radius:10px;padding:12px;margin:8px 0 18px;min-height:48px}
.r-dialog textarea{min-height:130px}
.r-dialog label{display:block;margin-top:14px}
.r-dialog .r-check{display:flex;gap:12px;align-items:center;min-height:48px}
.r-dialog input[type=checkbox]{width:24px;height:24px;min-height:24px;margin:8px 0;accent-color:#1d9dff}
.r-dialog .r-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.r-dialog .r-row{border-top:1px solid var(--line);padding:18px 0}
.r-dialog .r-row p{color:var(--muted);font-size:16px}
.r-dialog a{color:#79d7ff;overflow-wrap:anywhere}
.r-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere}
.r-toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 30px);background:#102842;border:1px solid #5591bf;border-radius:14px;padding:14px 20px;z-index:50;box-shadow:0 8px 40px #0008}
.r-legacy-return{position:fixed;top:8px;left:8px;z-index:100;min-height:48px;background:#0c2842;color:white;border:1px solid #54bdff;border-radius:14px;padding:12px}
@media(min-width:1600px){.r-body{grid-template-columns:236px minmax(0,1fr) 480px}.r-astra{margin-right:18px}.r-message{font-size:20px}.r-astra-head h1{font-size:42px}}
@media(max-width:1150px) and (min-width:800px) and (min-height:601px){.r-body{grid-template-columns:minmax(0,1fr) 350px}.r-nav{display:none}.r-header{gap:18px}.r-brand{min-width:120px;font-size:28px}.r-brand svg{width:44px!important}.r-header .r-mobile-menu{display:block!important}.r-node strong{font-size:20px}}
@media(max-width:799px), (max-width:1150px) and (max-height:600px){
 #constellationApp{grid-template-rows:128px minmax(0,1fr);font-size:18px}.r-header{padding:10px 16px;gap:10px;flex-wrap:wrap;align-content:center}.r-brand{font-size:30px;min-width:0}.r-brand svg{width:48px!important;height:36px!important}.r-search{order:3;flex-basis:100%;max-width:none}.r-search input{height:48px;font-size:17px!important}.r-search svg{top:12px;width:22px!important;height:22px!important}.r-header>.r-settings{padding:8px}.r-body{display:flex;flex-direction:column;padding-bottom:76px}.r-nav{position:fixed;bottom:0;left:0;right:0;height:76px;z-index:9;border-top:1px solid var(--line);background:#06101e;padding:5px 12px max(5px,env(safe-area-inset-bottom));display:flex;flex-direction:row;justify-content:space-around;gap:4px}.r-nav .r-map-links,.r-nav-bottom{display:none}#constellationApp .r-nav>button{flex:1;display:flex;flex-direction:column;gap:1px;font-size:14px;padding:5px;min-height:62px;border-radius:10px}.r-nav svg{width:24px!important;height:24px!important}.r-map-main{flex:1}.r-map-toolbar{padding:8px 12px;gap:4px;min-height:52px}.r-trail{font-size:15px}.r-tools button{font-size:14px!important;padding:8px 10px!important}.r-tools svg{display:none}.r-viewport{min-height:210px}.r-node strong{font-size:20px}.r-node.is-focus strong{font-size:28px}.r-node small{font-size:11px;bottom:0}.r-map-controls{padding:10px 12px;gap:8px}.r-map-controls button{font-size:15px!important;padding:8px 12px!important}.r-map-controls svg{width:20px!important;height:20px!important}.r-caption{font-size:15px;margin:0}.r-map-controls .r-zoom button{padding:6px!important}.r-map-controls .r-zoom{gap:5px}.r-astra{display:none;position:fixed;left:8px;right:8px;bottom:82px;max-height:calc(100dvh - 150px);height:70dvh;margin:0;border-color:#42668c;box-shadow:0 -20px 90px #000b}.r-astra.is-open{display:flex}.r-astra-head{padding:12px 18px;display:flex;align-items:center;justify-content:space-between}.r-astra-head h1{font-size:28px}.r-astra-head p{font-size:15px}.r-close-astra{display:block!important}.r-astra-mobile{display:flex!important;gap:8px;align-items:center;position:absolute;right:12px;top:66px;z-index:4;background:#142a46!important;color:#bfe6ff!important}.r-astra-mobile span{font-size:15px}.r-astra-context{padding:8px 14px}.r-chat{padding:8px 14px}.r-prompts{padding:10px 14px}.r-composer{padding:10px 14px}.r-message{font-size:17px}.r-search-results{top:52px}.r-toast{bottom:92px}.r-dialog{padding:18px}.r-dialog h2{font-size:23px}
}
@media(prefers-reduced-motion:reduce){.r-world,#constellationApp .r-node{transition:none}}
@media(max-height:600px) and (max-width:1150px){#constellationApp{grid-template-rows:70px minmax(0,1fr)}.r-header{flex-wrap:nowrap}.r-search{order:0;flex-basis:auto}.r-brand{font-size:22px}.r-brand svg{display:none}.r-map-toolbar{padding:4px 10px}.r-viewport{min-height:120px}.r-body{padding-bottom:62px}.r-nav{height:62px}.r-astra{max-height:90dvh;height:90dvh;bottom:5px;z-index:15}.r-astra-mobile{top:56px}.r-node strong{font-size:18px}.r-map-controls{padding:4px 10px}.r-caption{display:none}}

.r-astra{min-width:0}.r-header{min-width:0}.r-search{min-width:0}#constellationApp [hidden]{display:none!important}.r-astra-head,.r-astra-context,.r-prompts,.r-composer{flex-shrink:0}.r-dialog button{min-height:48px}.r-node strong{position:relative}.r-edges text{fill:#c4ddf6;stroke:#030c17;stroke-width:5px;paint-order:stroke;font-size:15px;text-anchor:middle}.r-context-entry{padding:12px 0;border-top:1px solid var(--line)}
@media(min-width:800px) and (max-width:1150px) and (min-height:601px){.r-nav{display:flex;position:fixed;bottom:0;left:0;right:0;flex-direction:row;height:72px;padding:6px 14px;z-index:10;justify-content:center;border-top:1px solid var(--line)}.r-nav .r-map-links,.r-nav-bottom{display:none}.r-body{padding-bottom:72px}.r-nav>button{min-height:54px!important}}
@media(min-width:1280px){.r-body{grid-template-columns:218px minmax(0,1fr) 480px}#constellationApp{font-size:20px}.r-prompts button{font-size:18px!important}#constellationApp .r-context-button{font-size:16px}.r-astra-head h1{font-size:40px}}

@media(max-height:600px) and (max-width:1150px){.r-astra-head{padding:6px 14px}.r-astra-head p{display:none}.r-astra-context{padding:6px 14px;max-height:76px;overflow:auto}.r-chat{min-height:48px;padding:6px 14px}.r-prompts{grid-template-columns:repeat(4,minmax(0,1fr));padding:6px 14px;gap:6px}.r-prompts button{font-size:14px!important;padding:6px!important}.r-composer{padding:8px 14px}.r-composer textarea{min-height:48px;max-height:64px;padding:10px}.r-astra{max-height:calc(100dvh - 10px);height:calc(100dvh - 10px)}}
