@layer reset{*,:before,:after{box-sizing:border-box}html,body,#app,#game-root{width:100%;height:100%;min-height:100%;margin:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;background:#07090f}body{overscroll-behavior:none;touch-action:none;overflow:hidden}button,input,select,textarea{color:inherit;font:inherit}button{background:0 0;border:0;padding:0}button,select,input[type=checkbox],input[type=range]{cursor:pointer}h1,h2,h3,p,ol,ul,dl,dd{margin:0}ol,ul{padding:0;list-style:none}canvas{display:block}[hidden],.hidden,.is-hidden{display:none!important}}@layer theme{:root{--void:#07090f;--void-rgb:7, 9, 15;--surface:#111725;--surface-raised:#182132;--surface-rgb:17, 23, 37;--panel:#0a0e17d6;--panel-soft:#0a0e179e;--paper:#f2f0e7;--paper-rgb:242, 240, 231;--muted:#95a0b0;--muted-dim:#626d7e;--cyan:#4de4ff;--cyan-rgb:77, 228, 255;--danger:#ff563d;--danger-rgb:255, 86, 61;--reward:#d8ff55;--reward-rgb:216, 255, 85;--warning:#ffb547;--warning-rgb:255, 181, 71;--outline:#f2f0e733;--shadow:0 24px 80px #00000080;--hairline:1px;--cut:18px;--hud-gap:clamp(.75rem, 2vw, 1.5rem);--safe-top:max(var(--hud-gap), env(safe-area-inset-top));--safe-right:max(var(--hud-gap), env(safe-area-inset-right));--safe-bottom:max(var(--hud-gap), env(safe-area-inset-bottom));--safe-left:max(var(--hud-gap), env(safe-area-inset-left));--font-display:Bahnschrift, "Aptos Display", "Segoe UI Variable Display", "Arial Narrow", system-ui, sans-serif;--font-ui:Bahnschrift, "Aptos", "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;--font-data:"Cascadia Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--ease-snap:cubic-bezier(.2, .85, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--fast:.12s;--medium:.26s;--slow:.52s}:root,.game-shell{accent-color:var(--cyan)}[data-accent=danger]{--accent:var(--danger);--accent-rgb:var(--danger-rgb)}[data-accent=reward]{--accent:var(--reward);--accent-rgb:var(--reward-rgb)}[data-accent=warning]{--accent:var(--warning);--accent-rgb:var(--warning-rgb)}[data-accent=cyan],[data-accent=player]{--accent:var(--cyan);--accent-rgb:var(--cyan-rgb)}}@layer base{body{color:var(--paper);background:radial-gradient(circle at 50% 42%, #141b29 0%, var(--void) 64%), var(--void);font-family:var(--font-ui);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font-size:16px;line-height:1.4}.game-shell,.canvas-host,#game-container{isolation:isolate;background:var(--void);width:100%;height:100%;min-height:100dvh;position:fixed;inset:0;overflow:hidden}.game-shell:before{z-index:2;pointer-events:none;content:"";background:radial-gradient(circle,#0000 38%,#0003 75%,#0000008f 120%),linear-gradient(#0000001f,#0000 25% 76%,#0003);position:absolute;inset:0}.game-canvas,#game-canvas,#scene-canvas,.canvas-host canvas{z-index:1;touch-action:none;outline:none;width:100%;height:100%;position:absolute;inset:0}.ui-layer,#ui-layer{z-index:10;pointer-events:none;position:absolute;inset:0;overflow:hidden}.screen,.overlay-screen{z-index:20;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--medium) var(--ease-snap), visibility 0s linear var(--medium);position:absolute;inset:0}.screen.is-active,.screen.is-visible,.screen[data-active=true],.screen[aria-hidden=false],.overlay-screen.is-active,.overlay-screen.is-visible,.overlay-screen[data-active=true],.overlay-screen[aria-hidden=false],.game-shell[data-state=title] :is(#title-screen,.title-screen),.game-shell[data-state=paused] :is(#pause-screen,.pause-screen),.game-shell[data-state=pause] :is(#pause-screen,.pause-screen),.game-shell[data-state=upgrade] :is(#upgrade-screen,.upgrade-screen),.game-shell[data-state=upgrading] :is(#upgrade-screen,.upgrade-screen),.game-shell[data-state=results] :is(#results-screen,.results-screen),.game-shell[data-state=settings] :is(#settings-screen,.settings-screen),.game-shell[data-state=howto] :is(#howto-screen,.howto-screen),.game-shell[data-state=loading] :is(#loading-screen,.loading-screen),.game-shell[data-state=fallback] :is(#fallback-screen,.fallback-screen){opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.eyebrow,.hud-label,.section-label,.field-label,.meta-label{color:var(--muted);font-family:var(--font-ui);letter-spacing:.15em;text-transform:uppercase;font-size:.6875rem;font-weight:700;line-height:1}.data-value,.score-value,.timer-value,output{font-family:var(--font-data);font-variant-numeric:tabular-nums slashed-zero}.accent{color:var(--cyan)}.danger{color:var(--danger)}.reward{color:var(--reward)}.muted{color:var(--muted)}::selection{color:var(--void);background:var(--cyan)}}@layer components{.signal-panel,.hud-panel{--accent:var(--cyan);--accent-rgb:var(--cyan-rgb);border-inline-start:2px solid var(--accent);background:linear-gradient(90deg, rgba(var(--void-rgb), .9), rgba(var(--void-rgb), .52) 72%, transparent);box-shadow:-8px 0 24px rgba(var(--accent-rgb), .05);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);position:relative}.signal-panel:after,.hud-panel:after{background:linear-gradient(90deg, rgba(var(--accent-rgb), .45), transparent);content:"";height:1px;position:absolute;bottom:0;left:0;right:16px}.menu-button,.ui-button,.primary-button,.secondary-button,.drawer-button,.icon-button{--button-accent:var(--cyan);--button-accent-rgb:var(--cyan-rgb);min-height:2.75rem;color:var(--paper);font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;pointer-events:auto;transition:color var(--fast) ease, background-color var(--fast) ease, border-color var(--fast) ease, transform var(--fast) var(--ease-snap);justify-content:center;align-items:center;gap:.7rem;font-size:.875rem;font-weight:700;display:inline-flex;position:relative}.menu-button:hover,.ui-button:hover,.primary-button:hover,.secondary-button:hover,.drawer-button:hover,.icon-button:hover{color:var(--button-accent)}.menu-button:active,.ui-button:active,.primary-button:active,.secondary-button:active,.drawer-button:active,.icon-button:active{transform:translateY(1px)scale(.985)}.primary-button,.secondary-button{border:1px solid rgba(var(--cyan-rgb), .55);background:rgba(var(--cyan-rgb), .08);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));min-width:10rem;padding:.85rem 1.3rem}.primary-button{color:var(--void);background:var(--cyan);box-shadow:0 0 26px rgba(var(--cyan-rgb), .18)}.primary-button:hover{color:var(--void);background:var(--paper)}.secondary-button{--button-accent:var(--paper);--button-accent-rgb:var(--paper-rgb);border-color:rgba(var(--paper-rgb), .24);background:rgba(var(--paper-rgb), .035)}.icon-button{border:1px solid var(--outline);background:rgba(var(--void-rgb), .62);clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%);width:2.75rem;min-width:2.75rem;padding:0}.title-screen,#title-screen{z-index:30;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);background:linear-gradient(90deg, rgba(var(--void-rgb), .76) 0%, rgba(var(--void-rgb), .14) 49%, transparent 76%), linear-gradient(0deg, rgba(var(--void-rgb), .72), transparent 42%)}.title-screen:before,#title-screen:before{top:var(--safe-top);bottom:var(--safe-bottom);left:var(--safe-left);background:linear-gradient(180deg, var(--cyan), transparent 42%, rgba(var(--paper-rgb), .25) 82%, transparent);width:2px;box-shadow:0 0 22px rgba(var(--cyan-rgb), .34);content:"";position:absolute}.title-copy,.title-lockup{top:max(7vh, var(--safe-top));left:calc(var(--safe-left) + clamp(1rem, 2vw, 2.2rem));opacity:0;max-width:min(76vw,68rem);transition:transform var(--slow) var(--ease-out) 70ms, opacity var(--slow) ease 70ms;position:absolute;transform:translateY(-8px)}.title-screen:is(.is-active,.is-visible,[data-active=true],[aria-hidden=false]) :is(.title-copy,.title-lockup),.game-shell[data-state=title] :is(.title-copy,.title-lockup){opacity:1;transform:translateY(0)}.title-kicker{color:var(--cyan);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:.7rem;margin-bottom:clamp(.8rem,2vw,1.25rem);font-size:clamp(.65rem,1vw,.78rem);font-weight:800;display:flex}.title-kicker:before{background:var(--cyan);content:"";width:2.5rem;height:1px}.wordmark,.title-wordmark,#wordmark{max-width:100%;color:var(--paper);font-family:var(--font-display);letter-spacing:-.075em;text-transform:uppercase;text-shadow:0 0 60px rgba(var(--paper-rgb), .08);font-size:clamp(4.25rem,12.6vw,11.5rem);font-weight:900;font-stretch:75%;line-height:.74;position:relative}.wordmark .wordmark-accent,.title-wordmark .wordmark-accent,.wordmark em,.title-wordmark em{color:var(--cyan);text-shadow:0 0 34px rgba(var(--cyan-rgb), .24);font-style:normal}.title-subtitle,.title-tagline{max-width:34rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:clamp(1rem,2.2vw,1.8rem);font-size:clamp(.78rem,1.25vw,1rem);font-weight:650}.title-nav,.main-menu{bottom:var(--safe-bottom);left:calc(var(--safe-left) + clamp(1rem, 2vw, 2.2rem));opacity:0;min-width:min(21rem,100vw - 3rem);transition:transform var(--slow) var(--ease-out) .18s, opacity var(--slow) ease .18s;gap:.2rem;display:grid;position:absolute;transform:translate(-12px)}.title-screen:is(.is-active,.is-visible,[data-active=true],[aria-hidden=false]) :is(.title-nav,.main-menu),.game-shell[data-state=title] :is(.title-nav,.main-menu){opacity:1;transform:translate(0)}.title-nav .menu-button,.main-menu .menu-button{border-inline-start:1px solid rgba(var(--paper-rgb), .22);color:var(--muted);justify-content:flex-start;padding:.55rem .8rem .55rem 1.1rem}.title-nav .menu-button:before,.main-menu .menu-button:before{background:var(--cyan);width:0;height:1px;box-shadow:0 0 12px rgba(var(--cyan-rgb), .35);content:"";transition:width var(--medium) var(--ease-out)}.title-nav .menu-button:is(:hover,:focus-visible,.is-selected,[aria-current=true]),.main-menu .menu-button:is(:hover,:focus-visible,.is-selected,[aria-current=true]){border-inline-start-color:var(--cyan);color:var(--paper);background:linear-gradient(90deg, rgba(var(--cyan-rgb), .1), transparent 74%)}.title-nav .menu-button:is(:hover,:focus-visible,.is-selected,[aria-current=true]):before,.main-menu .menu-button:is(:hover,:focus-visible,.is-selected,[aria-current=true]):before{width:2rem}.title-nav .menu-button:first-child,.main-menu .menu-button:first-child,.title-nav .menu-button.primary,.main-menu .menu-button.primary{min-height:3.4rem;color:var(--paper);border-inline-start-width:2px;margin-bottom:.35rem;font-size:1rem}.title-meta,.attract-meta{top:var(--safe-top);right:var(--safe-right);color:var(--muted);font-family:var(--font-data);font-variant-numeric:tabular-nums;letter-spacing:.12em;text-align:right;text-transform:uppercase;justify-items:end;gap:.35rem;font-size:.6875rem;display:grid;position:absolute}.title-meta strong,.attract-meta strong{color:var(--paper);font-size:.85rem;font-weight:600}.hud,#hud{z-index:18;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--medium) ease;position:absolute;inset:0}.hud.is-active,.hud.is-visible,.hud[data-active=true],.game-shell[data-state=playing] .hud,.game-shell[data-state=play] .hud{opacity:1;visibility:visible}.hud-cluster{pointer-events:none;position:absolute}.hud-wave,.hud-objective,#wave-hud{top:var(--safe-top);left:var(--safe-left);width:clamp(12rem,22vw,19rem);padding:.75rem 1.2rem .8rem .9rem}.hud-score,#score-hud{top:var(--safe-top);right:var(--safe-right);border-inline-end:2px solid var(--cyan);background:linear-gradient(270deg, rgba(var(--void-rgb), .9), rgba(var(--void-rgb), .48) 72%, transparent);clip-path:polygon(14px 0,100% 0,100% 100%,0 100%,0 14px);text-align:right;justify-items:end;min-width:clamp(12rem,19vw,17rem);padding:.7rem .9rem .75rem 1.6rem;display:grid}.hud-score:after{background:linear-gradient(270deg, rgba(var(--cyan-rgb), .45), transparent);left:16px;right:0}.wave-heading,.score-heading{justify-content:space-between;align-items:baseline;gap:.8rem;width:100%;display:flex}.wave-value,#wave-value{color:var(--paper);font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:650}.wave-subtitle,.objective-text{max-width:13rem;color:var(--muted);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin-top:.35rem;font-size:.72rem;font-weight:600;overflow:hidden}.progress-track,.meter-track,.wave-progress,#wave-progress{--progress:0%;background:rgba(var(--paper-rgb), .12);width:100%;height:3px;margin-top:.65rem;position:relative;overflow:hidden}.progress-track:before,.wave-progress:before,#wave-progress:before,.progress-fill,.meter-fill{width:var(--progress,0%);background:linear-gradient(90deg, var(--cyan), var(--reward));min-width:0;box-shadow:0 0 12px rgba(var(--cyan-rgb), .5);content:"";transition:width .18s var(--ease-snap);position:absolute;inset:0 auto 0 0}progress.progress-track,progress.wave-progress{appearance:none;border:0}progress.progress-track::-webkit-progress-bar{background:rgba(var(--paper-rgb), .12)}progress.wave-progress::-webkit-progress-bar{background:rgba(var(--paper-rgb), .12)}progress.progress-track::-webkit-progress-value{background:linear-gradient(90deg, var(--cyan), var(--reward))}progress.wave-progress::-webkit-progress-value{background:linear-gradient(90deg, var(--cyan), var(--reward))}progress.progress-track::-moz-progress-bar{background:linear-gradient(90deg, var(--cyan), var(--reward))}progress.wave-progress::-moz-progress-bar{background:linear-gradient(90deg, var(--cyan), var(--reward))}.score-value,#score-value,#score{color:var(--paper);letter-spacing:-.075em;text-shadow:0 0 25px rgba(var(--paper-rgb), .1);font-size:clamp(1.75rem,4vw,3rem);font-weight:550;line-height:.95}.score-stats{justify-content:flex-end;align-items:center;gap:.85rem;width:100%;margin-top:.45rem;display:flex}.score-stat{color:var(--muted);font-family:var(--font-data);font-variant-numeric:tabular-nums;align-items:baseline;gap:.35rem;font-size:.78rem;display:flex}.score-stat+.score-stat{border-inline-start:1px solid var(--outline);padding-inline-start:.85rem}.score-stat strong,#mass-value,#mass,#chain-value,#chain{color:var(--paper);font-size:1rem;font-weight:650}.chain-value,#chain-value,#chain{color:var(--reward)}.chain-value.is-hot,#chain-value.is-hot,#chain.is-hot{animation:chain-pop .28s var(--ease-snap);text-shadow:0 0 16px rgba(var(--reward-rgb), .6)}@keyframes chain-pop{0%{transform:scale(1)}45%{transform:scale(1.32)}to{transform:scale(1)}}.hud-health,#health-hud{bottom:var(--safe-bottom);left:var(--safe-left);min-width:clamp(10.5rem,17vw,14rem);padding:.7rem 1.1rem .7rem .9rem}.health-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.health-value,#health-value{color:var(--paper);font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:.82rem}.health-pips,#health-pips{--health:100%;grid-template-columns:repeat(var(--pip-count,6), 1fr);gap:4px;margin-top:.55rem;display:grid}.health-pip{border:1px solid rgba(var(--cyan-rgb), .38);background:var(--cyan);height:5px;box-shadow:0 0 8px rgba(var(--cyan-rgb), .2);transition:opacity var(--fast) ease, background-color var(--fast) ease, transform var(--fast) var(--ease-snap)}.health-pip.is-empty,.health-pip[data-filled=false]{background:rgba(var(--paper-rgb), .06);box-shadow:none;opacity:.55}.hud-health.is-critical,#health-hud.is-critical{--accent:var(--danger);--accent-rgb:var(--danger-rgb)}.hud-health.is-critical .health-pip:not(.is-empty),#health-hud.is-critical .health-pip:not(.is-empty){border-color:rgba(var(--danger-rgb), .65);background:var(--danger);animation:.82s ease-in-out infinite alternate critical-pulse}@keyframes critical-pulse{0%{opacity:.65}to{opacity:1;box-shadow:0 0 14px rgba(var(--danger-rgb), .65)}}.hud-prompt,#hud-prompt,#prompt{right:50%;bottom:var(--safe-bottom);border:1px solid rgba(var(--paper-rgb), .16);max-width:min(32rem,100vw - 2rem);min-height:2.5rem;color:var(--paper);background:rgba(var(--void-rgb), .82);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);letter-spacing:.06em;text-transform:uppercase;opacity:0;visibility:hidden;transition:opacity var(--medium) ease, transform var(--medium) var(--ease-out), visibility 0s linear var(--medium);align-items:center;gap:.7rem;padding:.55rem 1rem;font-size:.76rem;font-weight:650;display:flex;position:absolute;transform:translate(50%,10px);box-shadow:0 10px 35px #00000040}.hud-prompt.is-visible,#hud-prompt.is-visible,#prompt.is-visible,.hud-prompt[data-active=true],#hud-prompt[data-active=true],#prompt[data-active=true]{opacity:1;visibility:visible;transition-delay:0s;transform:translate(50%)}.keycap,kbd{border:1px solid rgba(var(--paper-rgb), .28);min-width:1.85rem;min-height:1.65rem;color:var(--cyan);background:rgba(var(--paper-rgb), .055);font-family:var(--font-data);border-bottom-width:2px;justify-content:center;align-items:center;padding:.2rem .42rem;font-size:.68rem;font-weight:650;line-height:1;display:inline-flex}.pause-screen,#pause-screen{z-index:42;background:linear-gradient(90deg, rgba(var(--void-rgb), .82), rgba(var(--void-rgb), .34) 45%, transparent 76%);-webkit-backdrop-filter:saturate(.35)brightness(.72);backdrop-filter:saturate(.35)brightness(.72)}.pause-drawer,.pause-screen .drawer{width:min(25rem,88vw);padding:var(--safe-top) clamp(1.5rem, 4vw, 3rem) var(--safe-bottom) max(var(--safe-left), clamp(1.25rem, 3vw, 2.25rem));border-inline-end:1px solid rgba(var(--paper-rgb), .13);background:linear-gradient(155deg, rgba(var(--cyan-rgb), .05), transparent 35%), rgba(var(--void-rgb), .94);box-shadow:var(--shadow);clip-path:polygon(0 0,100% 0,100% calc(100% - 32px),calc(100% - 32px) 100%,0 100%);transition:transform .38s var(--ease-out);flex-direction:column;display:flex;position:absolute;inset:0 auto 0 0;transform:translate(-103%)}.pause-screen:is(.is-active,.is-visible,[data-active=true],[aria-hidden=false]) :is(.pause-drawer,.drawer),.game-shell[data-state=paused] :is(.pause-drawer,.pause-screen .drawer),.game-shell[data-state=pause] :is(.pause-drawer,.pause-screen .drawer){transform:translate(0)}.drawer-header{border-bottom:1px solid var(--outline);padding-bottom:1.3rem;position:relative}.drawer-header:after{background:var(--cyan);width:4rem;height:2px;box-shadow:0 0 14px rgba(var(--cyan-rgb), .45);content:"";position:absolute;bottom:-1px;left:0}.drawer-title,.pause-title{color:var(--paper);font-family:var(--font-display);letter-spacing:-.06em;text-transform:uppercase;margin-top:.55rem;font-size:clamp(2.8rem,7vw,5rem);font-weight:850;line-height:.9}.drawer-nav,.pause-menu{gap:.25rem;margin-top:clamp(2rem,6vh,4.5rem);display:grid}.drawer-button,.pause-menu .menu-button{border-inline-start:1px solid var(--outline);color:var(--muted);justify-content:flex-start;padding:.85rem .75rem}.drawer-button:before,.pause-menu .menu-button:before{background:var(--cyan);content:"";width:0;height:1px;transition:width var(--medium) var(--ease-out)}.drawer-button:is(:hover,:focus-visible,.is-selected),.pause-menu .menu-button:is(:hover,:focus-visible,.is-selected){border-inline-start-color:var(--cyan);color:var(--paper);background:linear-gradient(90deg, rgba(var(--cyan-rgb), .08), transparent)}.drawer-button:is(:hover,:focus-visible,.is-selected):before,.pause-menu .menu-button:is(:hover,:focus-visible,.is-selected):before{width:1.7rem}.drawer-footer{border-top:1px solid var(--outline);color:var(--muted);font-family:var(--font-data);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:1rem;font-size:.66rem;display:flex}.upgrade-screen,#upgrade-screen{z-index:45;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);background:radial-gradient(circle at 50% 44%, rgba(var(--cyan-rgb), .075), transparent 47%), rgba(var(--void-rgb), .78);-webkit-backdrop-filter:blur(7px)saturate(.55);backdrop-filter:blur(7px)saturate(.55);align-content:center;justify-items:center;display:grid}.upgrade-header{text-align:center;width:min(100%,65rem);margin-bottom:clamp(1.2rem,4vh,2.8rem)}.upgrade-title{font-family:var(--font-display);letter-spacing:-.055em;text-transform:uppercase;margin-top:.55rem;font-size:clamp(2rem,5vw,4.5rem);font-weight:850;line-height:.92}.upgrade-subtitle{max-width:38rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:.8rem auto 0;font-size:.82rem}.upgrade-grid,.upgrade-options{perspective:1000px;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,2vw,1.35rem);width:min(100%,66rem);display:grid}.upgrade-card{--card-accent:var(--cyan);--card-accent-rgb:var(--cyan-rgb);border:1px solid rgba(var(--paper-rgb), .17);min-height:clamp(17rem,42vh,25rem);color:var(--paper);background:linear-gradient(145deg, rgba(var(--card-accent-rgb), .09), transparent 34%), rgba(var(--surface-rgb), .93);clip-path:polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, var(--cut) 100%, 0 calc(100% - var(--cut)));text-align:left;opacity:0;pointer-events:auto;transition:transform var(--medium) var(--ease-out), border-color var(--fast) ease, box-shadow var(--medium) ease, opacity var(--medium) ease;flex-direction:column;padding:clamp(1rem,2.2vw,1.65rem);display:flex;position:relative;overflow:hidden;transform:translateY(12px)scale(.985);box-shadow:0 20px 55px #0000004d}.upgrade-card:nth-child(2){transition-delay:55ms}.upgrade-card:nth-child(3){transition-delay:.11s}.upgrade-screen:is(.is-active,.is-visible,[data-active=true],[aria-hidden=false]) .upgrade-card,.game-shell[data-state=upgrade] .upgrade-card,.game-shell[data-state=upgrading] .upgrade-card{opacity:1;transform:translateY(0)scale(1)}.upgrade-card[data-rarity=uncommon],.upgrade-card[data-type=utility]{--card-accent:var(--reward);--card-accent-rgb:var(--reward-rgb)}.upgrade-card[data-rarity=rare],.upgrade-card[data-type=power]{--card-accent:var(--warning);--card-accent-rgb:var(--warning-rgb)}.upgrade-card[data-rarity=volatile],.upgrade-card[data-type=danger]{--card-accent:var(--danger);--card-accent-rgb:var(--danger-rgb)}.upgrade-card:before{top:0;right:var(--cut);background:linear-gradient(90deg, var(--card-accent), transparent);height:3px;box-shadow:0 0 16px rgba(var(--card-accent-rgb), .38);content:"";position:absolute;left:0}.upgrade-card:after{z-index:-1;background:linear-gradient(110deg, transparent 30%, rgba(var(--paper-rgb), .055) 49%, transparent 68%);content:"";transition:transform .54s var(--ease-out);position:absolute;inset:0;transform:translate(-120%)}.upgrade-card:is(:hover,:focus-visible,.is-selected){border-color:rgba(var(--card-accent-rgb), .72);box-shadow:0 22px 65px #0000007a, 0 0 34px rgba(var(--card-accent-rgb), .13);transform:translateY(-8px)scale(1.015)}.upgrade-card:is(:hover,:focus-visible,.is-selected):after{transform:translate(120%)}.upgrade-index{color:var(--card-accent);font-family:var(--font-data);letter-spacing:.12em;font-size:.72rem}.upgrade-icon{aspect-ratio:1;border:1px solid rgba(var(--card-accent-rgb), .5);width:clamp(3.8rem,7vw,5.5rem);color:var(--card-accent);background:rgba(var(--card-accent-rgb), .07);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);font-family:var(--font-data);box-shadow:0 0 28px rgba(var(--card-accent-rgb), .1);place-items:center;margin-block:clamp(1.2rem,4vh,2.4rem);font-size:1.45rem;display:grid;position:relative}.upgrade-name{color:var(--paper);font-family:var(--font-display);letter-spacing:-.035em;text-transform:uppercase;font-size:clamp(1.35rem,2.4vw,2rem);font-weight:800;line-height:.95}.upgrade-description,.upgrade-body{color:var(--muted);margin-top:.75rem;font-size:clamp(.75rem,1.2vw,.88rem);line-height:1.55}.upgrade-stats,.upgrade-footer{border-top:1px solid var(--outline);color:var(--muted);font-family:var(--font-data);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:.65rem;margin-top:auto;padding-top:1rem;font-size:.67rem;display:flex}.upgrade-tag,.rarity-tag{color:var(--card-accent)}.results-screen,#results-screen{z-index:46;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);background:radial-gradient(circle at 50% 38%, rgba(var(--danger-rgb), .065), transparent 42%), rgba(var(--void-rgb), .78);-webkit-backdrop-filter:blur(5px)saturate(.48);backdrop-filter:blur(5px)saturate(.48);place-items:center;display:grid}.receipt,.results-receipt{width:min(29rem,100%);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom));border:1px solid rgba(var(--paper-rgb), .18);background:repeating-linear-gradient(90deg, transparent 0 10px, rgba(var(--paper-rgb), .035) 10px 11px), rgba(var(--surface-rgb), .95);box-shadow:var(--shadow);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% calc(100% - 22px),calc(100% - 22px) 100%,22px 100%,0 calc(100% - 22px));opacity:0;transition:transform .42s var(--ease-out), opacity .32s ease;padding:clamp(1.35rem,4vw,2.4rem);position:relative;overflow:auto;transform:translateY(18px)scale(.985)}.results-screen:is(.is-active,.is-visible,[data-active=true],[aria-hidden=false]) :is(.receipt,.results-receipt),.game-shell[data-state=results] :is(.receipt,.results-receipt){opacity:1;transform:translateY(0)scale(1)}.receipt:before,.results-receipt:before{background:linear-gradient(90deg, var(--danger), var(--warning), transparent);content:"";height:3px;position:absolute;top:0;left:0;right:22px}.results-title{font-family:var(--font-display);letter-spacing:-.06em;text-transform:uppercase;margin-top:.55rem;font-size:clamp(2.3rem,8vw,4.6rem);font-weight:850;line-height:.88}.result-score-block{border-block:1px solid var(--outline);margin-block:clamp(1.4rem,5vh,2.7rem);padding-block:1.1rem}.receipt-score,.results-score,#final-score{color:var(--paper);font-family:var(--font-data);letter-spacing:-.085em;font-variant-numeric:tabular-nums;margin-top:.4rem;font-size:clamp(2.7rem,10vw,5.5rem);font-weight:550;line-height:.9}.new-best,.personal-best{border:1px solid rgba(var(--reward-rgb), .42);color:var(--reward);background:rgba(var(--reward-rgb), .07);letter-spacing:.12em;text-transform:uppercase;margin-top:.65rem;padding:.28rem .5rem;font-size:.65rem;font-weight:800;display:inline-flex}.results-stats,.receipt-stats{background:var(--outline);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.result-stat{background:var(--surface);align-content:center;gap:.35rem;min-height:4.3rem;padding:.8rem;display:grid}.result-stat dd,.result-stat .value{color:var(--paper);font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:1.15rem}.receipt-actions,.results-actions{grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1.5rem;display:grid}.receipt-actions .primary-button,.receipt-actions .secondary-button,.results-actions .primary-button,.results-actions .secondary-button{min-width:0}.settings-screen,#settings-screen,.howto-screen,#howto-screen,.modal-screen{z-index:55;background:rgba(var(--void-rgb), .62);-webkit-backdrop-filter:blur(4px)saturate(.6);backdrop-filter:blur(4px)saturate(.6)}.settings-drawer,.howto-drawer,.modal-drawer{width:min(31rem,94vw);padding:var(--safe-top) max(var(--safe-right), clamp(1.25rem, 3vw, 2.25rem)) var(--safe-bottom) clamp(1.35rem, 3vw, 2.4rem);border-inline-start:1px solid rgba(var(--paper-rgb), .15);background:linear-gradient(215deg, rgba(var(--cyan-rgb), .05), transparent 30%), rgba(var(--void-rgb), .97);box-shadow:var(--shadow);transition:transform .38s var(--ease-out);scrollbar-color:var(--muted-dim) transparent;scrollbar-width:thin;position:absolute;inset:0 0 0 auto;overflow:hidden auto;transform:translate(103%)}.settings-screen:is(.is-active,.is-visible,[data-active=true],[aria-hidden=false]) :is(.settings-drawer,.modal-drawer),.howto-screen:is(.is-active,.is-visible,[data-active=true],[aria-hidden=false]) :is(.howto-drawer,.modal-drawer),.game-shell[data-state=settings] :is(.settings-drawer,.settings-screen .modal-drawer),.game-shell[data-state=howto] :is(.howto-drawer,.howto-screen .modal-drawer){transform:translate(0)}.modal-close,.drawer-close{top:var(--safe-top);right:var(--safe-right);z-index:2;position:absolute}.modal-title{font-family:var(--font-display);letter-spacing:-.06em;text-transform:uppercase;margin-top:.55rem;padding-right:3.5rem;font-size:clamp(2.3rem,7vw,4.2rem);font-weight:850;line-height:.9}.modal-intro{border-bottom:1px solid var(--outline);color:var(--muted);margin-top:.9rem;padding-bottom:1.3rem;font-size:.84rem;line-height:1.6}.settings-groups,.howto-content{gap:1.8rem;margin-top:1.7rem;display:grid}.settings-group,.howto-section{gap:.65rem;display:grid}.settings-group-title,.howto-section-title{color:var(--cyan);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.35rem;font-size:.7rem;font-weight:800}.setting-row,.control-row{border-bottom:1px solid rgba(var(--paper-rgb), .08);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:3.25rem;padding-block:.65rem;display:grid}.setting-copy,.control-copy{min-width:0}.setting-name,.control-name{color:var(--paper);letter-spacing:.035em;font-size:.82rem;font-weight:700}.setting-description,.control-description{color:var(--muted);margin-top:.18rem;font-size:.7rem;line-height:1.4}.setting-row select,.settings-select{border:1px solid var(--outline);min-width:8.5rem;min-height:2.45rem;color:var(--paper);background:var(--surface);font-family:var(--font-data);border-radius:0;padding:.45rem 2rem .45rem .7rem;font-size:.72rem}.range-wrap{grid-template-columns:minmax(0,1fr) 2.6rem;align-items:center;gap:.6rem;width:clamp(7.5rem,24vw,11rem);display:grid}input[type=range]{appearance:none;background:0 0;border:0;width:100%;height:2rem;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--cyan) var(--value,50%), rgba(var(--paper-rgb), .16) var(--value,50%));height:3px}input[type=range]::-webkit-slider-thumb{border:2px solid var(--void);appearance:none;background:var(--cyan);width:14px;height:14px;box-shadow:0 0 0 1px var(--cyan), 0 0 12px rgba(var(--cyan-rgb), .35);border-radius:0;margin-top:-5.5px;transform:rotate(45deg)}input[type=range]::-moz-range-track{background:rgba(var(--paper-rgb), .16);height:3px}input[type=range]::-moz-range-progress{background:var(--cyan);height:3px}input[type=range]::-moz-range-thumb{border:2px solid var(--void);background:var(--cyan);width:12px;height:12px;box-shadow:0 0 0 1px var(--cyan);border-radius:0;transform:rotate(45deg)}.range-output{color:var(--muted);text-align:right;font-size:.68rem}.switch{flex:none;width:3.15rem;height:1.7rem;display:inline-grid;position:relative}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch-track{border:1px solid rgba(var(--paper-rgb), .24);background:rgba(var(--paper-rgb), .05);transition:background-color var(--fast) ease, border-color var(--fast) ease;display:block}.switch-track:after{background:var(--muted);width:.7rem;height:.7rem;box-shadow:0 0 0 rgba(var(--cyan-rgb), 0);content:"";transition:left var(--medium) var(--ease-out), background-color var(--fast) ease, box-shadow var(--fast) ease;position:absolute;top:5px;left:5px;transform:rotate(45deg)}.switch input:checked+.switch-track{border-color:rgba(var(--cyan-rgb), .6);background:rgba(var(--cyan-rgb), .1)}.switch input:checked+.switch-track:after{background:var(--cyan);box-shadow:0 0 10px rgba(var(--cyan-rgb), .45);left:calc(100% - 1.15rem)}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.control-card{border:1px solid var(--outline);background:rgba(var(--paper-rgb), .025);align-content:space-between;gap:1rem;min-height:6.5rem;padding:.9rem;display:grid}.control-card .keycap,.control-card kbd{justify-self:start}.howto-step{border-bottom:1px solid rgba(var(--paper-rgb), .08);grid-template-columns:auto 1fr;gap:.9rem;padding-block:.8rem;display:grid}.howto-step-number{border:1px solid rgba(var(--cyan-rgb), .45);width:2rem;height:2rem;color:var(--cyan);font-family:var(--font-data);place-items:center;font-size:.72rem;display:grid;transform:rotate(45deg)}.howto-step-number>span{transform:rotate(-45deg)}.touch-controls,#touch-controls{z-index:28;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--medium) ease;display:none;position:absolute;inset:0}.touch-controls.is-active,.touch-controls.is-visible,.touch-controls[data-active=true],.game-shell[data-touch=true][data-state=playing] .touch-controls,.game-shell.touch-enabled[data-state=playing] .touch-controls{opacity:1;visibility:visible}.joystick-zone,#joystick-zone{--joy-x:0px;--joy-y:0px;bottom:max(1rem, env(safe-area-inset-bottom));left:max(1rem, env(safe-area-inset-left));aspect-ratio:1;border:1px solid rgba(var(--paper-rgb), .11);background:radial-gradient(circle, rgba(var(--cyan-rgb), .045), rgba(var(--void-rgb), .25) 68%, transparent 69%);pointer-events:auto;touch-action:none;border-radius:50%;place-items:center;width:clamp(7rem,24vw,9.5rem);display:grid;position:absolute}.joystick-zone:before,.joystick-zone:after{background:rgba(var(--paper-rgb), .1);content:"";position:absolute}.joystick-zone:before{width:62%;height:1px}.joystick-zone:after{width:1px;height:62%}.joystick-base{aspect-ratio:1;border:1px solid rgba(var(--cyan-rgb), .26);background:rgba(var(--void-rgb), .44);border-radius:50%;place-items:center;width:68%;display:grid}.joystick-knob{aspect-ratio:1;border:1px solid rgba(var(--cyan-rgb), .7);background:rgba(var(--cyan-rgb), .17);width:42%;box-shadow:0 0 22px rgba(var(--cyan-rgb), .16);transform:translate(var(--joy-x), var(--joy-y));border-radius:50%;transition:transform 50ms linear}.joystick-zone.is-active .joystick-knob{background:rgba(var(--cyan-rgb), .3);box-shadow:0 0 30px rgba(var(--cyan-rgb), .3)}.action-buttons,.touch-actions{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));pointer-events:none;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:.45rem;width:clamp(8.5rem,28vw,11rem);height:clamp(7.5rem,24vw,9.5rem);display:grid;position:absolute}.touch-button{--touch-accent:var(--cyan);--touch-accent-rgb:var(--cyan-rgb);border:1px solid rgba(var(--touch-accent-rgb), .54);min-width:3.6rem;min-height:3.6rem;color:var(--touch-accent);background:rgba(var(--touch-accent-rgb), .1);box-shadow:inset 0 0 18px rgba(var(--touch-accent-rgb), .06);font-family:var(--font-data);letter-spacing:.06em;text-transform:uppercase;pointer-events:auto;touch-action:none;transition:transform 70ms var(--ease-snap), background-color 70ms ease, box-shadow 70ms ease;border-radius:50%;place-items:center;font-size:.68rem;font-weight:700;display:grid}.touch-button:is(:active,.is-pressed){background:rgba(var(--touch-accent-rgb), .3);box-shadow:0 0 28px rgba(var(--touch-accent-rgb), .28);transform:scale(.91)}.touch-button.fire-button,.touch-button.primary-action{grid-area:1/2/3;place-self:center end;width:clamp(4.8rem,15vw,6.2rem)}.touch-button.dash-button{--touch-accent:var(--reward);--touch-accent-rgb:var(--reward-rgb);grid-area:2/1}.touch-button.ability-button{--touch-accent:var(--warning);--touch-accent-rgb:var(--warning-rgb);grid-area:1/1}.touch-pause,#touch-pause{top:var(--safe-top);border:1px solid rgba(var(--paper-rgb), .18);width:2.75rem;min-height:2.75rem;color:var(--muted);background:rgba(var(--void-rgb), .52);pointer-events:auto;position:absolute;left:50%;transform:translate(-50%)}.loading-screen,#loading-screen,.fallback-screen,#fallback-screen{z-index:100;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);color:var(--paper);background:radial-gradient(circle at center, rgba(var(--cyan-rgb), .08), transparent 38%), var(--void);place-items:center;display:grid}.loading-content,.fallback-content{text-align:center;justify-items:center;width:min(26rem,100%);display:grid}.loading-mark{aspect-ratio:1;border:1px solid rgba(var(--cyan-rgb), .3);border-radius:50%;width:clamp(4.5rem,12vw,7rem);margin-bottom:1.8rem;animation:3.4s linear infinite reticle-turn;position:relative}.loading-mark:before,.loading-mark:after{border:2px solid #0000;border-top-color:var(--cyan);border-bottom-color:rgba(var(--reward-rgb), .65);content:"";border-radius:50%;animation:1.1s linear infinite reverse reticle-turn;position:absolute;inset:14%}.loading-mark:after{background:var(--paper);box-shadow:0 0 18px rgba(var(--paper-rgb), .3);border:0;border-radius:0;animation:.82s ease-in-out infinite alternate loading-core;inset:38%;transform:rotate(45deg)}@keyframes reticle-turn{to{transform:rotate(1turn)}}@keyframes loading-core{0%{opacity:.45;transform:rotate(45deg)scale(.7)}to{opacity:1;transform:rotate(45deg)scale(1)}}.loading-title,.fallback-title{font-family:var(--font-display);letter-spacing:-.055em;text-transform:uppercase;font-size:clamp(2rem,8vw,4rem);font-weight:850;line-height:.9}.loading-copy,.fallback-copy{max-width:24rem;color:var(--muted);margin-top:.85rem;font-size:.82rem;line-height:1.6}.loading-progress{--progress:0%;background:rgba(var(--paper-rgb), .11);width:min(18rem,72vw);height:3px;margin-top:1.5rem;position:relative;overflow:hidden}.loading-progress:after{width:var(--progress);background:linear-gradient(90deg, var(--cyan), var(--reward));box-shadow:0 0 14px rgba(var(--cyan-rgb), .4);content:"";transition:width var(--medium) var(--ease-snap);position:absolute;inset:0 auto 0 0}.loading-status{color:var(--muted);font-family:var(--font-data);letter-spacing:.08em;text-transform:uppercase;margin-top:.65rem;font-size:.65rem}.fallback-icon{aspect-ratio:1;border:2px solid var(--danger);width:4.5rem;color:var(--danger);font-family:var(--font-data);place-items:center;margin-bottom:1.6rem;font-size:1.6rem;display:grid;transform:rotate(45deg)}.fallback-icon>span{transform:rotate(-45deg)}.fallback-actions{flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:1.5rem;display:flex}.toast-stack{z-index:70;top:var(--safe-top);pointer-events:none;gap:.5rem;width:min(24rem,100vw - 2rem);display:grid;position:absolute;left:50%;transform:translate(-50%)}.toast,.notification{border-inline-start:2px solid var(--cyan);color:var(--paper);background:rgba(var(--void-rgb), .9);letter-spacing:.04em;opacity:0;transition:transform var(--medium) var(--ease-out), opacity var(--medium) ease;padding:.75rem 1rem;font-size:.75rem;font-weight:650;transform:translateY(-10px);box-shadow:0 10px 32px #0000004d}.toast.is-visible,.notification.is-visible{opacity:1;transform:translateY(0)}.toast[data-type=danger],.notification[data-type=danger]{border-color:var(--danger)}.toast[data-type=reward],.notification[data-type=reward]{border-color:var(--reward)}}@layer utilities{.sr-only,.visually-hidden{clip:rect(0, 0, 0, 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.interactive{pointer-events:auto}.no-select{-webkit-user-select:none;user-select:none}.allow-select{-webkit-user-select:text;user-select:text}.mono{font-family:var(--font-data);font-variant-numeric:tabular-nums}}@layer responsive{@media (max-width:900px){.title-meta,.attract-meta{font-size:.625rem}.hud-wave,.hud-objective,#wave-hud{width:min(42vw,16rem)}.hud-score,#score-hud{min-width:min(40vw,14rem)}.upgrade-grid,.upgrade-options{gap:.65rem}.upgrade-card{min-height:clamp(15rem,44vh,21rem);padding:1rem}.upgrade-icon{margin-block:1.25rem}}@media (max-width:640px){:root{--hud-gap:.7rem;--cut:14px}.game-shell:before{background:radial-gradient(circle,#0000 32%,#0006 118%)}.title-screen,#title-screen{background:linear-gradient(180deg, rgba(var(--void-rgb), .56), transparent 42%), linear-gradient(0deg, rgba(var(--void-rgb), .88), transparent 58%)}.title-copy,.title-lockup{top:max(9vh, calc(var(--safe-top) + 1rem));right:var(--safe-right);max-width:none}.wordmark,.title-wordmark,#wordmark{max-width:calc(100vw - var(--safe-left) - var(--safe-right) - 1rem);overflow-wrap:anywhere;font-size:clamp(3.45rem,18vw,6.2rem);line-height:.78}.title-subtitle,.title-tagline{max-width:20rem;font-size:.7rem}.title-nav,.main-menu{right:var(--safe-right);min-width:0}.title-nav .menu-button,.main-menu .menu-button{min-height:3rem}.title-meta,.attract-meta{display:none}.hud-wave,.hud-objective,#wave-hud{width:calc(54vw - var(--safe-left));max-width:none;padding:.6rem .75rem .6rem .65rem}.hud-score,#score-hud{min-width:0;width:calc(46vw - var(--safe-right));padding:.55rem .65rem .6rem .75rem}.wave-subtitle,.objective-text,.score-heading .hud-label,.score-stat .hud-label{display:none}.wave-heading{justify-content:flex-start;gap:.5rem}.score-value,#score-value,#score{font-size:clamp(1.45rem,7vw,2.1rem)}.score-stats{gap:.45rem;margin-top:.3rem}.score-stat+.score-stat{padding-inline-start:.45rem}.score-stat strong,#mass-value,#mass,#chain-value,#chain{font-size:.82rem}.hud-health,#health-hud{min-width:9.5rem;padding:.55rem .75rem .55rem .65rem}.hud-prompt,#hud-prompt,#prompt{bottom:max(.7rem, env(safe-area-inset-bottom));max-width:calc(100vw - 1.4rem);min-height:2.25rem;padding:.45rem .75rem;font-size:.65rem}.pause-drawer,.pause-screen .drawer,.settings-drawer,.howto-drawer,.modal-drawer{width:100%;max-width:none}.upgrade-screen,#upgrade-screen{align-content:stretch;overflow-y:auto}.upgrade-header{margin-block:auto 1.1rem;padding-top:1rem}.upgrade-subtitle{font-size:.67rem}.upgrade-grid,.upgrade-options{scroll-snap-type:x mandatory;scrollbar-color:var(--muted-dim) transparent;scrollbar-width:thin;gap:.75rem;width:100%;max-width:100%;margin-bottom:auto;padding:.25rem .1rem .85rem;scroll-padding-inline:.1rem;display:flex;overflow-x:auto}.upgrade-card{scroll-snap-align:center;flex:0 0 min(78vw,19rem);min-width:min(78vw,19rem);min-height:min(23rem,55dvh)}.upgrade-card:is(:hover,:focus-visible,.is-selected){transform:translateY(-3px)scale(1.005)}.receipt,.results-receipt{max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom));padding:1.2rem}.results-stats,.receipt-stats{gap:1px}.receipt-actions,.results-actions{grid-template-columns:1fr}.setting-row,.control-row{gap:.6rem}.control-grid{grid-template-columns:1fr}.range-wrap{width:min(9rem,40vw)}}@media (max-height:610px) and (orientation:landscape){.title-copy,.title-lockup{top:var(--safe-top)}.wordmark,.title-wordmark,#wordmark{font-size:clamp(3.25rem,15vh,6rem)}.title-subtitle,.title-tagline{margin-top:.65rem}.title-nav .menu-button,.main-menu .menu-button{min-height:2.5rem;padding-block:.35rem}.title-nav .menu-button:first-child,.main-menu .menu-button:first-child{min-height:2.8rem}.upgrade-screen,#upgrade-screen{align-content:stretch;overflow-y:auto}.upgrade-header{margin-block:0 .75rem}.upgrade-title{font-size:clamp(1.8rem,8vh,3rem)}.upgrade-subtitle{display:none}.upgrade-card{min-height:12.5rem}.upgrade-icon{width:3.3rem;margin-block:.7rem}.drawer-nav,.pause-menu{margin-top:1.2rem}.drawer-button,.pause-menu .menu-button{min-height:2.4rem;padding-block:.35rem}}@media (hover:none),(pointer:coarse){.touch-controls,#touch-controls{display:block}.menu-button,.ui-button,.primary-button,.secondary-button,.drawer-button,.icon-button{min-height:3rem}.upgrade-card:hover{transform:none}.game-shell[data-state=playing] :is(.hud-health,#health-hud){bottom:max(8.6rem, calc(env(safe-area-inset-bottom) + 7.7rem))}.game-shell[data-state=playing] :is(.hud-prompt,#hud-prompt,#prompt){bottom:max(9.7rem, calc(env(safe-area-inset-bottom) + 8.8rem))}}@media (orientation:portrait) and (max-width:700px){.joystick-zone,#joystick-zone{width:clamp(7.2rem,31vw,9.3rem)}.action-buttons,.touch-actions{width:clamp(8.5rem,36vw,10.5rem);height:clamp(7.5rem,31vw,9.2rem)}.hud-health,#health-hud{bottom:max(9.2rem, calc(env(safe-area-inset-bottom) + 8.3rem))}.hud-prompt,#hud-prompt,#prompt{bottom:max(10.2rem, calc(env(safe-area-inset-bottom) + 9.3rem))}}}@layer accessibility{:where(button,[href],input,select,textarea,[tabindex]):focus{outline:none}:where(button,[href],input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--paper);outline-offset:4px;box-shadow:0 0 0 1px var(--void), 0 0 0 5px rgba(var(--cyan-rgb), .45)}.switch input:focus-visible+.switch-track{outline:2px solid var(--paper);outline-offset:4px}[aria-disabled=true],button:disabled,input:disabled,select:disabled{cursor:not-allowed;filter:saturate(0);opacity:.42}[data-contrast=high],.high-contrast{--void:#000;--void-rgb:0, 0, 0;--surface:#090909;--surface-rgb:9, 9, 9;--panel:#000;--panel-soft:#000;--paper:#fff;--paper-rgb:255, 255, 255;--muted:#e2e2e2;--muted-dim:#bdbdbd;--cyan:#00e5ff;--cyan-rgb:0, 229, 255;--danger:#ff6a55;--danger-rgb:255, 106, 85;--reward:#e6ff66;--reward-rgb:230, 255, 102;--outline:#ffffff85}[data-contrast=high] :is(.screen,.pause-screen,.settings-screen,.howto-screen,.upgrade-screen,.results-screen),.high-contrast :is(.screen,.pause-screen,.settings-screen,.howto-screen,.upgrade-screen,.results-screen){-webkit-backdrop-filter:none;backdrop-filter:none}[data-contrast=high] :is(.signal-panel,.hud-panel,.upgrade-card,.receipt,.results-receipt,.settings-drawer,.howto-drawer,.modal-drawer),.high-contrast :is(.signal-panel,.hud-panel,.upgrade-card,.receipt,.results-receipt,.settings-drawer,.howto-drawer,.modal-drawer){box-shadow:none;background-color:#000;border-color:#ffffffb3}@media (prefers-contrast:more){:root{--panel:#000000f5;--panel-soft:#000000eb;--muted:#cdd2db;--outline:#ffffff6b}:is(.pause-screen,.settings-screen,.howto-screen,.upgrade-screen,.results-screen){-webkit-backdrop-filter:none;backdrop-filter:none}}[data-motion=reduced] *,[data-motion=reduced] :before,[data-motion=reduced] :after{scroll-behavior:auto!important;transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}[data-motion=reduced] .loading-mark,[data-motion=reduced] .loading-mark:before{animation:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.loading-mark,.loading-mark:before{animation:none!important}}@media (forced-colors:active){*{box-shadow:none!important;text-shadow:none!important}.signal-panel,.hud-panel,.upgrade-card,.receipt,.results-receipt,.pause-drawer,.settings-drawer,.howto-drawer,.modal-drawer,.primary-button,.secondary-button,.touch-button{clip-path:none;forced-color-adjust:auto;background:canvas;border:1px solid canvastext}.progress-track:before,.wave-progress:before,.loading-progress:after,.health-pip,.switch input:checked+.switch-track:after{background:highlight}}}
