:root{color-scheme:dark;font-family:SFMono-Regular,Roboto Mono,Menlo,Monaco,Consolas,monospace;font-synthesis:none;--black: #000;--paper: #e8eadf;--green: #62ff72;--green-dim: #17491f;--green-faint: rgba(98, 255, 114, .11);--cyan: #53d7e8;--amber: #ffb84d;--red: #ff4f4f;--dim: #7d8980;background:var(--black);color:var(--paper)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;background:var(--black)}body,button,dialog{font-family:inherit}button{color:inherit}[hidden]{display:none!important}.experience{position:relative;width:100vw;height:100dvh;min-height:560px;overflow:hidden;background:#000;isolation:isolate}.world-stage,.world-canvas,.station-label-layer,.hologram-layer{position:absolute;inset:0;width:100%;height:100%}.world-stage{z-index:1;overflow:hidden}.world-canvas{display:block}.world-vignette{position:absolute;z-index:3;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.54),transparent 18%,transparent 76%,rgba(0,0,0,.78)),radial-gradient(circle at 50% 47%,transparent 42%,rgba(0,0,0,.3) 76%,rgba(0,0,0,.74) 100%)}.noise{position:absolute;z-index:4;inset:0;pointer-events:none;opacity:.026;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.62'/%3E%3C/svg%3E")}.scan-line{position:absolute;z-index:5;top:-1px;right:0;left:0;height:1px;pointer-events:none;background:#62ff722e;animation:scan 9s linear infinite}@keyframes scan{0%{transform:translateY(0);opacity:0}7%{opacity:.75}92%{opacity:.16}to{transform:translateY(100vh);opacity:0}}.topbar{position:absolute;z-index:30;top:0;right:0;left:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:64px;padding:8px clamp(22px,2.8vw,48px);border-bottom:1px solid rgba(98,255,114,.1);background:linear-gradient(180deg,#000000e0,#0000);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.brand,.location{color:#738078}.brand strong{color:var(--green)}.location{color:#b7c0b9;text-align:center}.utility-nav{display:flex;justify-content:flex-end;gap:4px}.utility-nav button,.tour-controls button,.universe-button{min-width:44px;min-height:44px;padding:0 12px;color:#718078;background:transparent;border:0;cursor:pointer;font:inherit;font-size:12px;letter-spacing:.06em}.utility-nav button:hover,.utility-nav button:focus-visible,.tour-controls button:hover,.tour-controls button:focus-visible,.universe-button:hover,.universe-button:focus-visible{color:var(--paper);outline:1px solid var(--green-dim);outline-offset:-1px}.micro-copy{margin:0 0 11px;color:var(--green);font-size:13px;font-weight:700;letter-spacing:.1em;line-height:1.3}.prelude-panel{position:absolute;z-index:60;inset:0;display:grid;place-items:center;padding:clamp(28px,6vw,92px);color:var(--paper);background:#000}.prelude-shell{width:min(1040px,100%)}.prelude-shell>p{margin:0 0 30px;color:#657169;font-size:11px;letter-spacing:.14em}.prelude-flow{display:grid;grid-template-columns:max-content auto max-content auto max-content;gap:clamp(16px,2.6vw,42px);align-items:center}.prelude-flow code{padding:0 0 14px;color:#d7ddd8;border-bottom:1px solid #243229;font:inherit;font-size:clamp(17px,2vw,27px);letter-spacing:-.025em;opacity:0;animation:prelude-step .32s ease-out forwards}.prelude-flow code:nth-of-type(2){animation-delay:.16s}.prelude-flow code:nth-of-type(3){animation-delay:.32s}.prelude-flow>span{color:#344038;font-size:19px;opacity:0;animation:prelude-step .24s ease-out .11s forwards}.prelude-flow>span:nth-of-type(2){animation-delay:.27s}@keyframes prelude-step{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.prelude-button{min-height:46px;margin-top:42px;padding:0 16px;color:#6d7971;background:transparent;border:1px solid #26352c;cursor:pointer;font:inherit;font-size:11px;letter-spacing:.12em;opacity:0;animation:prelude-step .32s ease-out .52s forwards}.prelude-button:hover,.prelude-button:focus-visible{color:#000;background:var(--green);border-color:var(--green);outline:0}.experience[data-state=prologue] .world-stage{animation:world-awaken .9s ease-out both}@keyframes world-awaken{0%{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}.prologue-panel{position:absolute;z-index:12;left:clamp(28px,4.8vw,82px);bottom:clamp(42px,8vh,94px);width:min(410px,35vw);padding:18px 62px 20px 0;background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.46) 72%,transparent);animation:reveal-panel .9s cubic-bezier(.18,.78,.16,1) both}@keyframes reveal-panel{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.prologue-panel h1{max-width:12ch;margin:0 0 24px;color:var(--paper);font-size:clamp(31px,3.6vw,56px);font-weight:560;letter-spacing:-.055em;line-height:.98;text-wrap:balance}.enter-button,.route-button{min-height:48px;color:var(--green);background:#020603;border:1px solid var(--green);cursor:pointer;font-size:14px;font-weight:760;letter-spacing:.08em}.enter-button{display:inline-flex;gap:34px;align-items:center;padding:0 16px}.enter-button span{font-size:20px;transition:transform .2s ease}.enter-button:hover span,.enter-button:focus-visible span{transform:translate(5px)}.enter-button:hover,.enter-button:focus-visible,.route-button:hover,.route-button:focus-visible{color:#000;background:var(--green);outline:0}.hub-panel{position:absolute;z-index:15;top:92px;left:clamp(24px,3vw,52px);width:250px;padding:16px 48px 18px 0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.42) 72%,transparent);animation:reveal-panel .52s ease-out both}.hub-panel h2{margin:0 0 19px;color:var(--paper);font-size:clamp(24px,2.2vw,34px);font-weight:560;letter-spacing:-.045em;line-height:1}.route-button{display:grid;gap:3px;width:190px;padding:9px 12px;text-align:left}.route-button small{color:currentColor;font-size:11px;font-weight:500;opacity:.62}.route-progress{margin-top:13px;color:#657169;font-size:11px;letter-spacing:.08em}.route-progress span{color:var(--green)}.station-label-layer{z-index:10;pointer-events:none;opacity:0;transition:opacity .28s linear}.station-label-layer.is-visible{opacity:1}.station-label{position:absolute;top:0;left:0;display:grid;grid-template-columns:28px minmax(104px,1fr);gap:9px;align-items:center;min-width:150px;min-height:52px;padding:6px 10px 6px 8px;pointer-events:auto;color:var(--topic-color, var(--green));background:#000000db;border:1px solid color-mix(in srgb,var(--topic-color, var(--green)) 38%,transparent);cursor:pointer;text-align:left;transition:color .16s linear,background .16s linear,border-color .16s linear;will-change:transform}.station-label:after{position:absolute;right:-8px;bottom:-8px;width:14px;height:14px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;content:"";opacity:.45}.station-label:hover,.station-label:focus-visible,.station-label.is-hovered{color:#000;background:var(--topic-color, var(--green));border-color:var(--topic-color, var(--green));outline:0}.station-label.is-recommended{box-shadow:0 0 0 1px var(--topic-color, var(--green)),0 0 32px color-mix(in srgb,var(--topic-color, var(--green)) 28%,transparent);animation:recommended 1.8s ease-in-out infinite}@keyframes recommended{50%{box-shadow:0 0 0 1px var(--topic-color, var(--green)),0 0 54px color-mix(in srgb,var(--topic-color, var(--green)) 44%,transparent)}}.station-label.is-visited .station-index:after{margin-left:4px;content:"✓"}.station-index{color:currentColor;font-size:13px;font-weight:720;opacity:.88}.station-copy{display:grid;gap:0}.station-copy strong{font-size:14px;letter-spacing:.035em;line-height:1.05}.hologram-layer{position:absolute;z-index:21;inset:0;pointer-events:none}.hologram-trigger{position:absolute;z-index:3;display:flex;gap:8px;align-items:center;min-width:68px;min-height:68px;padding:16px;pointer-events:auto;color:var(--hologram-color, var(--green));background:transparent;border:0;cursor:crosshair;font:inherit;transform:translate(-50%,-50%)}.hologram-trigger-core{position:relative;display:block;width:26px;height:26px;border:1px solid currentColor;border-radius:50%;box-shadow:0 0 16px color-mix(in srgb,currentColor 52%,transparent)}.hologram-trigger-core:before,.hologram-trigger-core:after{position:absolute;top:50%;left:50%;content:"";transform:translate(-50%,-50%)}.hologram-trigger-core:before{width:6px;height:6px;background:currentColor;box-shadow:0 0 12px currentColor;transform:translate(-50%,-50%) rotate(45deg)}.hologram-trigger-core:after{width:38px;height:38px;border:1px solid color-mix(in srgb,currentColor 34%,transparent);border-radius:50%;animation:hologram-pulse 2.4s ease-out infinite}@keyframes hologram-pulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.58)}28%{opacity:.72}to{opacity:0;transform:translate(-50%,-50%) scale(1.35)}}.hologram-trigger-copy{color:color-mix(in srgb,var(--hologram-color, var(--green)) 68%,#87918a);font-size:9px;letter-spacing:.13em;opacity:.72;transition:opacity .16s linear,transform .16s ease}.hologram-trigger:hover,.hologram-trigger:focus-visible,.hologram-trigger.is-open{outline:0}.hologram-trigger:hover .hologram-trigger-copy,.hologram-trigger:focus-visible .hologram-trigger-copy,.hologram-trigger.is-open .hologram-trigger-copy{color:var(--paper);opacity:1;transform:translate(3px)}.hologram-trigger.is-open .hologram-trigger-core{color:#000;background:var(--hologram-color, var(--green));box-shadow:0 0 28px color-mix(in srgb,var(--hologram-color, var(--green)) 72%,transparent)}.hologram-beam{position:absolute;z-index:1;height:1px;pointer-events:none;background:linear-gradient(90deg,var(--hologram-color, var(--green)),color-mix(in srgb,var(--hologram-color, var(--green)) 38%,transparent));box-shadow:0 0 10px color-mix(in srgb,var(--hologram-color, var(--green)) 55%,transparent);opacity:0;transform-origin:left center;transition:opacity .14s linear}.hologram-beam.is-open{opacity:.72}.hologram-panel{position:absolute;z-index:2;width:min(470px,40vw);min-width:350px;max-height:calc(100dvh - 176px);padding:17px 19px 15px;overflow:hidden;pointer-events:none;color:var(--paper);background:linear-gradient(180deg,color-mix(in srgb,var(--hologram-color, var(--green)) 8%,transparent),transparent 32%),#000804f0;border:1px solid color-mix(in srgb,var(--hologram-color, var(--green)) 68%,transparent);box-shadow:inset 0 0 32px color-mix(in srgb,var(--hologram-color, var(--green)) 7%,transparent),0 0 34px #000000b8,0 0 18px color-mix(in srgb,var(--hologram-color, var(--green)) 13%,transparent);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));opacity:0;visibility:hidden;transform:translateY(8px) scale(.965);transition:opacity .16s linear,transform .22s cubic-bezier(.2,.78,.18,1),visibility 0s linear .22s}.hologram-panel:before{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(180deg,transparent 0,transparent 4px,color-mix(in srgb,var(--hologram-color, var(--green)) 5%,transparent) 5px);content:"";mix-blend-mode:screen}.hologram-panel:after{position:absolute;top:0;right:18px;width:82px;height:1px;background:var(--hologram-color, var(--green));box-shadow:0 0 12px currentColor;content:""}.hologram-panel.is-open{pointer-events:auto;opacity:1;visibility:visible;transform:translateY(0) scale(1);transition-delay:0s}.hologram-panel>header{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;min-height:44px;padding:0 0 11px;border-bottom:1px solid color-mix(in srgb,var(--hologram-color, var(--green)) 24%,transparent)}.hologram-label{display:block;margin-bottom:5px;color:var(--hologram-color, var(--green));font-size:9px;font-weight:700;letter-spacing:.14em}.hologram-panel h3{max-width:39ch;margin:0;color:var(--paper);font-size:14px;font-weight:540;letter-spacing:-.015em;line-height:1.25;overflow-wrap:anywhere}.hologram-panel[data-kind=history]{width:min(520px,44vw)}.hologram-media{position:relative;z-index:1;height:clamp(158px,24vh,198px);margin:13px 0 0;overflow:hidden;background:#020604;border-left:1px solid var(--hologram-color, var(--cyan))}.hologram-media:after{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,8,4,.46),transparent 42%),linear-gradient(0deg,rgba(0,0,0,.72),transparent 48%);content:""}.hologram-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 4%;filter:grayscale(1) contrast(1.14) brightness(.76);opacity:.9}.hologram-media figcaption{position:absolute;z-index:1;right:10px;bottom:8px;left:10px;font-size:8px;letter-spacing:.11em;text-align:right}.hologram-media a{color:#b7c4bb;text-decoration:none}.hologram-media a:hover,.hologram-media a:focus-visible{color:var(--paper);text-decoration:underline;outline:0}.hologram-close{position:relative;z-index:2;flex:0 0 auto;width:32px;height:32px;margin:-5px -7px 0 12px;color:color-mix(in srgb,var(--hologram-color, var(--green)) 72%,#8b958e);background:transparent;border:0;cursor:pointer;font:inherit;font-size:20px}.hologram-close:hover,.hologram-close:focus-visible{color:#000;background:var(--hologram-color, var(--green));outline:0}.hologram-output{position:relative;z-index:1;display:grid;gap:4px;max-height:min(250px,34vh);margin:13px 0 12px;padding:12px 13px;overflow:auto;color:#cfd7d1;background:#000000ad;border-left:1px solid var(--hologram-color, var(--green));font:inherit;font-size:12px;line-height:1.45;white-space:pre-wrap}.hologram-line{display:block;min-height:1.25em}.tone-muted{color:#69766d}.tone-bright{color:#d9dfda}.tone-good{color:var(--green)}.tone-warn{color:var(--amber)}.tone-danger{color:var(--red)}.tone-cyan{color:var(--cyan)}.hologram-panel[data-kind=file] .hologram-output{background:#0a0000c2;border-left-color:var(--red)}.hologram-panel[data-kind=model] .hologram-output{gap:7px;background:#000809b8}.hologram-panel[data-kind=history] .hologram-output{max-height:min(150px,21vh);margin-top:10px;background:#000809c2;border-left-color:var(--cyan)}.hologram-footer{position:relative;z-index:1;margin:0;color:#7d8981;font-size:11px;line-height:1.45}.universe-button{position:absolute;z-index:24;top:80px;left:clamp(22px,2.8vw,48px);display:grid;width:48px;height:48px;padding:0;place-items:center;color:var(--green);background:#000000b8;border:1px solid var(--green-dim)}.universe-button span{font-size:25px;line-height:1}.topic-hud{position:absolute;z-index:18;left:clamp(24px,3.2vw,56px);bottom:104px;width:min(410px,31vw);padding:14px 52px 15px 0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.46) 76%,transparent)}.integration-label-layer{position:absolute;z-index:7;inset:0;overflow:hidden;pointer-events:none}.integration-label-layer>span{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;text-shadow:0 1px 8px #000,0 0 4px #000}.integration-commit-label{color:var(--integration-color);font-size:16px}.integration-commit-label code{margin-left:7px;color:#a5aaa3;font-size:12px}.integration-ref{display:flex;gap:9px;align-items:center;padding:5px 7px;background:#020503e6;font-size:14px}.integration-ref.is-develop{color:var(--cyan);border-top:1px solid #53d7e87a}.integration-ref.is-feature{color:var(--amber);border-bottom:1px solid #ffb84d8c}.integration-ref b,.integration-ref.is-head{color:var(--green);font-size:11px;font-weight:500}.integration-patch-label{color:var(--green);font-size:11px;letter-spacing:.1em}.integration-compare{position:absolute;z-index:20;top:84px;left:50%;display:flex;gap:6px;align-items:center;transform:translate(-50%)}.integration-compare>span{margin-right:9px;color:#7a887d;font-size:10px;letter-spacing:.09em}.integration-compare button{padding:9px 12px;color:#869189;background:#020503e6;border:1px solid #26352c;font-size:12px;letter-spacing:.08em}.integration-compare button[aria-pressed=true]{color:var(--green);border-color:var(--green)}.topic-path{display:flex;gap:9px;align-items:center;color:#79857d;font-size:12px;letter-spacing:.07em}.topic-path>span:first-child{color:var(--green)}.topic-path strong{overflow:hidden;color:#aeb7b0;font-size:inherit;font-weight:520;text-overflow:ellipsis;white-space:nowrap}.topic-path>span:last-child{margin-left:auto;color:#556159}.topic-context{min-height:1.2em;margin:10px 0 6px;color:#536159;font-size:11px;letter-spacing:.055em;line-height:1.3}#topic-callout{max-width:19ch;margin:0;color:var(--paper);font-size:clamp(24px,2.3vw,36px);font-weight:560;letter-spacing:-.045em;line-height:1.02;text-wrap:balance}#topic-callout:focus{outline:none}.command-readout{position:absolute;z-index:22;bottom:30px;left:clamp(24px,3.2vw,56px);display:flex;gap:10px;align-items:center;max-width:52vw;min-height:44px;color:var(--green);font-size:15px;letter-spacing:.01em}.command-readout code{overflow:hidden;color:#d7ddd8;font:inherit;text-overflow:ellipsis;white-space:nowrap}.command-readout small{display:none;margin-left:7px;padding-left:10px;color:#66746a;border-left:1px solid var(--green-dim);font-size:9px;letter-spacing:.12em}.command-readout.has-inspection{cursor:crosshair}.command-readout.has-inspection small{display:inline}.command-readout.has-inspection:hover code,.command-readout.has-inspection:hover small{color:var(--green)}.tour-controls{position:absolute;z-index:24;right:clamp(22px,2.8vw,48px);bottom:26px;display:flex;gap:5px;align-items:center}.tour-controls button{width:50px;min-width:50px;height:50px;padding:0;color:var(--green);background:#000000c2;border:1px solid var(--green-dim);font-size:23px;line-height:1}.tour-controls button:last-child{border-color:var(--green)}.tour-controls button:disabled{color:#315136;cursor:default}.world-fallback{position:absolute;z-index:18;inset:0;display:grid;place-items:center;padding:80px;color:var(--green);background:#000;font-size:15px;letter-spacing:.06em;text-align:center}.fallback-topic-list{display:grid;gap:5px;width:min(320px,70vw);margin-top:18px}.fallback-topic-list button{min-height:44px;color:var(--green);background:#000;border:1px solid var(--green-dim);cursor:pointer;font-size:13px;text-align:left}.visual-summary,.screen-reader-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{width:min(700px,calc(100vw - 48px));max-height:min(760px,calc(100dvh - 72px));padding:0;color:var(--paper);background:#000;border:1px solid var(--green-dim)}dialog::backdrop{background:#000000db}dialog form{padding:clamp(24px,3vw,44px)}dialog header{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding-bottom:12px;color:var(--green);border-bottom:1px solid var(--green-dim);font-size:18px;letter-spacing:.08em}dialog header button{width:44px;height:44px;color:var(--green);background:transparent;border:0;cursor:pointer;font-size:24px}dialog dl,.source-list{margin:20px 0 0;padding:0;list-style:none}dialog dl div,.source-list li{display:grid;grid-template-columns:minmax(150px,.42fr) 1fr;gap:20px;padding:12px 0;border-bottom:1px solid #142016;font-size:14px;line-height:1.45}dialog dt,.source-list a{color:var(--green)}dialog dd{margin:0;color:var(--dim)}.dialog-note{margin:20px 0 0;color:#667169;font-size:13px;line-height:1.5}.source-list li{grid-template-columns:1fr;gap:3px}.source-list a{text-underline-offset:4px}.source-list small{overflow-wrap:anywhere;color:#69746c}@media(max-width:1100px){.topbar{grid-template-columns:1fr auto}.location{display:none}.topic-hud{width:min(390px,42vw)}.station-label{min-width:136px}}@media(max-width:760px){.experience{min-height:480px}.prelude-flow{grid-template-columns:1fr;gap:14px}.prelude-flow>span{display:none}.prologue-panel{width:min(410px,70vw)}.hub-panel{top:76px}.topic-hud{bottom:112px;width:56vw}#topic-callout{font-size:24px}.command-readout{bottom:58px;max-width:calc(100vw - 48px)}.tour-controls{right:18px;bottom:10px}.tour-controls button{width:46px;min-width:46px;height:46px}.station-label{min-width:128px}.hologram-panel{width:min(72vw,430px);min-width:300px}.hologram-panel[data-kind=history]{width:min(82vw,520px)}.hologram-trigger-copy{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.experience[data-reduced-motion=true] *,.experience[data-reduced-motion=true] *:before,.experience[data-reduced-motion=true] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
