:root{--bg:#05080a;--bg-deep:#020405;--panel:#070c0ff0;--panel-solid:#080d10;--ink:#f4f1eb;--muted:#859196;--faint:#59666b;--line:#ddeff224;--line-strong:#ddeff247;--cyan:#58ddf7;--magenta:#ef2d9a;--amber:#e0b24a;--violet:#a982ff;--danger:#ff4f5e;--mono:"Space Mono", "IBM Plex Mono", "Cascadia Code", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans:Inter, "Helvetica Neue", Arial, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body{background:var(--bg-deep);width:100%;height:100%;color:var(--ink);font-family:var(--mono);margin:0;overflow:hidden}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;min-width:320px}button,a{font:inherit;color:inherit}[hidden]{display:none!important}::selection{color:#030608;background:var(--cyan)}.skip-link{z-index:10000;color:var(--bg);background:var(--ink);padding:12px 16px;transition:transform .18s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app,#scene,.cosmos,.scanlines,.grain{position:fixed;inset:0}.app{isolation:isolate;background:var(--bg)}.cosmos{z-index:-3;background:radial-gradient(circle at 25% 25%,#104f583d,#0000 30%),radial-gradient(circle at 76% 68%,#69184c2e,#0000 32%),radial-gradient(circle,#0b1519 0,#05090c 52%,#020405 100%)}#scene{z-index:-2;touch-action:none;width:100%;height:100%;display:block}.scanlines,.grain{z-index:70;pointer-events:none}.scanlines{opacity:.22;mix-blend-mode:multiply;background:repeating-linear-gradient(0deg,#0000002e 0 1px,#0000 1px 4px)}.grain{opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150' viewBox='0 0 150 150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}.topbar{z-index:80;border-bottom:1px solid var(--line);pointer-events:none;background:linear-gradient(#020608eb,#02060800);justify-content:space-between;align-items:center;min-height:92px;padding:20px clamp(18px,3vw,42px);display:flex;position:fixed;top:0;left:0;right:0}.brand,.topbar-actions{pointer-events:auto}.brand{color:var(--ink);align-items:center;gap:14px;text-decoration:none;display:inline-flex}.brand img{object-fit:contain;filter:drop-shadow(0 0 16px #ef2d9a52);width:72px;height:46px}.brand span{gap:5px;display:grid}.brand b{letter-spacing:.2em;font-size:.76rem}.brand small{color:var(--muted);letter-spacing:.2em;font-size:.55rem}.topbar-actions{gap:8px;display:flex}.ui-button,.close-button{border:1px solid var(--line);cursor:pointer;background:#04090cad;transition:border-color .18s,background .18s,color .18s,transform .18s}.ui-button{min-height:40px;color:var(--muted);letter-spacing:.13em;padding:0 14px;font-size:.58rem}.ui-button b{color:var(--ink);margin-left:6px}.ui-button span{border:1px solid var(--line-strong);width:22px;height:22px;color:var(--ink);place-items:center;margin-left:8px;display:inline-grid}.ui-button--strong{color:var(--ink);border-color:#58ddf785;box-shadow:inset 0 0 20px #58ddf712}.ui-button:hover,.ui-button:focus-visible,.close-button:hover,.close-button:focus-visible{border-color:var(--cyan);color:var(--ink);background:#58ddf717;outline:none}.ui-button:active,.close-button:active{transform:scale(.97)}.mission{z-index:20;border-left:2px solid var(--amber);text-shadow:0 2px 10px #000;gap:7px;max-width:min(350px,100vw - 36px);padding-left:18px;display:grid;position:fixed;top:120px;left:clamp(18px,3vw,42px)}.micro{color:var(--muted);letter-spacing:.26em;text-transform:uppercase;font-size:.56rem;font-weight:700}.mission strong{letter-spacing:.16em;font-size:clamp(.82rem,1.2vw,1rem)}.mission>span:last-child{color:var(--muted);letter-spacing:.08em;font-size:.64rem;line-height:1.6}.telemetry{z-index:20;text-align:right;text-shadow:0 2px 10px #000;grid-template-columns:repeat(3,auto);gap:clamp(18px,3vw,42px);display:grid;position:fixed;bottom:clamp(24px,4vw,46px);right:clamp(18px,3vw,42px)}.telemetry div{gap:6px;display:grid}.telemetry strong{font-variant-numeric:tabular-nums;letter-spacing:.08em;font-size:.86rem}.telemetry small{color:var(--muted);font-size:.55rem}.radar-shell{z-index:20;width:180px;position:fixed;bottom:clamp(26px,4vw,46px);left:clamp(18px,3vw,42px)}.radar-title{color:var(--muted);letter-spacing:.17em;justify-content:space-between;margin-bottom:8px;font-size:.55rem;display:flex}.radar-title b{color:var(--cyan);font-weight:700}#radar{background:#030c0f8f;border:1px solid #58ddf75c;border-radius:50%;width:180px;height:180px;display:block;box-shadow:0 0 30px #58ddf714,inset 0 0 24px #58ddf714}.interaction{z-index:50;border:1px solid var(--sector-color,var(--cyan));min-width:220px;color:var(--ink);box-shadow:0 0 24px color-mix(in srgb, var(--sector-color,var(--cyan)) 22%, transparent);cursor:pointer;animation:prompt-in .32s var(--ease) both;background:#03080ae6;align-items:center;gap:14px;padding:11px 16px 11px 11px;display:flex;position:fixed;bottom:clamp(105px,16vh,150px);right:50%;transform:translate(50%)}@keyframes prompt-in{0%{opacity:0;transform:translate(50%,12px)}}.interaction-key{border:1px solid var(--line-strong);min-width:62px;min-height:42px;color:var(--sector-color,var(--cyan));letter-spacing:.11em;place-items:center;font-size:.63rem;font-weight:700;display:grid}.interaction>span:last-child{text-align:left;gap:4px;display:grid}.interaction small{color:var(--muted);letter-spacing:.16em;font-size:.5rem}.interaction strong{letter-spacing:.16em;font-size:.72rem}.controls-hint{z-index:20;color:var(--muted);letter-spacing:.12em;white-space:nowrap;gap:18px;font-size:.52rem;display:flex;position:fixed;bottom:42px;left:50%;transform:translate(-50%)}.controls-hint kbd{color:var(--ink);font:inherit;margin-right:5px}.touch-controls{display:none}.boot{z-index:500;transition:opacity .8s var(--ease), visibility .8s var(--ease);background:linear-gradient(90deg,#03080afa 0 48%,#03080ad1 72%,#03080af2),radial-gradient(circle at 78% 52%,#58ddf71f,#0000 28%),#030709;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.boot:before,.boot:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.boot:before{aspect-ratio:1;border:1px solid #58ddf72e;width:min(48vw,680px);animation:18s linear infinite boot-orbit;top:50%;right:10vw;transform:translateY(-50%);box-shadow:0 0 0 42px #58ddf706,0 0 0 86px #ef2d9a06,inset 0 0 120px #58ddf70d}.boot:after{aspect-ratio:1;border:1px dashed #e0b24a42;width:min(26vw,360px);animation:13s linear infinite boot-orbit-reverse;top:50%;right:calc(10vw + min(11vw,160px));transform:translateY(-50%)rotate(18deg)}@keyframes boot-orbit{to{transform:translateY(-50%)rotate(360deg)}}@keyframes boot-orbit-reverse{to{transform:translateY(-50%)rotate(-342deg)}}.boot-grid{opacity:.15;background-image:linear-gradient(#58ddf72b 1px,#0000 1px),linear-gradient(90deg,#58ddf72b 1px,#0000 1px);background-size:90px 90px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 92%);mask-image:linear-gradient(90deg,#000,#0000 92%)}.boot.is-leaving{visibility:hidden;opacity:0}.boot-copy{z-index:2;width:min(1240px,90vw);padding-right:44%;position:relative}.boot-code,.boot-kicker{letter-spacing:.31em;font-size:.57rem;font-weight:700}.boot-code{color:var(--amber);display:block}.boot-logo{display:none}.boot-kicker{color:var(--cyan);margin:clamp(32px,5vh,60px) 0 16px}.boot h1{max-width:780px;font-family:var(--sans);letter-spacing:-.065em;text-transform:uppercase;margin:0;font-size:clamp(3rem,6.4vw,6.9rem);font-weight:800;line-height:.89}.boot h1 em{color:#0000;-webkit-text-stroke:1px var(--ink);text-shadow:5px 5px #ef2d9a4d;font-style:normal}.boot-description{color:#a6b0b4;max-width:590px;font-family:var(--sans);margin:28px 0 0;font-size:clamp(.9rem,1.3vw,1.08rem);line-height:1.7}.asset-status{color:var(--amber);letter-spacing:.14em;align-items:center;gap:10px;margin-top:18px;font-size:.53rem;font-weight:700;display:inline-flex}.asset-status i{background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite alternate asset-pulse;box-shadow:0 0 14px}.asset-status.is-ready{color:var(--cyan)}.asset-status.has-failures{color:var(--danger)}@keyframes asset-pulse{to{opacity:.35;transform:scale(.72)}}.boot-actions{align-items:stretch;gap:12px;margin-top:34px;display:flex}.launch,.directory-link{border:1px solid var(--line-strong);cursor:pointer;min-height:56px;transition:transform .18s,border-color .18s,background .18s}.launch{border-color:var(--cyan);color:#031012;background:var(--cyan);letter-spacing:.16em;justify-content:space-between;align-items:center;min-width:min(330px,58vw);padding:0 10px 0 21px;font-size:.67rem;font-weight:800;display:flex}.launch b{border:1px solid #02080a57;place-items:center;width:38px;height:38px;font-size:1.15rem;display:grid}.directory-link{color:var(--ink);letter-spacing:.16em;background:#ffffff06;padding:0 21px;font-size:.6rem}.launch:hover,.launch:focus-visible,.directory-link:hover,.directory-link:focus-visible{border-color:var(--magenta);outline:none;transform:translateY(-2px)}.launch:hover,.launch:focus-visible{background:#82edff}.directory-link:hover,.directory-link:focus-visible{background:#ef2d9a14}.boot-controls{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);max-width:690px;margin:clamp(36px,7vh,76px) 0 0;padding:0;list-style:none;display:grid}.boot-controls li{gap:7px;padding:16px 14px 0 0;display:grid}.boot-controls b{color:var(--ink);letter-spacing:.14em;font-size:.66rem}.boot-controls span{color:var(--muted);letter-spacing:.08em;font-size:.53rem}.boot-aside{z-index:3;color:var(--muted);letter-spacing:.22em;writing-mode:vertical-rl;flex-direction:column;align-items:center;gap:16px;font-size:.49rem;display:flex;position:absolute;top:28px;bottom:28px;right:28px}.boot-aside i{background:var(--line);flex:1;width:1px}.directory-panel,.credits-panel,.sector-panel{z-index:650;border:1px solid var(--line-strong);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform .52s var(--ease), opacity .36s ease, visibility .52s;position:fixed;overflow-y:auto;box-shadow:0 0 70px #000000b8}.directory-panel,.credits-panel{visibility:hidden;opacity:0;width:min(760px,100vw - 28px);padding:clamp(24px,4vw,52px);top:14px;bottom:14px;right:14px;transform:translate(calc(100% + 24px))}.directory-panel.is-open,.credits-panel.is-open{visibility:visible;opacity:1;transform:translate(0)}.credits-panel{width:min(700px,100vw - 28px)}.credits-list{border-top:1px solid var(--line);border-left:1px solid var(--line);gap:0;display:grid}.credit-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel-solid);grid-template-columns:minmax(140px,.75fr) minmax(0,1.4fr) auto;align-items:center;gap:18px;padding:18px;display:grid}.credit-card>span{gap:5px;display:grid}.credit-card strong{color:var(--ink);font-family:var(--sans);font-size:.84rem}.credit-card small,.credit-card p,.credits-note{color:var(--muted)}.credit-card small{letter-spacing:.12em;text-transform:uppercase;font-size:.5rem}.credit-card p{font-family:var(--sans);margin:0;font-size:.78rem;line-height:1.45}.credit-card a{color:var(--cyan);letter-spacing:.12em;white-space:nowrap;border:1px solid #58ddf761;padding:9px 11px;font-size:.5rem;text-decoration:none}.credit-card a:hover,.credit-card a:focus-visible{border-color:var(--cyan);color:var(--ink);background:#58ddf714;outline:none}.credits-note{font-family:var(--sans);margin:24px 0 0;font-size:.74rem;line-height:1.6}.sector-panel{visibility:hidden;opacity:0;width:min(620px,100vw - 28px);max-height:calc(100vh - 28px);padding:clamp(26px,4vw,48px);bottom:clamp(14px,3vw,42px);right:clamp(14px,3vw,42px);transform:translateY(38px)scale(.97)}.sector-panel.is-open{visibility:visible;opacity:1;transform:translateY(0)scale(1)}.sector-color{background:var(--sector-color,var(--cyan));width:100%;height:3px;box-shadow:0 0 18px var(--sector-color,var(--cyan));position:absolute;top:0;left:0}.panel-head{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.panel-head>div{gap:12px;display:grid}.panel-head h2{font-family:var(--sans);letter-spacing:-.055em;text-transform:uppercase;margin:0;font-size:clamp(2rem,5vw,4.4rem);line-height:.95}.close-button{width:44px;height:44px;color:var(--muted);flex:none;place-items:center;font-size:1.5rem;display:grid}.panel-lead,.sector-description{color:#9da8ac;max-width:62ch;font-family:var(--sans);line-height:1.7}.panel-lead{margin:24px 0 36px;font-size:.92rem}.panel-lead a{color:var(--cyan)}.sector-description{margin:24px 0 30px;font-size:.95rem}.directory-sectors{gap:32px;display:grid}.directory-sector{--sector-color:var(--cyan);border-top:1px solid var(--line)}.directory-sector-head{grid-template-columns:62px 1fr auto;align-items:center;gap:18px;padding:20px 0 16px;display:grid}.directory-sector-head>b{color:var(--sector-color);letter-spacing:.2em;font-size:.76rem}.directory-sector-head>span{gap:3px;display:grid}.directory-sector-head strong{font-family:var(--sans);letter-spacing:-.02em;text-transform:uppercase;font-size:1.2rem}.directory-sector-head small{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.52rem}.teleport-button{border:1px solid color-mix(in srgb, var(--sector-color) 48%, transparent);color:var(--sector-color);letter-spacing:.14em;cursor:pointer;background:0 0;padding:9px 12px;font-size:.53rem}.teleport-button:hover,.teleport-button:focus-visible{border-color:var(--sector-color);background:color-mix(in srgb, var(--sector-color) 10%, transparent);outline:none}.directory-projects{border-top:1px solid var(--line);border-left:1px solid var(--line);background:0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.directory-projects a,.project-link{color:var(--ink);background:var(--panel-solid);border-right:1px solid var(--line);border-bottom:1px solid var(--line);gap:5px;padding:15px 16px;text-decoration:none;transition:background .18s,color .18s;display:grid}.directory-projects a strong,.project-link strong{font-family:var(--sans);font-size:.78rem}.directory-projects a span,.project-link span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.51rem}.directory-projects a:hover,.directory-projects a:focus-visible,.project-link:hover,.project-link:focus-visible{color:var(--sector-color,var(--cyan));background:#ffffff0d;outline:none}.project-list{border-top:1px solid var(--line);border-left:1px solid var(--line);background:0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.project-link{align-content:center;min-height:86px;padding-right:42px;position:relative}.project-link:after{content:"↗";color:var(--sector-color,var(--cyan));position:absolute;top:50%;right:16px;transform:translateY(-50%)}.sector-foot{color:var(--muted);letter-spacing:.14em;justify-content:space-between;align-items:center;gap:18px;margin-top:22px;font-size:.48rem;display:flex}.sector-foot button{color:var(--sector-color,var(--cyan));letter-spacing:.14em;cursor:pointer;background:0 0;border:0;font-size:.54rem}.sector-foot button:hover,.sector-foot button:focus-visible{color:var(--ink);outline:none}.webgl-fallback{z-index:450;background:radial-gradient(circle at 80% 20%,#ef2d9a24,#0000 28%),#04080a;align-content:center;justify-items:start;padding:clamp(28px,8vw,120px);display:grid;position:fixed;inset:0}.webgl-fallback h1{max-width:750px;font-family:var(--sans);letter-spacing:-.05em;margin:20px 0 12px;font-size:clamp(2.2rem,7vw,6rem);line-height:.95}.webgl-fallback p{color:var(--muted);font-family:var(--sans)}.webgl-fallback button{border:1px solid var(--cyan);color:var(--cyan);cursor:pointer;background:0 0;margin-top:24px;padding:15px 20px}.toast{z-index:420;border:1px solid var(--line-strong);max-width:calc(100vw - 32px);color:var(--ink);letter-spacing:.12em;opacity:0;pointer-events:none;transition:opacity .24s ease, transform .32s var(--ease);background:#03080ae6;padding:12px 17px;font-size:.58rem;position:fixed;top:108px;left:50%;transform:translate(-50%,-10px)}.toast.is-visible{opacity:1;transform:translate(-50%)}.noscript{background:#04080a;place-content:center;justify-items:start;min-height:100vh;padding:8vw;display:grid}.noscript img{width:180px}.noscript h1{max-width:760px;font-family:var(--sans);font-size:clamp(2rem,6vw,5rem)}.noscript a{border:1px solid var(--cyan);color:var(--cyan);padding:14px 18px}@media (max-width:980px){.topbar{min-height:78px;padding-block:14px}.brand img{width:58px;height:38px}.brand small,#quality-toggle{display:none}.mission{top:98px}.coordinates,.controls-hint{display:none!important}.telemetry{grid-template-columns:repeat(2,auto)}.boot-copy{padding-right:34%}.boot h1{font-size:clamp(3rem,7.6vw,5.8rem)}}@media (hover:none),(pointer:coarse){.touch-controls{z-index:40;right:18px;bottom:max(20px, env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:fixed;left:18px}.touch-steer,.touch-drive{pointer-events:auto;align-items:flex-end;gap:8px;display:flex}.touch-drive{grid-template-rows:42px 58px;grid-template-columns:repeat(2,58px);display:grid}.touch-drive .boost{width:124px;height:42px;color:var(--magenta);letter-spacing:.12em;border-color:#ef2d9a7a;grid-column:1/3;font-size:.52rem}.touch-controls button{width:58px;height:58px;color:var(--cyan);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);touch-action:none;-webkit-user-select:none;user-select:none;background:#03090c9e;border:1px solid #58ddf76b;border-radius:2px;place-items:center;font-size:.95rem;display:grid;box-shadow:inset 0 0 18px #58ddf70f}.touch-controls button.is-active{color:#041013;background:var(--cyan)}.radar-shell{bottom:156px}.telemetry{bottom:176px}}@media (max-width:700px){.topbar{min-height:70px;padding:11px 14px}.brand{gap:8px}.brand img{width:52px;height:34px}.brand b{font-size:.62rem}#sound-toggle{display:none}.ui-button{min-height:38px;padding:0 10px}.mission{max-width:270px;top:88px;left:14px}.mission>span:last-child{display:none}.radar-shell{width:112px;left:14px}#radar{width:112px;height:112px}.radar-title{font-size:.45rem}.telemetry{grid-template-columns:1fr;gap:10px;right:14px}.telemetry>div:nth-child(2){display:none}.interaction{min-width:205px;bottom:164px}.boot{background:radial-gradient(circle at 80% 18%,#58ddf71c,#0000 30%),#030709;align-items:start;overflow-y:auto}.boot:before{width:88vw;animation:none;top:12vh;right:-20vw;transform:none}.boot:after{display:none}.boot-copy{width:100%;min-height:100%;padding:max(30px, env(safe-area-inset-top)) 22px max(28px, env(safe-area-inset-bottom))}.boot-code{font-size:.47rem;line-height:1.8}.boot-logo{object-fit:contain;filter:drop-shadow(0 0 20px #ef2d9a40);width:132px;height:88px;margin:3vh 0 1vh;display:block}.boot-kicker{margin:3vh 0 12px;font-size:.48rem}.boot h1{font-size:clamp(2.7rem,14vw,4.5rem)}.boot-description{margin-top:20px;font-size:.86rem}.boot-actions{margin-top:24px;display:grid}.launch{width:100%;min-width:0}.directory-link{width:100%}.boot-controls{grid-template-columns:repeat(2,1fr);margin-top:28px}.boot-aside{display:none}.directory-panel,.credits-panel{width:auto;padding:24px 18px max(26px, env(safe-area-inset-bottom));inset:8px}.credit-card{grid-template-columns:1fr;gap:11px}.credit-card a{justify-self:start}.sector-panel{width:auto;max-height:calc(100vh - 16px);padding:26px 18px max(24px, env(safe-area-inset-bottom));bottom:8px;left:8px;right:8px}.panel-head h2{font-size:clamp(2rem,11vw,3.5rem)}.panel-lead,.sector-description{font-size:.82rem}.directory-sector-head{grid-template-columns:42px 1fr;gap:10px}.directory-sector-head .teleport-button{grid-column:2;justify-self:start}.directory-projects,.project-list{grid-template-columns:1fr}.sector-foot{flex-direction:column;align-items:flex-start}}@media (max-height:700px) and (min-width:701px){.boot h1{font-size:clamp(2.8rem,7.8vh,5rem)}.boot-kicker{margin-top:22px}.boot-description{margin-top:18px}.boot-actions{margin-top:22px}.boot-controls{margin-top:28px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.scanlines,.grain{display:none}}
