#app{position:fixed;inset:0;z-index:0}#app canvas{display:block;width:100%;height:100%}.scroll-spacer{height:2120vh}#hud{position:fixed;inset:0;z-index:10;pointer-events:none;font-family:var(--mono)}#hud.is-hidden{display:none}.hud-noise,.hud-scanlines,.hud-vignette{position:absolute;inset:0;z-index:2;pointer-events:none}.hud-noise{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px;opacity:.04;mix-blend-mode:overlay}.hud-scanlines{background:repeating-linear-gradient(to bottom,transparent 0 2px,#000 2px 3px);opacity:.04}.hud-vignette{background:radial-gradient(ellipse 130% 110% at 50% 42%,transparent 55%,rgba(0,0,0,.5) 100%);transition:opacity .9s ease}#hud[data-act=mindspace] .hud-vignette,#hud[data-act=signal] .hud-vignette{opacity:.4}#hud[data-act=memories] .hud-vignette{opacity:.55}html,body{overscroll-behavior-y:none}html.p3d-loading{overflow:hidden}html.p3d-loading .hud-panel,html.p3d-loading .hud-top,html.p3d-loading .hud-dial,html.p3d-loading .hud-modes,html.p3d-loading .hud-ticker,html.p3d-loading .hud-brackets,html.p3d-loading .hud-music{opacity:0!important;pointer-events:none!important}.hud-loader{position:absolute;inset:0;z-index:1;background:var(--void);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;transition:opacity .9s ease}.hud-loader.is-done{opacity:0}.ld-brand{font-family:var(--wordmark);font-weight:700;font-size:clamp(22px,4vw,34px);letter-spacing:.42em;text-indent:.42em;color:var(--amber);animation:ldbreathe 3.2s ease-in-out infinite}@keyframes ldbreathe{0%,to{opacity:.55;text-shadow:0 0 6px rgba(255,140,10,.2)}50%{opacity:1;text-shadow:0 0 24px rgba(255,140,10,.7)}}.ld-rune{color:var(--amber);font-size:13px;animation:runepulse 2.4s ease-in-out infinite}.ld-line{font-size:10px;font-weight:500;letter-spacing:.5em;text-indent:.5em;color:var(--text-dim)}.ld-sub{font-size:8.5px;font-weight:500;letter-spacing:.4em;text-indent:.4em;color:var(--amber-dim);animation:ldbreathe 3.2s ease-in-out infinite;animation-delay:1.6s}.ld-bar{width:min(240px,56vw);height:2px;position:relative;background:#3a372f99;overflow:hidden}.ld-bar i{position:absolute;inset:0;background:var(--amber);box-shadow:0 0 10px #ff8c0a8c;transform:scaleX(0);transform-origin:left center;transition:transform .35s cubic-bezier(.2,.7,.3,1)}.ld-pct{font-size:9px;letter-spacing:.3em;color:var(--amber-dim)}.hud-loader.is-fault .ld-line{color:var(--danger);animation:dangerblink 1.1s steps(2,jump-none) infinite}.hud-loader.is-fault .ld-bar i{background:var(--danger);box-shadow:0 0 9px #ff3b3073}.hud-loader.is-fault .ld-rune{color:var(--danger)}.hud-brackets{position:absolute;inset:14px;z-index:3;pointer-events:none}.hud-brackets i{position:absolute;width:22px;height:22px;border:1px solid rgba(255,140,10,.42)}.hud-brackets i:nth-child(1){top:0;left:0;border-right:0;border-bottom:0}.hud-brackets i:nth-child(2){top:0;right:0;border-left:0;border-bottom:0}.hud-brackets i:nth-child(3){bottom:0;left:0;border-right:0;border-top:0}.hud-brackets i:nth-child(4){bottom:0;right:0;border-left:0;border-top:0}.hud-top{position:absolute;top:0;left:0;right:0;z-index:6;display:flex;align-items:center;justify-content:space-between;padding:16px 28px 0;gap:18px;animation:boot-in .55s cubic-bezier(.2,.7,.3,1) both}.hud-brand{pointer-events:auto;text-decoration:none;display:flex;align-items:center;gap:10px}.brand-sigil{color:var(--amber);filter:drop-shadow(0 0 5px rgba(255,140,10,.45))}.brand-text{display:flex;flex-direction:column;gap:2px}.brand-name{font-family:var(--wordmark);font-weight:700;font-size:16px;letter-spacing:.3em;color:var(--text);text-shadow:0 0 14px rgba(255,140,10,.25);white-space:nowrap}.brand-sub{font-family:var(--mono);font-style:normal;font-size:8px;letter-spacing:.42em;color:var(--text-dim);white-space:nowrap}.hud-gates{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;justify-content:flex-end}.gate{display:flex;flex-direction:column;animation:boot-in .55s cubic-bezier(.2,.7,.3,1) both;animation-delay:calc(var(--boot-i,0) * 85ms)}.gate-go{pointer-events:auto;display:flex;align-items:center;gap:9px;padding:8px 12px 7px;border:1px solid var(--line);background:linear-gradient(180deg,#21201cd9,#181715d9);clip-path:var(--clip-chip);transition:color .12s,border-color .12s,background .12s,transform .06s,box-shadow .12s}.gate-go:hover{border-color:var(--amber-dim)}.gate-go:hover .gate-icon{color:var(--amber);filter:drop-shadow(0 0 6px rgba(255,140,10,.55))}.gate-go:hover .gate-name{color:var(--text)}.gate-go:active{transform:translate(1px,2px);background:#131210;box-shadow:inset 0 2px 6px #000000b3}.gate.is-current .gate-go{border-color:var(--amber);background:linear-gradient(180deg,#ff8c0a24,#ff8c0a0a);animation:glowpulse 2.6s ease-in-out infinite}.gate.is-current .gate-name{color:var(--amber);text-shadow:0 0 8px rgba(255,140,10,.5)}.gate-icon{width:18px;height:18px;color:var(--amber-dim);flex:0 0 auto;transition:color .15s,filter .15s}.gate-icon .sg,.brand-sigil .sg{stroke:var(--amber);opacity:.9}.gate-text{display:flex;flex-direction:column;gap:2px;text-align:left}.gate-name{font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.18em;color:var(--text-dim);white-space:nowrap;transition:color .12s}.gate-sub{font-size:7.5px;letter-spacing:.3em;color:var(--text-dim);opacity:.75;white-space:nowrap}.gate-enter{pointer-events:auto;align-self:flex-end;margin-top:3px;padding:1px 2px;font-size:7.5px;letter-spacing:.3em;text-decoration:none;color:var(--cyan-dim);transition:color .15s;white-space:nowrap}.gate-enter:hover{color:var(--cyan)}.gate.is-fly .gate-go{flex:1}@media(max-width:1450px){.hud-gates{gap:5px}.gate-go{padding:6px 8px 5px;gap:6px}.gate-name{font-size:9.5px;letter-spacing:.12em}.gate-icon{width:15px;height:15px}.gate-sub{font-size:7px;letter-spacing:.2em}}@media(max-width:1180px)and (min-width:821px){.gate-sub{display:none}.gate-name{font-size:9px;letter-spacing:.08em}.gate-go{padding:6px 7px}}.hud-panels{position:absolute;inset:0;z-index:5;pointer-events:none}.hud-panel{position:absolute;left:5vw;top:50%;width:min(430px,86vw);transform:translateY(-50%);opacity:0;pointer-events:none;background:var(--line);clip-path:var(--clip-notch)}.hud-panel.is-live{pointer-events:auto}.hud-panel:first-child,.hud-panel.is-hero{opacity:1}.hud-panel:before{content:"";position:absolute;inset:1px;clip-path:var(--clip-notch);background:radial-gradient(120% 70% at 50% 0%,rgba(255,140,10,.05),transparent 55%),linear-gradient(180deg,rgba(31,30,27,.94) 0%,var(--panel) 36%)}.hud-panel>*{position:relative;z-index:1}.hp-head{display:flex;align-items:center;gap:8px;padding:9px 16px 8px;border-bottom:1px solid var(--line)}.hp-rune{color:var(--amber);font-size:10px;animation:runepulse 3.2s ease-in-out infinite}.hp-kicker{font-size:9px;font-weight:500;letter-spacing:.3em;color:var(--text-dim);text-transform:uppercase}.hp-tag{margin-left:auto;font-size:8.5px;letter-spacing:.2em;color:var(--text-dim);opacity:.7}.hp-body{display:flex;flex-direction:column;gap:12px;padding:16px 18px 18px}.hp-title{font-family:var(--display);font-weight:700;font-size:clamp(24px,3vw,34px);line-height:1.08;letter-spacing:.03em;color:var(--text);text-shadow:0 2px 22px rgba(0,0,0,.85)}.hp-title.is-amber{color:var(--amber);text-shadow:0 0 16px rgba(255,140,10,.4),0 0 42px rgba(255,140,10,.18),0 2px 22px rgba(0,0,0,.85)}.hp-sub{font-size:clamp(11px,1.3vw,14px);font-weight:500;letter-spacing:.66em;text-indent:.06em;color:var(--amber);text-shadow:0 0 14px rgba(255,140,10,.5)}.hp-tagline{font-family:var(--body);font-size:13px;line-height:1.6;letter-spacing:.06em;color:var(--text-dim)}.hp-copy{font-family:var(--body);font-weight:400;font-size:14px;line-height:1.7;color:var(--text);opacity:.92}.hp-meta{font-size:9px;letter-spacing:.3em;color:var(--text-dim)}.hp-cta{pointer-events:auto;align-self:flex-start;display:inline-block;padding:11px 18px 10px;font-size:10px;font-weight:500;letter-spacing:.28em;text-decoration:none;color:var(--amber);border:1px solid var(--amber-dim);background:linear-gradient(180deg,#ff8c0a1f,#ff8c0a08);clip-path:var(--clip-chip);transition:color .12s,border-color .12s,background .12s,transform .06s,box-shadow .12s}.hp-cta:hover{border-color:var(--amber);box-shadow:0 0 18px #ff8c0a4d,inset 0 0 14px #ff8c0a14}.hp-cta:active{transform:translate(1px,2px);box-shadow:inset 0 2px 6px #000000b3}.hud-panel.is-hero .hp-title{font-size:clamp(36px,5.2vw,52px);line-height:1.02}.hud-dial{position:absolute;right:26px;bottom:76px;z-index:6;display:flex;flex-direction:column;align-items:center;gap:7px;pointer-events:none;animation:boot-in .55s cubic-bezier(.2,.7,.3,1) both;animation-delay:.17s}.dial-svg{width:92px;height:92px}.dial-ring{color:var(--amber-dim);opacity:.55;transform-origin:60px 60px;animation:ringspin 75s linear infinite}.dial-track{stroke:var(--line)}.dial-fill{stroke:var(--amber);filter:drop-shadow(0 0 4px rgba(255,140,10,.55))}.dial-tick{stroke:var(--amber-dim);fill:none;opacity:.7;transition:stroke .25s,opacity .25s}.dial-tick.on{stroke:var(--amber);opacity:1;filter:drop-shadow(0 0 4px rgba(255,140,10,.7))}.dial-pct{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.13em;fill:var(--amber)}.dial-cap{font-family:var(--mono);font-size:5.5px;letter-spacing:.35em;fill:var(--text-dim)}.dial-name{font-size:9px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--amber-dim);white-space:nowrap;transition:color .25s}.hud-music{position:fixed;left:26px;bottom:132px;z-index:12;width:34px;height:34px;padding:6px;display:flex;align-items:center;justify-content:center;background:#1414138c;border:1px solid var(--line);color:var(--amber);cursor:pointer;pointer-events:auto;opacity:.8;transition:opacity .25s ease,border-color .25s ease}.hud-music:hover{opacity:1;border-color:var(--amber)}.hud-music svg{width:100%;height:100%}.hud-music.is-off{color:var(--textDim, #8a8576);opacity:.55}.hud-music .w1,.hud-music .w2{animation:musicwave 2.4s ease-in-out infinite}.hud-music .w2{animation-delay:.4s}@keyframes musicwave{0%,to{opacity:1}50%{opacity:.35}}@media(max-width:820px){.hud-music{left:calc(12px + env(safe-area-inset-left,0px));bottom:calc(118px + env(safe-area-inset-bottom,0px));width:40px;height:40px;padding:8px}}.hud-modes{position:absolute;left:26px;bottom:76px;z-index:6;display:flex;flex-direction:column;gap:8px;animation:boot-in .55s cubic-bezier(.2,.7,.3,1) both;animation-delay:.25s}.mode-line{font-size:8.5px;letter-spacing:.3em;color:var(--text-dim)}.mode-line.is-free{color:var(--cyan);text-shadow:0 0 8px rgba(46,230,255,.4)}.chip-row{display:flex;align-items:center;gap:7px}.chip-row .microlabel{margin-right:2px}.hud-chip{pointer-events:auto;padding:6px 10px 5px;font-family:var(--mono);font-size:8.5px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--line);background:linear-gradient(180deg,#21201cd9,#181715d9);clip-path:var(--clip-chip);transition:color .12s,border-color .12s,background .12s,transform .06s,box-shadow .12s}.hud-chip:hover{color:var(--text);border-color:var(--amber-dim)}.hud-chip:active{transform:translate(1px,2px);background:#131210;box-shadow:inset 0 2px 6px #000000b3}.hud-chip.on{color:var(--amber);border-color:var(--amber);background:linear-gradient(180deg,#ff8c0a29,#ff8c0a0d);text-shadow:0 0 8px rgba(255,140,10,.5)}.hud-chip.free.on{color:var(--cyan);border-color:var(--cyan-dim);background:linear-gradient(180deg,#2ee6ff1f,#2ee6ff08);text-shadow:0 0 8px rgba(46,230,255,.45)}.hud-ticker{position:absolute;left:0;right:0;bottom:0;z-index:6;display:flex;flex-direction:column;background:linear-gradient(180deg,#171614eb,#131210eb);border-top:1px solid var(--line);animation:boot-in .55s cubic-bezier(.2,.7,.3,1) both;animation-delay:.33s}.tk-maze{height:14px;border-bottom:1px solid #2a2823;background:var(--maze-strip) repeat-x left center / 14px 14px}.tk-row{display:flex;align-items:center;gap:11px;padding:8px 14px;min-height:0}.tk-rune{color:var(--amber);font-size:11px;animation:runepulse 2.2s ease-in-out infinite}.tk-line{flex:1;min-width:0;font-size:10.5px;letter-spacing:.1em;color:var(--amber-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tk-line.tick{animation:tickflicker .28s steps(4,end) 1}.tk-line.is-danger{color:var(--danger);text-shadow:0 0 10px rgba(255,59,48,.55);animation:dangerblink 1.1s steps(2,jump-none) infinite}.tk-sector{font-size:9px;letter-spacing:.25em;color:var(--text-dim);white-space:nowrap}.tk-sector b{font-weight:500;color:var(--amber);text-shadow:0 0 8px rgba(255,140,10,.4)}.tk-fps{font-size:9px;letter-spacing:.25em;color:var(--text-dim);white-space:nowrap}.tk-stencil{font-size:8px;font-weight:500;letter-spacing:.4em;color:var(--text-dim);border:1px dashed rgba(138,133,118,.45);padding:4px 10px 3px;opacity:.85;white-space:nowrap}@keyframes boot-in{0%{opacity:0;transform:translateY(10px);filter:brightness(2.2)}60%{opacity:1}to{opacity:1;transform:none;filter:none}}@keyframes ringspin{to{transform:rotate(360deg)}}@keyframes runepulse{0%,to{text-shadow:0 0 3px rgba(255,140,10,.2);opacity:.8}50%{text-shadow:0 0 10px rgba(255,140,10,.75);opacity:1}}@keyframes glowpulse{0%,to{box-shadow:0 0 4px #ff8c0a2e,inset 0 0 4px #ff8c0a12}50%{box-shadow:0 0 13px #ff8c0a73,inset 0 0 8px #ff8c0a26}}@keyframes tickflicker{0%{opacity:.15;text-shadow:0 0 12px var(--amber)}45%{opacity:1}65%{opacity:.5}to{opacity:1}}@keyframes dangerblink{0%,to{opacity:1}50%{opacity:.45}}@media(max-width:1100px){.hud-gates{gap:5px}.gate-go{padding:7px 8px 6px;gap:7px}.gate-name{font-size:10px;letter-spacing:.12em}.gate-sub{letter-spacing:.2em}.gate-enter{font-size:7px;letter-spacing:.22em}}@media(max-width:820px){.hud-panel{left:calc(10px + env(safe-area-inset-left,0px));right:calc(10px + env(safe-area-inset-right,0px));top:auto;bottom:calc(74px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;transform:translateY(0);display:flex;flex-direction:column;max-height:min(56vh,420px)}.hud-panel.is-hero .hp-title{font-size:clamp(28px,8vw,40px)}.hp-body{padding:13px 14px 14px;gap:10px;overflow-y:auto;min-height:0}.hud-top{padding:calc(12px + env(safe-area-inset-top,0px)) calc(14px + env(safe-area-inset-right,0px)) 0 calc(14px + env(safe-area-inset-left,0px))}.brand-name{font-size:13px}.brand-sub{display:none}.hud-gates{gap:4px}.gate-text,.gate-enter{display:none}.gate-go{padding:7px 8px 6px;min-width:38px;min-height:38px;display:flex;align-items:center;justify-content:center}.gate-icon{width:18px;height:18px}.hud-dial{right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(64px + env(safe-area-inset-bottom,0px));gap:4px;z-index:4}.dial-svg{width:60px;height:60px}.dial-name{font-size:7.5px;letter-spacing:.2em}.hud-modes{left:calc(12px + env(safe-area-inset-left,0px));bottom:calc(64px + env(safe-area-inset-bottom,0px));gap:6px;z-index:4}.mode-line{display:none}.hud-chip{padding:8px 10px 7px;font-size:8px;letter-spacing:.18em;min-height:34px}.tk-row{padding:7px 10px;gap:8px}.hud-ticker{padding-bottom:env(safe-area-inset-bottom,0px)}.tk-stencil,.tk-fps{display:none}.hud-brackets{inset:calc(8px + env(safe-area-inset-top,0px)) calc(8px + env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) calc(8px + env(safe-area-inset-left,0px))}.hud-brackets i{width:14px;height:14px}}@media(prefers-reduced-motion:reduce){#hud *,#hud *:before,#hud *:after{animation-duration:1ms!important;animation-iteration-count:1!important}}#hud.is-reduced .dial-ring,#hud.is-reduced .hp-rune,#hud.is-reduced .tk-rune,#hud.is-reduced .ld-rune{animation:none}#hud.is-reduced .ld-brand,#hud.is-reduced .ld-sub{animation:none;opacity:1}#hud.is-reduced .gate.is-current .gate-go{animation:none}
