:root{--game-bg:#0a0a10;--game-text:#f5f5f5;--game-text-muted:#9aa0b0;--game-panel:#0e0e16eb;--game-panel-border:#ffffff1f;--game-accent:#fa0;--game-danger:#f34;--game-success:#3d8;--game-info:#5af;--game-overlay-copy-wide:36rem;--game-overlay-copy-medium:32rem;--game-overlay-copy-compact:24rem;--game-overlay-progress:20rem;--game-overlay-controls:28rem;--radius-card:.75rem;--radius-button:9999px}.game-stage-page{background:var(--game-bg);overflow:hidden}.game-stage-main{min-height:100vh;padding:0}.game-stage{isolation:isolate;min-height:100dvh;position:relative}.game-stage>#game-canvas{z-index:0}.game-intermission-ad{inset:auto var(--space-4,1rem) var(--space-4,1rem);z-index:55;max-inline-size:min(48rem,100vw - 2rem);padding:var(--space-2,.5rem);border:1px solid var(--game-panel-border);border-radius:var(--radius-card);background:var(--game-panel);margin-inline:auto;position:fixed}.game-intermission-ad[hidden]{display:none}#game-locked-overlay{z-index:60}#game-locked-overlay[hidden]{display:none}.game-stage__copy--wide{max-inline-size:var(--game-overlay-copy-wide)}.game-stage__copy--medium{max-inline-size:var(--game-overlay-copy-medium)}.game-stage__copy--compact{max-inline-size:var(--game-overlay-copy-compact)}.game-stage__progress{max-inline-size:var(--game-overlay-progress)}.game-stage__controls{max-inline-size:var(--game-overlay-controls)}.game-stage__vault-scroll{max-block-size:55dvh}.game-stage__cosmetic-name,.game-stage__cosmetic-lock-summary{font-size:.6rem}.game-stage__cosmetic-status{font-size:.55rem}.start-screen,.game-end-screen{padding-bottom:max(1.5rem, env(safe-area-inset-bottom,0px))}.controls-overlay{padding-bottom:max(1rem, env(safe-area-inset-bottom,0px))}.mobile-controls-stick{bottom:max(1rem, env(safe-area-inset-bottom,0px));z-index:50;position:fixed;left:1rem}.mobile-controls-actions{bottom:max(1rem, env(safe-area-inset-bottom,0px));z-index:50;position:fixed;right:1rem}.achievement-toast{animation:.18s ease-out both game-stage-toast-in}@keyframes game-stage-toast-in{0%{opacity:0;transform:translate(.5rem)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.achievement-toast{animation:none}}.native-game-hud{inset:calc(var(--nav-height,64px) + var(--space-2,.5rem)) var(--space-4,1rem) auto;z-index:40;pointer-events:none;justify-content:center;display:flex;position:fixed}.native-game-hud__content{border:1px solid var(--game-panel-border);border-radius:var(--radius-card);background:var(--game-panel);max-width:min(100%,70rem);color:var(--game-text);font:600 var(--text-sm,.875rem)/1.35 var(--font-ui,system-ui);text-align:center;padding:.5rem .75rem}.legacy-game-hud{inset:calc(var(--nav-height,64px) + var(--space-2,.5rem)) var(--space-4,1rem) auto;z-index:20;pointer-events:none;justify-content:center;display:flex;position:fixed}.legacy-game-anchor{display:none}.legacy-game-end{z-index:60;justify-content:center;align-items:center;gap:var(--space-3,.75rem);padding:var(--space-6,1.5rem);background:color-mix(in oklch, var(--game-bg) 94%, transparent);color:var(--game-text);text-align:center;flex-direction:column;display:none;position:fixed;inset:0}.legacy-game-end h1,.legacy-game-end p{margin:0}.legacy-game-end .play-btn{border-radius:var(--radius-button);background:var(--game-accent);color:#050505;cursor:pointer;min-height:2.75rem;font:700 var(--text-base,1rem)/1 var(--font-ui,system-ui);border:0;padding:.75rem 1.5rem}.legacy-game-end--lose .play-btn{background:var(--game-danger);color:#fff}@keyframes game-overlay-carve-in{0%{clip-path:inset(0 0 100%);filter:blur(6px);opacity:0}to{clip-path:inset(0);filter:blur();opacity:1}}@keyframes game-overlay-rise{0%{transform:translateY(var(--game-overlay-rise,12px));opacity:0}to{opacity:1;transform:translateY(0)}}@keyframes game-overlay-tear-out{0%{clip-path:inset(0);opacity:1;transform:translateY(0)}to{clip-path:inset(46% 0);opacity:0;transform:translateY(-6px)}}@keyframes game-overlay-ember-drift-a{0%{transform:translate(0)}to{transform:translate(2.5rem,-3rem)}}@keyframes game-overlay-ember-drift-b{0%{transform:translate(0)}to{transform:translate(-2rem,-2.25rem)}}@keyframes game-overlay-static-resolve{0%{opacity:.9;filter:contrast(2.4)brightness(1.8)}to{opacity:0;filter:contrast()brightness()}}@keyframes game-overlay-verdict-in{0%{opacity:0;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes game-overlay-pause-freeze{0%{backdrop-filter:blur()saturate()}to{backdrop-filter:blur(8px)saturate(.6)}}@keyframes game-overlay-load-pulse{0%,to{opacity:1}50%{opacity:.65}}#pause-overlay{backdrop-filter:blur(8px)saturate(.6)}@media (prefers-reduced-motion:no-preference){html:not([data-comfort-reduced-motion=true]) #start-screen>*{z-index:1;position:relative}html:not([data-comfort-reduced-motion=true]) #start-screen:before,html:not([data-comfort-reduced-motion=true]) #start-screen:after{content:"";pointer-events:none;background-repeat:repeat;position:absolute;inset:-4rem}html:not([data-comfort-reduced-motion=true]) #start-screen:before{opacity:.3;background-image:radial-gradient(color-mix(in oklch, var(--game-accent,#fa0) 60%, transparent) 1.5px, transparent 2px);animation:game-overlay-ember-drift-a calc(var(--dur-haunt) * 12) linear infinite alternate;background-size:7rem 7rem}html:not([data-comfort-reduced-motion=true]) #start-screen:after{opacity:.22;background-image:radial-gradient(color-mix(in oklch, var(--game-accent,#fa0) 45%, transparent) 1px, transparent 1.5px);animation:game-overlay-ember-drift-b calc(var(--dur-haunt) * 15) linear infinite alternate;background-position:2rem 3rem;background-size:4.5rem 4.5rem}html:not([data-comfort-reduced-motion=true]) #start-screen.is-entered:not(.is-loading)>h1{animation:game-overlay-carve-in var(--dur-ceremony) var(--ease-cinematic) both}html:not([data-comfort-reduced-motion=true]) #start-screen.is-entered:not(.is-loading)>:not(h1):not(#boot-error){animation-name:game-overlay-rise;animation-duration:var(--dur-swift);animation-timing-function:var(--ease-spring-snappy);animation-fill-mode:both}html:not([data-comfort-reduced-motion=true]) #start-screen.is-entered:not(.is-loading)>:nth-child(2){animation-delay:calc(var(--dur-snap) * .5)}html:not([data-comfort-reduced-motion=true]) #start-screen.is-entered:not(.is-loading)>:nth-child(3){animation-delay:var(--dur-snap)}html:not([data-comfort-reduced-motion=true]) #start-screen.is-entered:not(.is-loading)>:nth-child(4){animation-delay:calc(var(--dur-snap) * 1.5)}html:not([data-comfort-reduced-motion=true]) #start-screen.is-entered:not(.is-loading)>:nth-child(5){animation-delay:calc(var(--dur-snap) * 2)}html:not([data-comfort-reduced-motion=true]) #start-screen.is-entered:not(.is-loading)>:nth-child(6){animation-delay:calc(var(--dur-snap) * 2.5)}html:not([data-comfort-reduced-motion=true]) #start-screen.is-entered:not(.is-loading)>:nth-child(7){animation-delay:calc(var(--dur-snap) * 3)}html:not([data-comfort-reduced-motion=true]) #start-screen.is-entered:not(.is-loading)>:nth-child(8){animation-delay:calc(var(--dur-snap) * 3.5)}html:not([data-comfort-reduced-motion=true]) #start-screen.is-loading>:not(#start-btn):not(#boot-error){animation:game-overlay-tear-out var(--dur-normal) var(--ease-lurch) both}html:not([data-comfort-reduced-motion=true]) #start-screen.is-loading>#start-btn{animation:game-overlay-load-pulse var(--dur-haunt) ease-in-out infinite}html:not([data-comfort-reduced-motion=true]) .game-end-screen:before{content:"";pointer-events:none;animation:game-overlay-static-resolve var(--dur-ceremony) var(--ease-static) both;background:repeating-linear-gradient(0deg,#ffffff12 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#ffffff0d 0 1px,#0000 1px 4px);position:absolute;inset:0}html:not([data-comfort-reduced-motion=true]) .game-end-screen>h1{animation:game-overlay-verdict-in var(--dur-ceremony) var(--ease-spring-ominous) var(--dur-normal) both}html:not([data-comfort-reduced-motion=true]) .game-end-screen>p{animation-name:game-overlay-rise;animation-duration:var(--dur-normal);animation-timing-function:var(--ease-cinematic);animation-fill-mode:both}html:not([data-comfort-reduced-motion=true]) .game-end-screen>p:first-of-type{animation-delay:calc(var(--dur-normal) + var(--dur-snap))}html:not([data-comfort-reduced-motion=true]) .game-end-screen>p:nth-of-type(2){animation-delay:calc(var(--dur-normal) + var(--dur-snap) * 2)}html:not([data-comfort-reduced-motion=true]) .game-end-screen>button{animation:game-overlay-rise var(--dur-swift) var(--ease-spring-snappy) var(--dur-page) both}html:not([data-comfort-reduced-motion=true]) .game-end-screen>a{animation:game-overlay-rise var(--dur-swift) var(--ease-spring-snappy) calc(var(--dur-page) + var(--dur-snap) * .4) both}html:not([data-comfort-reduced-motion=true]) #pause-overlay{animation:game-overlay-pause-freeze var(--dur-normal) var(--ease-cinematic) both}html:not([data-comfort-reduced-motion=true]) #pause-overlay>h1,html:not([data-comfort-reduced-motion=true]) #pause-overlay>div{--game-overlay-rise:10px;animation-name:game-overlay-rise;animation-duration:var(--dur-normal);animation-timing-function:var(--ease-cinematic);animation-fill-mode:both}html:not([data-comfort-reduced-motion=true]) #pause-overlay>div{animation-delay:calc(var(--dur-snap) * .5)}html:not([data-comfort-reduced-motion=true]) #controls-overlay li{--game-overlay-rise:8px;animation-name:game-overlay-rise;animation-duration:var(--dur-snap);animation-timing-function:var(--ease-spring-snappy);animation-fill-mode:both}html:not([data-comfort-reduced-motion=true]) #controls-overlay li:nth-child(2){animation-delay:calc(var(--dur-snap) / 3)}html:not([data-comfort-reduced-motion=true]) #controls-overlay li:nth-child(3){animation-delay:calc(var(--dur-snap) / 3 * 2)}html:not([data-comfort-reduced-motion=true]) #controls-overlay li:nth-child(4){animation-delay:calc(var(--dur-snap) / 3 * 3)}html:not([data-comfort-reduced-motion=true]) #controls-overlay li:nth-child(5){animation-delay:calc(var(--dur-snap) / 3 * 4)}html:not([data-comfort-reduced-motion=true]) #controls-overlay li:nth-child(6){animation-delay:calc(var(--dur-snap) / 3 * 5)}html:not([data-comfort-reduced-motion=true]) #controls-overlay li:nth-child(7){animation-delay:calc(var(--dur-snap) / 3 * 6)}html:not([data-comfort-reduced-motion=true]) #controls-overlay li:nth-child(8){animation-delay:calc(var(--dur-snap) / 3 * 7)}}
