:root{--deep:#030506;--pale:#9ec4c7;--dim:#9ec4c759;--soft:#9ec4c7a3;--mono:"SF Mono", ui-monospace, "Cascadia Mono", Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--deep);width:100%;height:100%;overflow:hidden}body{color:var(--soft);font-family:var(--mono);-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0}a{color:inherit}#gl,#fallback{width:100%;height:100%;position:fixed;top:0;bottom:0;left:0;right:0}#gl{z-index:1;display:block}#fallback{z-index:0;background:radial-gradient(ellipse at 50% 44%, #122024, var(--deep) 64%);display:none}body.fallback #fallback{display:block}body.fallback #gl{display:none}body:after{content:none}#veil{z-index:100;background:#020303;transition:opacity .35s;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}#veil.open{opacity:0;pointer-events:none}#veil-enter{z-index:4;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}#veil-hint{color:var(--soft);font:10px/1.4 var(--mono);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;opacity:.72;animation:3.4s ease-in-out infinite hint-pulse;position:absolute;top:calc(50% + 30px);left:50%;transform:translate(-50%)}#veil-dot{background:var(--pale);border-radius:50%;width:5px;height:5px;margin:-2.5px;animation:3.4s ease-in-out infinite dot-pulse;position:absolute;top:50%;left:50%;box-shadow:0 0 18px #9ec4c7b3}#veil-scanlines{opacity:0;pointer-events:none;background:repeating-linear-gradient(0deg,#00000059 0 1px,#0000 1px 4px);position:absolute;top:0;bottom:0;left:0;right:0}#veil.powering{animation:1.55s cubic-bezier(.2,.7,.2,1) forwards tv-frame}#veil.powering #veil-dot{animation:1.15s ease-in-out forwards tv-dot}#veil.powering #veil-hint{opacity:0;transition:opacity .15s}#veil.powering #veil-scanlines{animation:.62s steps(4,end) .72s forwards tv-noise}@keyframes dot-pulse{50%{opacity:1;transform:scale(1.5)}}@keyframes hint-pulse{50%{opacity:.34}}@keyframes tv-dot{0%{transform:scale(1)}18%{transform:scale(2.2)}38%{border-radius:0;width:72vw;height:2px;margin-top:-1px;margin-left:-36vw}65%{width:94vw;height:3px;margin-left:-47vw}to{opacity:0;border-radius:0;width:110vw;height:110vh;margin-top:-55vh;margin-left:-55vw}}@keyframes tv-frame{0%,36%{clip-path:inset(49.9% 50%);filter:none}58%{clip-path:inset(49.7% 4%)}78%{clip-path:inset(8% 3%);filter:saturate(1.5)hue-rotate(5deg)}to{clip-path:inset(0);filter:none}}@keyframes tv-noise{0%{opacity:.7;transform:translate(-2px)}70%{opacity:.28;transform:translate(2px)}to{opacity:0}}#sigil{z-index:52;top:max(18px, env(safe-area-inset-top));left:max(18px, env(safe-area-inset-left));opacity:.4;width:32px;height:32px;transition:opacity .3s;position:fixed}#sigil:hover{opacity:.9}#sigil:focus-visible{opacity:.9}#sigil img,#seal svg,#resources svg{width:100%;height:100%}#sigil img{opacity:.9;display:block}#seal svg,#resources svg{fill:none;stroke:var(--pale);stroke-width:1.2px}#seal{z-index:47;opacity:0;pointer-events:none;width:42vmin;height:42vmin;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#seal.stamp{animation:1.15s ease-out seal}@keyframes seal{0%{opacity:0;filter:blur(7px);transform:translate(-50%,-50%)scale(1.18)}18%{opacity:.72;filter:blur()}to{opacity:0;transform:translate(-50%,-50%)scale(.98)}}#rail{z-index:52;right:max(14px, env(safe-area-inset-right));flex-direction:column;align-items:flex-end;gap:5px;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.rail-tick{width:44px;height:12px;position:relative}.rail-tick:after{content:"";background:var(--dim);width:10px;height:1px;transition:width .25s,background .25s;position:absolute;top:5px;right:0}.rail-tick:hover:after{background:var(--soft);width:24px}.rail-tick:focus-visible:after{background:var(--soft);width:24px}.rail-tick.current:after{background:var(--pale);width:32px;box-shadow:0 0 8px var(--pale)}.tick-name{white-space:nowrap;letter-spacing:.12em;opacity:0;pointer-events:none;font-size:10px;position:absolute;top:50%;right:48px;transform:translateY(-50%)}.rail-tick:hover .tick-name{opacity:1}.rail-tick:focus-visible .tick-name{opacity:1}#player-dock{z-index:54;left:50%;bottom:max(16px, env(safe-area-inset-bottom));background:#030506d1;border:1px solid #9ec4c714;border-radius:999px;align-items:center;gap:14px;padding:6px 10px;display:flex;position:fixed;transform:translate(-50%)}#transport,#resources{align-items:center;display:flex}#transport button,#resources a{opacity:.55;place-items:center;width:44px;height:44px;transition:opacity .25s;display:grid}#transport button:hover,#resources a:hover{opacity:1}#transport button:focus-visible{opacity:1}#resources a:focus-visible{opacity:1}#transport svg{fill:none;width:21px;height:21px;stroke:var(--pale);stroke-width:1.3px}#resources svg{width:28px;height:28px}#t-play .i-pause,body.playing #t-play .i-play{display:none}body.playing #t-play .i-pause{display:initial}#t-name{width:clamp(90px,15vw,180px);color:var(--dim);letter-spacing:.14em;text-overflow:ellipsis;white-space:nowrap;margin:0 8px;font-size:10px;overflow:hidden}.fb-haze{background:radial-gradient(#5a7a8024,#0000 68%);position:absolute;top:-15%;bottom:-15%;left:-15%;right:-15%}@media (max-width:700px){#player-dock{width:calc(100% - max(20px, env(safe-area-inset-left)) - max(20px, env(safe-area-inset-right)));border-radius:18px;flex-direction:column;gap:0;max-width:410px}#transport,#resources{justify-content:center;width:100%}#t-name{width:min(42vw,170px)}#rail{left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));top:auto;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 116px);scrollbar-width:none;flex-direction:row;align-items:center;gap:0;overflow-x:auto;transform:none}#rail::-webkit-scrollbar{display:none}.rail-tick{flex:0 0 44px;height:44px}.rail-tick:after{top:21px;left:8px;right:auto}.rail-tick.current:after{width:28px}.tick-name{display:none}}@media (prefers-reduced-motion:reduce){#veil{transition-duration:.2s}#veil-dot,#veil-hint,#veil.powering,#veil.powering #veil-dot,#veil.powering #veil-scanlines,#seal.stamp{animation:none}}
