:root{--void: #07080b;--void-2: #0d0f14;--void-3: #151920;--bone: #e8e4d9;--bone-dim: #9a9689;--zinc: #575d66;--zinc-dim: #2b3038;--oxide: #c6462a;--oxide-bright: #e85c3d;--amber: #e8a33d;--phosphor: #4ee39b;--font-display: "Archivo", system-ui, sans-serif;--font-body: "Archivo", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--font-crt: "VT323", "JetBrains Mono", monospace;--rail-w: 4px;--gutter: clamp(20px, 4vw, 64px);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--void);color:var(--bone);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior:none}body[data-scroll=off]{overflow:hidden}#root{min-height:100vh}canvas{display:block;touch-action:none}::selection{background:var(--oxide);color:var(--bone)}.stage-canvas{position:fixed;inset:0;z-index:0}.overlay{position:fixed;inset:0;z-index:10;pointer-events:none}.curtain{position:fixed;inset:0;z-index:20;background:var(--void);pointer-events:none}.overlay button,.overlay a,.overlay [data-interactive]{pointer-events:auto}.scroll-track{position:relative;z-index:1;width:100%;height:2300vh;pointer-events:none}.rail{position:fixed;top:0;left:0;bottom:0;width:var(--rail-w);z-index:30;background:var(--zinc-dim);pointer-events:none}.rail__fill{position:absolute;top:0;left:0;right:0;background:var(--amber);transition:height .7s var(--ease-out),background .4s linear}.rail[data-alarm=true] .rail__fill{background:var(--oxide-bright);animation:rail-pulse .55s steps(2,end) infinite}@keyframes rail-pulse{0%,to{opacity:1}50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.rail[data-alarm=true] .rail__fill{animation:none}}.eyebrow{font-family:var(--font-mono);font-size:clamp(9px,1vw,11px);font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--bone-dim);margin:0}.eyebrow--oxide{color:var(--oxide-bright)}.hairline{height:1px;background:var(--zinc-dim);border:0;margin:0}.action{position:relative;display:inline-flex;align-items:center;gap:14px;padding:17px 30px 17px 26px;font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--bone);background:transparent;border:1px solid var(--oxide);border-radius:0;cursor:pointer;overflow:hidden;transition:color .35s var(--ease-out),border-color .35s var(--ease-out)}.action:before{content:"";position:absolute;inset:0;background:var(--oxide);transform:scaleX(0);transform-origin:left center;transition:transform .42s var(--ease-out);z-index:-1}.action:hover:before,.action:focus-visible:before{transform:scaleX(1)}.action:hover,.action:focus-visible{color:var(--void);border-color:var(--oxide)}.action:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.action__dot{width:7px;height:7px;background:var(--oxide);flex:none;transition:background .35s var(--ease-out)}.action:hover .action__dot,.action:focus-visible .action__dot{background:var(--void)}.action--alarm{border-color:var(--oxide-bright);animation:action-breathe 1.8s ease-in-out infinite}@keyframes action-breathe{0%,to{box-shadow:0 0 #e85c3d59}50%{box-shadow:0 0 0 12px #e85c3d00}}.hero{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:0 var(--gutter) clamp(28px,6vh,64px);padding-left:calc(var(--rail-w) + var(--gutter));transition:opacity .5s var(--ease-in-out),filter .5s var(--ease-in-out)}.hero[data-dismissed=true]{opacity:0;filter:blur(14px);pointer-events:none;visibility:hidden;transition:opacity .5s var(--ease-in-out),filter .5s var(--ease-in-out),visibility 0s linear .5s}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.hero__cta{display:flex;flex-direction:column;align-items:center;gap:14px}.channels{position:absolute;right:var(--gutter);bottom:clamp(28px,6vh,64px);display:flex;flex-direction:column;align-items:flex-end;gap:9px}.channels__link{display:inline-flex;align-items:baseline;gap:10px;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:var(--bone-dim);border-bottom:1px solid transparent;padding-bottom:3px;transition:color .25s var(--ease-out),border-color .25s var(--ease-out)}.channels__idx{font-size:9px;letter-spacing:.12em;color:var(--zinc);transition:color .25s var(--ease-out)}.channels__link:hover,.channels__link:focus-visible{color:var(--bone);border-bottom-color:var(--oxide)}.channels__link:hover .channels__idx,.channels__link:focus-visible .channels__idx{color:var(--oxide-bright)}.channels__link:focus-visible{outline:2px solid var(--amber);outline-offset:4px}.sendoff{position:absolute;left:var(--rail-w);right:0;bottom:clamp(12px,2.4vh,26px);display:flex;flex-direction:column;align-items:center;text-align:center;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .6s var(--ease-out),visibility 0s linear .6s}.sendoff[data-shown=true]{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .6s var(--ease-out),visibility 0s}.sendoff__links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px clamp(16px,4vw,42px)}.sendoff__link{display:inline-flex;align-items:baseline;gap:9px;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.14em;text-decoration:none;color:var(--bone);border-bottom:1px solid var(--zinc-dim);padding-bottom:4px;transition:color .25s var(--ease-out),border-color .25s var(--ease-out)}.sendoff__label{font-size:9px;letter-spacing:.22em;color:var(--zinc);transition:color .25s var(--ease-out)}.sendoff__link:hover,.sendoff__link:focus-visible{color:var(--amber);border-bottom-color:var(--amber)}.sendoff__link:hover .sendoff__label,.sendoff__link:focus-visible .sendoff__label{color:var(--amber)}.prompt{position:absolute;left:50%;transform:translate(-50%);bottom:clamp(40px,9vh,96px);display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;animation:prompt-in .7s var(--ease-out) both}@keyframes prompt-in{0%{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%)}}.prompt__caption{font-family:var(--font-mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--bone-dim);margin:0}.scroll-cue{display:flex;flex-direction:column;align-items:center;gap:10px}.scroll-cue__line{width:1px;height:46px;background:linear-gradient(180deg,transparent,var(--zinc));position:relative;overflow:hidden}.scroll-cue__line:after{content:"";position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--amber);animation:cue-fall 1.9s var(--ease-in-out) infinite}@keyframes cue-fall{0%{transform:translateY(0);opacity:0}30%{opacity:1}to{transform:translateY(300%);opacity:0}}.breach-tag{position:absolute;top:clamp(20px,5vh,46px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:14px;padding:10px 20px;border:1px solid var(--oxide);background:#c6462a14;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.32em;color:var(--oxide-bright);text-transform:uppercase;animation:breach-flash .8s steps(2,end) infinite}@keyframes breach-flash{0%,to{opacity:1}50%{opacity:.35}}.crack{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;pointer-events:none}.crack__word{font-family:var(--font-display);font-weight:900;font-size:clamp(3rem,11vw,8rem);line-height:.84;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:2px var(--oxide-bright);paint-order:stroke fill;animation:crack-throw 1.9s cubic-bezier(.16,1,.3,1) both}@keyframes crack-throw{0%{opacity:0;transform:translateY(26px) scale(.82) rotate(-4deg)}14%{opacity:1;transform:translateY(0) scale(1.06) rotate(-2deg)}30%{transform:translateY(-6px) scale(1) rotate(-2deg)}to{opacity:0;transform:translateY(-120px) scale(1.14) rotate(-3deg)}}.detail{position:absolute;inset:0;display:grid;place-items:center;padding:var(--gutter);padding-left:calc(var(--rail-w) + var(--gutter));background:#07080bd1;backdrop-filter:blur(10px);pointer-events:auto;animation:detail-in .35s var(--ease-out) both}@keyframes detail-in{0%{opacity:0}to{opacity:1}}.detail__card{position:relative;width:min(620px,100%);padding:clamp(26px,4vw,44px);background:var(--void-2);border:1px solid var(--zinc-dim);border-top:2px solid var(--oxide)}.detail__code{font-family:var(--font-mono);font-size:10px;letter-spacing:.3em;color:var(--oxide-bright);margin:0 0 14px}.detail__title{margin:0;font-family:var(--font-display);font-weight:900;font-size:clamp(2rem,5vw,3.4rem);line-height:.92;letter-spacing:-.03em;text-transform:uppercase}.detail__tag{display:inline-block;margin-top:14px;padding:5px 11px;border:1px solid var(--zinc-dim);font-family:var(--font-mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--bone-dim)}.detail__blurb{margin:22px 0 0;font-size:15px;line-height:1.68;color:var(--bone-dim)}.detail__close{position:absolute;top:14px;right:14px;width:34px;height:34px;display:grid;place-items:center;background:transparent;border:1px solid var(--zinc-dim);color:var(--bone-dim);font-family:var(--font-mono);font-size:13px;cursor:pointer;transition:color .25s,border-color .25s}.detail__close:hover,.detail__close:focus-visible{color:var(--oxide-bright);border-color:var(--oxide)}.boot{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--void);transition:opacity .7s var(--ease-in-out),visibility .7s}.boot[data-done=true]{opacity:0;visibility:hidden}.boot__crt{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0px,rgba(255,255,255,.035) 1px,transparent 1px,transparent 3px);animation:boot-flicker 2.6s steps(24,end) infinite}@keyframes boot-flicker{0%,96%,to{opacity:1}97%{opacity:.72}98%{opacity:1}99%{opacity:.85}}.boot__inner{width:min(520px,78vw);font-family:var(--font-mono)}.boot__log{list-style:none;margin:0 0 26px;padding:0;min-height:148px}.boot__log li{display:flex;align-items:baseline;gap:8px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-dim);line-height:1.9;animation:boot-line .25s steps(6,end) both}.boot__log li:first-child{color:var(--bone)}.boot__log i{flex:1;border-bottom:1px dotted var(--zinc-dim);transform:translateY(-3px)}.boot__log li span:last-child{color:var(--amber)}@keyframes boot-line{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}.boot__bar{height:3px;background:var(--zinc-dim);overflow:hidden}.boot__fill{height:100%;background:var(--oxide);transition:width .3s var(--ease-out)}.boot__status{margin:14px 0 0;font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--bone-dim)}.boot__caret{display:inline-block;width:7px;height:11px;margin-left:8px;background:var(--oxide-bright);transform:translateY(1px);animation:boot-caret 1s steps(2,end) infinite}@keyframes boot-caret{0%,to{opacity:1}50%{opacity:0}}@media(max-width:860px){.sendoff{left:calc(var(--rail-w) + 10px);right:10px}.sendoff__links{flex-direction:column;align-items:stretch;gap:8px;width:100%}.sendoff__link{justify-content:space-between;gap:12px;overflow-wrap:anywhere;padding-bottom:7px}.channels{top:clamp(14px,4vh,26px);right:var(--gutter);left:calc(var(--rail-w) + 12px);bottom:auto;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:6px 18px}}@media(max-aspect-ratio:85/100){.stage-canvas canvas{touch-action:pan-y}}.look-hint{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);left:calc(var(--rail-w) + 12px);right:12px;display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--bone-dim);pointer-events:none;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out),visibility 0s linear .5s}.look-hint[data-shown=true]{opacity:1;transform:translateY(0);visibility:visible;transition:opacity .6s var(--ease-out) .9s,transform .6s var(--ease-out) .9s,visibility 0s}.look-hint__arrows{font-size:15px;letter-spacing:.5em;color:var(--amber);animation:look-sway 2.6s var(--ease-in-out) infinite}@keyframes look-sway{0%,to{transform:translate(-3px)}50%{transform:translate(3px)}}@media(prefers-reduced-motion:reduce){.look-hint__arrows{animation:none}}
