@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/outfit-latin-wght-normal.woff2)format("woff2-variations")}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/fonts/cormorant-garamond-latin-wght-normal.woff2)format("woff2-variations")}@font-face{font-family:Cormorant Garamond Variable;font-style:italic;font-display:swap;font-weight:300 700;src:url(/fonts/cormorant-garamond-latin-wght-italic.woff2)format("woff2-variations")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#03070a;--ink-soft:#071013;--cream:#f5ead7;--cream-dim:#c8bfae;--gold:#ffd28b;--gold-bright:#ffe9c2;--gold-deep:#d79b52;--cyan:#8df5df;--cyan-dim:#6bb9ad;--rose:#ff8ca6;--violet:#a58fff;--green:#b9f7a2;--line:#c3e7db29;--line-soft:#c3e7db14;--panel:#060e10b8;--font-ui:"Outfit Variable", "Pretendard Variable", "Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-display:"Cormorant Garamond Variable", "Nanum Myeongjo", "Batang", Georgia, serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-soft:cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body{background:var(--ink);height:100%;margin:0}body{color:var(--cream);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font-size:16px;font-weight:400;position:fixed;inset:0;overflow:hidden}body.lang-ko{word-break:keep-all}button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0}button:disabled{cursor:default}button:focus-visible,[tabindex]:focus-visible{outline:1px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}#app{isolation:isolate;position:fixed;inset:0;overflow:hidden}#game-canvas{touch-action:none;background:#03070a;width:100%;height:100%;display:block;position:absolute;inset:0}.screen{z-index:20;position:fixed;inset:0}.overlay{z-index:40;padding:calc(24px + env(safe-area-inset-top)) 22px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-backdrop-filter:blur(13px)saturate(.85);animation:overlayIn .45s var(--ease-out) both;background:radial-gradient(circle at 50% 40%,#0d1e1e70,#020507d1 72%),#020507c2;flex-direction:column;justify-content:safe center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.grain{z-index:3;pointer-events:none;opacity:.055;mix-blend-mode:soft-light;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='.86' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");background-size:180px 180px;position:fixed;inset:0}.vignette{z-index:2;pointer-events:none;background:radial-gradient(#0000 42%,#0000006b 88%,#000000ad 100%);transition:box-shadow .8s;position:fixed;inset:0}body.is-low-health .vignette{box-shadow:inset 0 0 180px #d9214238}body.is-overdrive .vignette{box-shadow:inset 0 0 170px #70ffe11f}.damage-flash,.dawn-flash{z-index:39;pointer-events:none;opacity:0;position:fixed;inset:0}.damage-flash{mix-blend-mode:screen;background:radial-gradient(#0000 32%,#ff193e2e 72%,#ff14329e 100%),linear-gradient(#ff183c0f,#ff183c0f)}.dawn-flash{mix-blend-mode:screen;background:radial-gradient(circle,#ffeec1e6,#ffbe6061 28%,#0000 63%),#ffc0681a}.boot{z-index:100;opacity:1;transition:opacity .7s var(--ease-soft);background:#03070a;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}.boot.is-hidden{opacity:0;pointer-events:none}.boot__sigil{width:54px;height:54px;animation:10s linear infinite slowSpin;position:relative}.boot__sigil span{transform-origin:50%;background:linear-gradient(#0000,#ffd596cc,#0000);width:1px;height:100%;position:absolute;top:50%;left:50%}.boot__sigil span:nth-child(2){transform:rotate(45deg)}.boot__sigil span:nth-child(3){transform:rotate(90deg)}.boot__sigil span:nth-child(4){transform:rotate(135deg)}.boot__sigil:after{content:"";background:var(--gold-bright);border-radius:50%;animation:2.4s ease-in-out infinite breathe;position:absolute;inset:17px;box-shadow:0 0 32px 8px #ffc36a80}.boot__word{font-family:var(--font-display);letter-spacing:.48em;text-indent:.48em;color:var(--cream);margin:2px 0 0;font-size:1.35rem}.boot__status{letter-spacing:.32em;text-transform:uppercase;color:#f5ead761;margin:0;font-size:9px;animation:2s ease-in-out infinite softPulse}.eyebrow{color:var(--gold);letter-spacing:.34em;text-transform:uppercase;text-align:center;justify-content:center;align-items:center;gap:14px;margin:0 0 14px;font-size:9px;font-weight:400;line-height:1.4;display:flex}.eyebrow__line{background:linear-gradient(90deg,#0000,#ffd28b8c);width:clamp(32px,6vw,78px);height:1px;display:block}.eyebrow__line:last-child{background:linear-gradient(90deg,#ffd28b8c,#0000)}.icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;overflow:visible}.icon--sound-off,.is-muted .icon--sound-on{display:none}.is-muted .icon--sound-off{display:block}.icon-btn{color:#f5ead7a8;width:42px;height:42px;transition:color .25s ease, border-color .25s ease, background-color .25s ease, transform .25s var(--ease-out);border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-btn:hover{color:var(--cream);background:#ffe2b50a;border-color:#ffdaa13d}.icon-btn:active{transform:scale(.94)}.icon-btn--text{letter-spacing:.2em;width:auto;min-width:42px;padding:0 10px;font-size:9px;font-weight:500}.icon-btn--hud{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050d0e61;border-color:#c3e7db14;width:36px;height:36px}kbd{color:#f5ead7b8;min-width:20px;height:20px;font-family:var(--font-ui);letter-spacing:.1em;vertical-align:middle;background:#ffffff09;border:1px solid #cce9dc33;border-bottom-color:#cce9dc52;border-radius:3px;justify-content:center;align-items:center;padding:0 5px;font-size:8px;font-weight:500;line-height:1;display:inline-flex;box-shadow:0 1px #0000004d}.btn{letter-spacing:.24em;text-transform:uppercase;min-height:54px;transition:transform .35s var(--ease-out), box-shadow .35s ease, border-color .35s ease, background-color .35s ease, color .35s ease;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;gap:15px;padding:0 30px;font-size:10px;font-weight:500;line-height:1;display:inline-flex;position:relative;overflow:hidden}.btn__arrow{width:17px;height:17px;transition:transform .35s var(--ease-out)}.btn--primary{color:#181008;text-shadow:0 1px #ffffff38;background:linear-gradient(120deg,#fff6e28c,#0000 34%),linear-gradient(135deg,#ffe2ab 0%,#efbb73 55%,#dda157 100%);border-color:#ffe4b56b;box-shadow:0 10px 38px #d79b522e,inset 0 1px #ffffff8c}.btn--primary:after{content:"";transition:transform .75s var(--ease-out);background:linear-gradient(110deg,#0000 30%,#ffffff42 48%,#0000 62%);position:absolute;inset:0;transform:translate(-120%)}.btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 48px #d79b524d,inset 0 1px #fff9}.btn--primary:hover:after{transform:translate(120%)}.btn--primary:hover .btn__arrow{transform:translate(4px)}.btn--primary:active{transform:translateY(0)}.btn__glow{filter:blur(18px);opacity:.4;pointer-events:none;background:#ffffff80;border-radius:50%;width:35px;height:35px;position:absolute;top:50%;left:28px;transform:translateY(-50%)}.btn--ghost{color:#f5ead7d1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#06101175;border-color:#c3e7db2e}.btn--ghost:hover{color:var(--cream);background:#0d1e1e99;border-color:#c3e7db5c}.btn--quiet{color:#f5ead773;min-height:40px}.btn--quiet:hover{color:#f5ead7cc}.btn:active{transform:translateY(0)scale(.99)}.menu{background:linear-gradient(#0205076b 0%,#0000 24% 65%,#020506d9 100%);flex-direction:column;min-height:100%;display:flex}.menu__top{z-index:2;padding:calc(22px + env(safe-area-inset-top)) clamp(22px, 4.5vw, 64px) 0;opacity:0;justify-content:space-between;align-items:center;display:flex;position:relative;transform:translateY(-8px)}body.is-ready .menu__top{animation:riseIn .9s .25s var(--ease-out) forwards}.brandmark{color:#f5ead7cc;letter-spacing:.3em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:9px;font-size:9px;font-weight:500;line-height:1;display:inline-flex}.menu__tools .icon-btn{color:#f5ead7b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050d0e3d;border-color:#c3e7db14}.brandmark__sigil{color:var(--gold);text-shadow:0 0 16px #ffd08cb3;font-size:11px}.menu__tools{align-items:center;gap:2px;display:flex}.menu__hero{z-index:2;text-align:center;opacity:0;flex-direction:column;flex:1;justify-content:center;align-items:center;width:min(940px,100%);margin:0 auto;padding:clamp(20px,3vh,46px) 22px clamp(18px,3vh,34px);display:flex;position:relative;transform:translateY(16px)}body.is-ready .menu__hero{animation:heroIn 1.2s .3s var(--ease-out) forwards}.menu .eyebrow{color:#ffd594b8;letter-spacing:.42em;margin-bottom:clamp(12px,2vh,24px);font-size:8px}.logo-wrap{justify-content:center;align-items:center;width:100%;margin:0;display:flex;position:relative}.logo-halo{filter:blur(12px);pointer-events:none;background:radial-gradient(#ffc67724,#ffa5570b 42%,#0000 72%);width:min(760px,78vw);height:min(280px,24vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-48%)}.logo{z-index:1;font-family:var(--font-display);letter-spacing:.025em;text-transform:uppercase;white-space:nowrap;filter:drop-shadow(0 10px 30px #00000073);margin:0;font-size:clamp(4.7rem,12.5vw,10.7rem);font-weight:500;line-height:.78;position:relative}.logo__lumen{color:#f6ead6;text-shadow:0 0 24px #ffefd31a,0 0 70px #ffca8214}.logo__fall{color:var(--gold);text-shadow:0 0 26px #ffc46f42,0 0 80px #ffa94f26;font-style:italic;font-weight:400}.tagline{color:var(--cream);font-family:var(--font-display);letter-spacing:.015em;margin:clamp(16px,2.4vh,26px) 0 0;font-size:clamp(1.35rem,2.1vw,1.9rem);font-style:italic;font-weight:400;position:relative}.tagline:before{content:"";background:#ffd28f80;width:24px;height:1px;margin:0 auto 13px;display:block;box-shadow:0 0 12px #ffca8073}.menu__blurb{color:#dbd7cc8f;letter-spacing:.035em;max-width:41rem;margin:12px 0 0;font-size:clamp(.75rem,.94vw,.86rem);font-weight:300;line-height:1.75}.menu__actions{justify-content:center;align-items:center;gap:12px;margin-top:clamp(25px,4vh,40px);display:flex}.menu__actions .btn--primary{min-width:236px}.menu__bottom{z-index:2;padding:0 clamp(22px, 4.5vw, 64px) calc(24px + env(safe-area-inset-bottom));opacity:0;justify-content:space-between;align-items:flex-end;gap:24px;display:flex;position:relative;transform:translateY(8px)}body.is-ready .menu__bottom{animation:riseIn .9s .65s var(--ease-out) forwards}.menu-stats{align-items:center;gap:clamp(16px,2.2vw,30px);display:flex}.menu-stat{flex-direction:column;gap:4px;display:flex}.menu-stat__label{color:#c9d3c961;letter-spacing:.26em;font-size:7px}.menu-stat__value,.run-stat__value,.end-stat__value,.level-medallion__num,.ability__cooldown{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1, "tnum" 1}.menu-stat__value{color:#faf0def2;font-family:var(--font-ui);font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1, "tnum" 1;letter-spacing:.04em;font-size:1.3rem;font-weight:300;line-height:1}.menu-stat__rule{background:#c3e7db1f;width:1px;height:26px}.menu__footnote{color:#c3cdc466;letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:10px;padding-bottom:3px;font-size:7.5px;display:flex}.mode-chip{color:#e8d9f8cc;letter-spacing:.24em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2014298c;border:1px solid #caa4ff61;border-radius:999px;align-items:center;gap:10px;margin-top:18px;padding:9px 16px;font-size:9px;transition:all .3s;display:inline-flex}.mode-chip:hover{color:#eddefae0;border-color:#c49dec6b}.mode-chip__dot{background:#c5a5ff99;border-radius:50%;width:4px;height:4px;box-shadow:0 0 8px #ae84ffcc}.mode-chip__mult{color:#ffd3948c;letter-spacing:.1em;font-size:8px}.mode-chip.is-active{color:#eadcff;background:#311e3973;border-color:#dab5ff6b;box-shadow:0 0 24px #9467db1f}.mode-chip.is-active .mode-chip__dot{background:#d9c0ff;animation:2s ease-in-out infinite softPulse}.hud{z-index:10;pointer-events:none;animation:hudIn .8s var(--ease-out) both;position:fixed;inset:0}.hud:before{content:"";pointer-events:none;background:linear-gradient(#020608c2,#0000);height:190px;position:absolute;inset:0 0 auto}.hud__top{z-index:3;padding:calc(19px + env(safe-area-inset-top)) clamp(18px, 3.4vw, 42px) 0;pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:start;display:grid;position:absolute;top:0;left:0;right:0}.brandmark--hud{color:#dfe4da6b;letter-spacing:.28em;align-self:center;font-size:8px}.brandmark--hud .brandmark__sigil{opacity:.7;font-size:9px}.brandmark__mode{color:#ffd28b75;letter-spacing:.2em;border-left:1px solid #c3e7db24;margin-left:8px;padding-left:10px;font-size:7px}.clock{text-align:center;flex-direction:column;align-items:center;gap:4px;min-width:190px;padding:5px 22px 7px;display:flex}.clock__time{color:#fcf2ddeb;font-family:var(--font-display);font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1, "tnum" 1;letter-spacing:.08em;text-shadow:0 2px 24px #00000080;font-size:clamp(1.8rem,2.8vw,2.55rem);font-weight:500;line-height:.9}.clock__label{color:#ffd28b85;letter-spacing:.28em;text-transform:uppercase;font-size:7px}.hud__tools{pointer-events:auto;justify-self:end;gap:6px;display:flex}.hud__left{top:calc(82px + env(safe-area-inset-top));z-index:2;pointer-events:none;align-items:center;gap:13px;display:flex;position:absolute;left:clamp(18px,3.4vw,42px)}.level-medallion{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(circle,#ffcc8014,#0000 68%),#050d0e73;border:1px solid #ffd59347;flex-direction:column;justify-content:center;align-items:center;width:50px;height:50px;display:flex;position:relative}.level-medallion:before,.level-medallion:after{content:"";border-top:1px solid #ffd9a08c;border-left:1px solid #ffd9a08c;width:4px;height:4px;position:absolute}.level-medallion:before{top:-1px;left:-1px}.level-medallion:after{bottom:-1px;right:-1px;transform:rotate(180deg)}.level-medallion__num{color:var(--gold-bright);font-family:var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:1.16rem;font-weight:300;line-height:1}.level-medallion__label{color:#ffd79966;letter-spacing:.18em;margin-top:2px;font-size:5.5px}.vitals{width:clamp(174px,19vw,268px)}.vitals__row{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.vitals__label{color:#d7eade8f;letter-spacing:.26em;font-size:7px}.vitals__number{color:#f9eedad1;font-variant-numeric:tabular-nums;letter-spacing:.1em;text-shadow:0 1px 6px #00000080;font-size:8.5px}.bar{background:#030809b3;border:1px solid #ffecc526;height:7px;position:relative;overflow:hidden;box-shadow:0 1px 8px #00000059}.bar__shine{pointer-events:none;background:linear-gradient(100deg,#0000 30%,#ffffff38 48%,#0000 66%);animation:6s ease-in-out infinite barShine;position:absolute;inset:0;transform:translate(-100%)}.bar--hp i{width:100%;height:100%;transition:width .28s var(--ease-soft);background:linear-gradient(90deg,#dfa45c,#ffdfa5 55%,#fff0ce);display:block;box-shadow:0 0 12px #ffc87661}.bar--xp{background:#0308098c;border-color:#0000;height:2px;margin-top:4px}.bar--xp i{background:linear-gradient(90deg, #74dfcb80, var(--cyan));width:0;height:100%;transition:width .35s var(--ease-soft);display:block;box-shadow:0 0 8px #8df5df66}.hud__stats{top:calc(83px + env(safe-area-inset-top));z-index:2;background:linear-gradient(90deg,#0000,#040b0c57);border-top:1px solid #c3e7db14;border-bottom:1px solid #c3e7db0d;align-items:center;gap:14px;padding:7px 12px;display:flex;position:absolute;right:clamp(18px,3.4vw,42px)}.run-stat{align-items:baseline;gap:6px;display:flex}.run-stat__value{color:#faefdbe6;font-family:var(--font-ui);font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1, "tnum" 1;letter-spacing:.03em;font-size:1.02rem;font-weight:300;line-height:1}.run-stat__label{color:#cae1d473;letter-spacing:.17em;font-size:6.5px}.run-stat__rule{background:#c3e7db1a;width:1px;height:15px}.hud__bottom{right:0;bottom:calc(22px + env(safe-area-inset-bottom));z-index:3;pointer-events:none;justify-content:space-between;align-items:flex-end;padding:0 clamp(18px,3.4vw,42px);display:flex;position:absolute;left:0}.controls-hint{color:#c6d5c947;letter-spacing:.13em;text-transform:uppercase;flex-wrap:wrap;gap:14px;max-width:300px;font-size:6.5px;transition:opacity .8s;display:flex}.controls-hint.is-hidden{opacity:0}.controls-hint span{align-items:center;gap:5px;display:inline-flex}.controls-hint kbd{border-color:#cee5d81f;min-width:18px;height:17px;font-size:6px}.abilities{pointer-events:auto;gap:9px;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.ability{--accent:var(--gold);clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);background:linear-gradient(120deg,#ffffff06,#0000 45%),#040b0c94;border:1px solid #c3e7db1a;align-items:center;gap:10px;min-width:148px;padding:8px 12px 8px 8px;transition:border-color .35s,background-color .35s,filter .35s;display:flex;position:relative}.ability__icon{background:radial-gradient(circle,#ffc57417,#0000 70%);border:1px solid #ffd79629;flex:none;place-items:center;width:37px;height:37px;display:grid;position:relative;overflow:hidden}.ability__icon .icon{opacity:.78;width:16px;height:16px}.ability__cooldown{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#f5ead7b3;background:#0308098c;place-items:center;font-size:9px;display:grid;position:absolute;inset:0}.ability--dash .ability__icon:before{content:"";z-index:1;background:conic-gradient(#030809bd calc(var(--charge,0) * 1turn), transparent 0);pointer-events:none;position:absolute;inset:0}.ability--dash .ability__cooldown,.ability--dash .icon{z-index:2;position:relative}.ability--dash.is-ready{border-color:#ffd59342}.ability--dash.is-ready .ability__icon{border-color:#ffd89b6b;box-shadow:0 0 20px #ffbe671f}.ability--dash.is-ready .ability__cooldown{display:none}.ability--overdrive .ability__icon{background:radial-gradient(circle,#73f4dd14,#0000 70%);border-color:#8df5df26}.ability__copy{flex-direction:column;gap:4px;min-width:0;display:flex}.ability__name{color:#f6ebd6c7;font-family:var(--font-display);letter-spacing:.02em;font-size:.94rem;font-weight:500;line-height:.9}.ability__key{color:#c3dbcf54;letter-spacing:.14em;white-space:nowrap;align-items:center;gap:5px;font-size:6px;display:inline-flex}.ability__key kbd{min-width:16px;height:15px;padding:0 3px;font-size:5.5px}.ability__meter{background:#ffffff0f;height:2px;position:absolute;bottom:2px;left:2px;right:2px;overflow:hidden}.ability__meter i{background:linear-gradient(90deg, var(--cyan-dim), var(--cyan));width:0;height:100%;transition:width .2s linear;display:block;box-shadow:0 0 8px #8df5df99}.ability--overdrive.is-ready{border-color:#8df5df6b;box-shadow:0 0 25px #4ee3c81a}.ability--overdrive.is-ready .ability__name,.ability--overdrive.is-active .ability__name{color:#d8fff7;text-shadow:0 0 18px #86ffe966}.ability--overdrive.is-ready .ability__key{color:#9effecb3}.ability--overdrive.is-active{background:linear-gradient(120deg,#fff5cd14,#0000 50%),#050f0ead;border-color:#fff0bf73;animation:1.5s ease-in-out infinite overdrivePulse}.ability--overdrive.is-active .ability__meter i{background:linear-gradient(90deg, var(--gold-deep), var(--gold-bright));box-shadow:0 0 10px #ffca7799}.boss-bar{top:calc(84px + env(safe-area-inset-top));z-index:2;width:min(520px,58vw);animation:bossIn 1s var(--ease-out) both;position:absolute;left:50%;transform:translate(-50%)}.boss-bar__head{align-items:baseline;gap:10px;margin-bottom:5px;display:flex}.boss-bar__name{color:#ffe0d4;font-family:var(--font-display);letter-spacing:.22em;text-shadow:0 0 22px #ff828961;font-size:.92rem;font-weight:600}.boss-bar__epithet{color:#ffacab59;letter-spacing:.22em;font-size:6px}.boss-bar__hp{color:#ffccc57a;font-variant-numeric:tabular-nums;margin-left:auto;font-size:8px}.boss-bar__track{background:#040709a3;border:1px solid #ffb1ab21;height:4px;position:relative;overflow:hidden}.boss-bar__track i{width:100%;height:100%;transition:width .25s var(--ease-soft);background:linear-gradient(90deg,#9b3351,#ff8c8c 55%,#ffd3b4);display:block;box-shadow:0 0 14px #ff7a7e80}.boss-bar__shine{background:linear-gradient(90deg,#0000,#ffffff59,#0000);animation:3.2s ease-in-out infinite bossShine;position:absolute;inset:0;transform:translate(-100%)}.boss-bar[data-phase="2"] .boss-bar__track i{background:linear-gradient(90deg,#9b3351,#ff8c8c 45%,#ffb17f)}.boss-bar[data-phase="3"]{animation:bossIn 1s var(--ease-out) both, bossFrenzy 2.6s ease-in-out infinite}.boss-bar[data-phase="3"] .boss-bar__track i{background:linear-gradient(90deg,#ff3c57,#ff977f 50%,#fff0c9)}.banner{z-index:5;text-align:center;opacity:0;width:min(760px,88vw);transition:opacity .5s var(--ease-soft), transform .65s var(--ease-out);pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;top:25%;left:50%;transform:translate(-50%,10px)}.banner.is-active{opacity:1;transform:translate(-50%)}.banner__kicker{color:#ffd391b8;letter-spacing:.42em;align-items:center;gap:12px;font-size:8px;display:flex}.banner__kicker:before,.banner__kicker:after{content:"";background:linear-gradient(90deg,#0000,#ffd39180);width:36px;height:1px}.banner__kicker:after{background:linear-gradient(90deg,#ffd39180,#0000)}.banner__title{color:#fff0d6;font-family:var(--font-display);letter-spacing:.035em;text-shadow:0 0 28px #ffc9843d,0 8px 34px #000000b3;margin-top:6px;font-size:clamp(2.5rem,5.2vw,4.7rem);font-weight:500;line-height:.95}.banner__sub{color:#d8dbcf7a;letter-spacing:.08em;margin-top:7px;font-size:8px;font-style:italic}.touch-ui{z-index:13;pointer-events:none;display:none;position:fixed;inset:0}body.is-touch[data-phase=playing] .touch-ui{display:block}body.is-touch[data-phase=playing] .hud__bottom,body.is-touch[data-phase=playing] .controls-hint{display:none}.joystick{bottom:calc(30px + env(safe-area-inset-bottom));left:calc(24px + env(safe-area-inset-left));pointer-events:auto;touch-action:none;background:radial-gradient(circle,#82ebd508,#0000 65%),#040c0d2e;border:1px solid #c9ebde24;border-radius:50%;width:128px;height:128px;position:absolute;box-shadow:inset 0 0 34px #00000038}.joystick__ring{border:1px dashed #c3e7db1a;border-radius:50%;position:absolute;inset:26px}.joystick__stick{pointer-events:none;background:radial-gradient(circle,#ffd28c1a,#0000 70%),#060f1099;border:1px solid #ffda9e42;border-radius:50%;width:48px;height:48px;transition:transform .12s ease-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 26px #ffba620f}.joystick.is-active .joystick__stick{border-color:#ffdca480;transition:none;box-shadow:0 0 30px #ffba6224}.touch-actions{right:calc(22px + env(safe-area-inset-right));bottom:calc(28px + env(safe-area-inset-bottom));pointer-events:auto;align-items:flex-end;gap:12px;display:flex;position:absolute}.touch-btn{--fill:0%;color:#f5ead799;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);touch-action:none;background:#040c0d6b;border:1px solid #c3e7db29;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:transform .12s,border-color .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.touch-btn:after{content:"";pointer-events:none;border:1px solid #c3e7db12;border-radius:50%;position:absolute;inset:5px}.touch-btn .icon{z-index:2;width:22px;height:22px;position:relative}.touch-btn>span{z-index:2;letter-spacing:.14em;font-size:6px;position:relative}.touch-btn__fill{z-index:1;height:var(--fill,0%);background:#ffc8790f;transition:height .15s linear;position:absolute;bottom:0;left:0;right:0}.touch-btn--dash{border-color:#ffd89a38;width:82px;height:82px}.touch-btn--overdrive{border-color:#8df5df2b;width:64px;height:64px;margin-bottom:8px}.touch-btn--overdrive .icon{width:18px;height:18px}.touch-btn.is-ready{color:var(--gold-bright);border-color:#ffdfaa99;box-shadow:0 0 26px #ffc06621}.touch-btn--overdrive.is-ready{color:#dcfff8;border-color:#9affed99;box-shadow:0 0 26px #6ff0d82b}.touch-btn.is-active{color:#fff7dd;border-color:#ffefbeb3;animation:1.5s ease-in-out infinite overdrivePulse}.touch-btn.is-pressed{transform:scale(.92)}.overlay--upgrade{background:radial-gradient(circle at 50% 46%,#1325227a,#020507e6 68%),#020507d1;justify-content:safe center}.upgrade__head{text-align:center;max-width:760px;margin-bottom:clamp(22px,4vh,38px);padding:0 22px}.overlay__title{color:var(--cream);font-family:var(--font-display);letter-spacing:.005em;text-shadow:0 4px 30px #0006;margin:0;font-size:clamp(2.35rem,4.5vw,4.1rem);font-weight:500;line-height:.98}.overlay__sub{color:#d4dbd078;letter-spacing:.08em;margin:10px 0 0;font-size:9px;line-height:1.7}.upgrade__head .eyebrow{margin-bottom:15px}.upgrade-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.5vw,18px);width:min(1100px,91vw);margin:0 auto;display:grid}.upgrade-card{--accent:var(--gold);--accent-rgb:255, 210, 139;border:1px solid rgba(var(--accent-rgb), .33);background:linear-gradient(155deg, rgba(var(--accent-rgb), .13), transparent 42%), linear-gradient(180deg, #122322f0, #060e11f7);min-height:300px;color:var(--cream);text-align:left;clip-path:polygon(0 0,calc(100% - 17px) 0,100% 17px,100% 100%,17px 100%,0 calc(100% - 17px));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .45s var(--ease-out), border-color .35s ease, box-shadow .4s ease, opacity .3s ease;animation:cardIn .65s var(--delay,0s) var(--ease-out) both;flex-direction:column;align-items:flex-start;padding:22px 22px 18px;display:flex;position:relative;overflow:hidden}.upgrade-card:before{content:"";background:linear-gradient(180deg, transparent, rgba(var(--accent-rgb), .8), transparent);opacity:.75;width:1px;height:100%;position:absolute;top:0;left:0}.upgrade-card:after{content:"";border:1px solid rgba(var(--accent-rgb), .13);width:170px;height:170px;box-shadow:0 0 0 23px rgba(var(--accent-rgb), .045), 0 0 0 47px rgba(var(--accent-rgb), .025);pointer-events:none;border-radius:50%;position:absolute;bottom:-60px;right:-45px}.upgrade-card__wash{background:radial-gradient(circle at 18% 12%, rgba(var(--accent-rgb), .19), transparent 48%), linear-gradient(180deg, rgba(var(--accent-rgb), .035), transparent 55%);opacity:.72;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.upgrade-card:hover{border-color:rgba(var(--accent-rgb), .5);box-shadow:0 24px 70px #00000057, 0 0 40px rgba(var(--accent-rgb), .05), inset 0 0 40px rgba(var(--accent-rgb), .025);transform:translateY(-7px)}.upgrade-card:hover .upgrade-card__wash{opacity:1}.upgrade-card__top{z-index:1;justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex;position:relative}.upgrade-card__category{color:rgba(var(--accent-rgb), .85);letter-spacing:.28em;text-shadow:0 0 14px rgba(var(--accent-rgb), .25);font-size:7.5px}.upgrade-card__rarity{color:rgba(var(--accent-rgb), .95);letter-spacing:.2em;font-size:6.5px}.upgrade-card__icon{z-index:1;border:1px solid rgba(var(--accent-rgb), .42);background:radial-gradient(circle, rgba(var(--accent-rgb), .23), transparent 72%), #04090b61;width:54px;height:54px;color:var(--accent);box-shadow:0 0 32px rgba(var(--accent-rgb), .16), inset 0 0 20px rgba(var(--accent-rgb), .07);border-radius:50%;place-items:center;margin:20px 0 17px;display:grid;position:relative}.upgrade-card__icon:before,.upgrade-card__icon:after{content:"";border:1px solid rgba(var(--accent-rgb), .1);pointer-events:none;border-radius:50%;position:absolute}.upgrade-card__icon:before{border-style:dashed;inset:-6px}.upgrade-card__icon:after{border-color:rgba(var(--accent-rgb), .07);inset:9px}.upgrade-card__icon svg{width:25px;height:25px}.upgrade-card__name{z-index:1;color:#f7ecd9;font-family:var(--font-display);letter-spacing:.005em;margin:0;font-size:clamp(1.45rem,2vw,1.85rem);font-weight:500;line-height:1;position:relative}.upgrade-card__description{z-index:1;color:#dae4dab3;letter-spacing:.015em;margin-top:10px;font-size:.77rem;font-weight:300;line-height:1.65;display:block;position:relative}.upgrade-card__foot{z-index:1;align-items:center;width:100%;margin-top:auto;padding-top:21px;display:flex;position:relative}.upgrade-card__rank{color:rgba(var(--accent-rgb), .65);letter-spacing:.2em;white-space:nowrap;font-size:6.5px}.upgrade-card__pips{gap:3px;margin-left:9px;display:flex}.upgrade-card__pips i{background:rgba(var(--accent-rgb), .12);width:11px;height:2px;display:block}.upgrade-card__pips i.is-filled{background:rgba(var(--accent-rgb), .45)}.upgrade-card__pips i.is-next{background:var(--accent);box-shadow:0 0 8px rgba(var(--accent-rgb), .45)}.upgrade-card__key{color:#d3e9dc66;font-variant-numeric:tabular-nums;border:1px solid #d3e9dc1f;border-radius:50%;place-items:center;width:22px;height:22px;margin-left:auto;font-size:8px;display:grid}.upgrade-card--motion{--accent:var(--cyan);--accent-rgb:141, 245, 223}.upgrade-card--ward{--accent:#f0a8be;--accent-rgb:240, 168, 190}.upgrade-card--fabled:before{background:linear-gradient(180deg, transparent, rgba(var(--accent-rgb), .9), transparent);opacity:.8}.upgrade-card.is-chosen{border-color:var(--accent);box-shadow:0 0 0 1px rgba(var(--accent-rgb), .24), 0 0 70px rgba(var(--accent-rgb), .16), inset 0 0 60px rgba(var(--accent-rgb), .04);transform:translateY(-5px)scale(1.015)}.upgrade-cards.is-choosing .upgrade-card{pointer-events:none}.upgrade-cards.is-choosing .upgrade-card:not(.is-chosen){opacity:.2;transform:scale(.98)}.upgrade__foot{color:#cbdbd047;letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:9px;margin-top:clamp(20px,3.5vh,32px);font-size:7px;display:flex}.upgrade__foot>span:first-child{gap:4px;display:flex}.modal{text-align:center;width:min(430px,100%);animation:modalIn .55s var(--ease-out) both;background:linear-gradient(145deg,#ffdaa009,#0000 32%),linear-gradient(#0b1717ed,#040a0cf7);border:1px solid #c3e7db24;padding:clamp(32px,4vw,48px) clamp(26px,3.5vw,44px);position:relative;box-shadow:0 35px 100px #00000080,inset 0 1px #fff5e00a}.modal:before,.modal:after{content:"";background:linear-gradient(#0000,#ffd39161,#0000);width:1px;height:38px;position:absolute}.modal:before{top:24px;left:-1px}.modal:after{bottom:24px;right:-1px}.modal .eyebrow{color:#ffd3918c;margin-bottom:15px;font-size:7.5px}.modal .overlay__title{font-size:clamp(2.2rem,4vw,3.25rem)}.modal .overlay__sub{max-width:310px;margin:9px auto 0}.modal--wide{width:min(790px,100%);padding:clamp(32px,4vw,52px) clamp(24px,4vw,58px)}.modal__close{width:36px;height:36px;position:absolute;top:16px;right:16px}.pause__actions{flex-direction:column;gap:9px;margin-top:30px;display:flex}.pause__actions .btn{width:100%}.pause__settings{border-top:1px solid #c3e7db17;flex-direction:column;margin-top:29px;display:flex}.setting-row{color:#d5ded48a;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #c3e7db12;justify-content:space-between;align-items:center;width:100%;min-height:43px;font-size:8.5px;transition:color .25s;display:flex}.setting-row:hover{color:var(--cream)}.setting-row__value{color:#ffd39199;letter-spacing:.18em;font-size:7.5px}.modal__footnote{color:#c4d7cb40;letter-spacing:.14em;margin:24px 0 0;font-size:7px;line-height:1.7}.help__grid{text-align:left;grid-template-columns:1fr 1.18fr;gap:clamp(26px,4vw,54px);margin-top:clamp(25px,4vh,38px);display:grid}.help__heading{color:#ffd3917a;letter-spacing:.29em;border-bottom:1px solid #c3e7db17;margin:0 0 17px;padding-bottom:10px;font-size:7px;font-weight:500}.control-row{color:#d7ded394;letter-spacing:.035em;align-items:center;gap:14px;min-height:34px;font-size:8.5px;display:flex}.keys{flex:0 0 94px;gap:3px;display:flex}.keys kbd:last-child{margin-right:0}.help__touch{color:#c3dbcf47;letter-spacing:.03em;margin:12px 0 0;font-size:7.5px;line-height:1.7}.help__list{flex-direction:column;gap:13px;margin:0;padding:0;list-style:none;display:flex}.help__list li{color:#d7ded394;letter-spacing:.015em;align-items:flex-start;gap:12px;font-size:8.5px;line-height:1.7;display:flex}.help__rune{color:#ffd3918c;text-shadow:0 0 15px #ffcb844d;flex:none;font-size:10px;line-height:1.5}.modal__cta{min-width:190px;margin-top:clamp(26px,4vh,38px)}.overlay--end{background:radial-gradient(circle at 50% 40%,#1c151861,#020507d9 68%),#020507bd}.overlay--end.is-victory{background:radial-gradient(circle at 50% 42%,#5e421e3d,#050909db 68%),radial-gradient(circle at 50% 105%,#43635224,#0000 48%),#020507b3}.modal--end{width:min(610px,100%);padding:clamp(36px,4.5vw,57px) clamp(25px,4vw,54px) 34px;overflow:hidden}.modal--end:after{display:none}.modal--end>*{z-index:1;position:relative}.modal--end .eyebrow{color:#ff9ea69e}.end__title{color:#f0dcd3;font-family:var(--font-display);letter-spacing:.005em;text-shadow:0 0 45px #ff6f8021;margin:0;font-size:clamp(3rem,6.4vw,5.1rem);font-weight:500;line-height:.9}.is-victory .end__title{color:#fff0d3;text-shadow:0 0 34px #ffcb7f3d,0 0 90px #ffaf551f}.is-victory .modal--end .eyebrow{color:#ffd594b3}.end__quote{color:#d9dacf78;max-width:360px;font-family:var(--font-display);margin:12px auto 0;font-size:1.15rem;font-style:italic;line-height:1.35}.end__stats{border-top:1px solid #c3e7db17;border-bottom:1px solid #c3e7db17;grid-template-columns:repeat(4,1fr);gap:0;margin-top:clamp(25px,4vh,37px);padding:18px 0;display:grid}.end-stat{border-right:1px solid #c3e7db12;flex-direction:column;gap:6px;padding:0 9px;display:flex}.end-stat:last-child{border-right:0}.end-stat__label{color:#c8d7cb52;letter-spacing:.16em;font-size:6px;line-height:1.5}.end-stat__value{color:#f7ecd7e0;font-family:var(--font-ui);font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1, "tnum" 1;letter-spacing:.035em;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:300;line-height:1}.is-victory .end-stat:last-child .end-stat__value{color:var(--gold-bright)}.end__best{color:var(--gold);letter-spacing:.24em;text-transform:uppercase;align-items:center;gap:7px;margin:17px 0 0;font-size:7.5px;animation:2.8s ease-in-out infinite softPulse;display:inline-flex}.end__best span:first-child{text-shadow:0 0 15px #ffd08bb3;font-size:10px}.end__unlock{color:#dccbf699;letter-spacing:.035em;background:#553e7214;border:1px solid #bea6ff29;max-width:400px;margin:16px auto 0;padding:10px 16px;font-size:7.5px;line-height:1.7}.end__actions{justify-content:center;gap:9px;margin-top:27px;display:flex}.end__actions .btn--primary{min-width:164px}.modal--end .modal__footnote{margin-top:23px}.noscript{z-index:200;background:var(--ink);color:var(--cream);font-family:var(--font-display);text-align:center;place-items:center;padding:30px;font-size:1.5rem;display:grid;position:fixed;inset:0}@media (width<=1200px){.boss-bar{top:calc(138px + env(safe-area-inset-top))}}@media (width<=880px){.menu__blurb{max-width:27rem}.menu__footnote{display:none}.menu__bottom{justify-content:center}.brandmark--hud{font-size:7px}.brandmark--hud .brandmark__mode{display:none}.hud__left{top:calc(72px + env(safe-area-inset-top));gap:9px}.vitals{width:clamp(145px,27vw,210px)}.level-medallion{width:43px;height:43px}.level-medallion__num{font-size:1.2rem}.hud__stats{top:calc(73px + env(safe-area-inset-top));background:0 0;gap:9px;padding:5px 0 5px 9px}.run-stat__value{font-size:.85rem}.run-stat__label{letter-spacing:.1em;font-size:5px;display:block}.clock{min-width:150px;padding-left:10px;padding-right:10px}.boss-bar{top:calc(126px + env(safe-area-inset-top));width:min(470px,65vw)}.banner{top:22%}.banner__title{font-size:clamp(2.2rem,7vw,3.8rem)}.upgrade-cards{grid-template-columns:1fr;width:min(500px,91vw);max-height:none}.upgrade-card{min-height:0;padding:16px 19px 14px}.upgrade-card__icon{width:43px;height:43px;margin:13px 0 12px}.upgrade-card__icon svg{width:21px;height:21px}.upgrade-card__name{font-size:1.4rem}.upgrade-card__description{margin-top:5px;font-size:.7rem;line-height:1.5}.upgrade-card__foot{padding-top:13px}.upgrade__head{margin-bottom:20px}.upgrade__foot{margin-top:20px}.help__grid{grid-template-columns:1fr;gap:25px}.modal--wide{max-height:calc(100dvh - 40px);overflow-y:auto}.modal--wide .modal__cta{margin-top:26px}.controls-hint{display:none}.hud__bottom{justify-content:center;align-items:flex-end}.abilities{position:relative;left:auto;transform:none}}@media (width<=620px){.menu{overflow-y:auto}.menu__top{padding-top:calc(17px + env(safe-area-inset-top))}.brandmark--menu{letter-spacing:.22em;font-size:8px}.menu__hero{justify-content:center;padding-top:34px;padding-bottom:22px}.logo{letter-spacing:.015em;font-size:clamp(3.5rem,14.2vw,5.2rem)}.logo-halo{height:120px}.menu .eyebrow{letter-spacing:.3em;font-size:6.5px}.eyebrow__line{width:24px}.tagline{font-size:1.27rem}.menu__blurb{max-width:20rem;font-size:.72rem;line-height:1.65}.menu__actions{flex-direction:column;gap:8px;width:min(290px,100%);margin-top:24px}.menu__actions .btn{width:100%;min-height:51px}.menu__actions .btn--primary{min-width:0}.mode-chip{margin-top:14px}.menu__bottom{padding-bottom:calc(18px + env(safe-area-inset-bottom))}.menu-stats{gap:15px}.menu-stat__value{font-size:1.15rem}.menu-stat__label{font-size:6px}.hud__top{padding:calc(13px + env(safe-area-inset-top)) 14px 0}.brandmark--hud>span:not(.brandmark__sigil){display:none}.hud__tools{gap:3px}.icon-btn--hud{width:33px;height:33px}.clock{min-width:125px;padding:2px 6px}.clock__time{font-size:1.65rem}.clock__label{letter-spacing:.2em;white-space:nowrap;font-size:6px}.hud__left{top:calc(61px + env(safe-area-inset-top));left:14px}.vitals{width:136px}.vitals__label{font-size:5.5px}.vitals__number{font-size:7px}.hud__stats{top:calc(63px + env(safe-area-inset-top));padding-right:0;right:14px}.run-stat{flex-direction:column;align-items:flex-end;gap:2px}.run-stat__value{font-size:.8rem}.run-stat__label{letter-spacing:.12em;font-size:5px;display:block}.run-stat__rule{height:19px}.boss-bar{top:calc(112px + env(safe-area-inset-top));width:calc(100vw - 28px);max-width:390px}.boss-bar__epithet{display:none}.boss-bar__name{letter-spacing:.15em;font-size:.72rem}.boss-bar__hp{font-size:7px}.hud__bottom{align-items:center;padding:0}.abilities{gap:0;width:min(320px,100vw);padding:0 8px}.ability{clip-path:none;background:#030a0b73;border:0;flex:1;min-width:0}.ability__name{font-size:.8rem}.ability--dash{border-right:1px solid #c3e7db14}.ability__key{display:none}.ability__icon{width:31px;height:31px}.banner{top:23%}.banner__kicker{letter-spacing:.28em;font-size:6.5px}.banner__title{font-size:clamp(2rem,10.5vw,3.2rem)}.banner__sub{font-size:7px}.upgrade__head{padding:0 18px}.upgrade__head .overlay__title{font-size:clamp(1.9rem,8.7vw,2.7rem)}.upgrade__head .overlay__sub{font-size:8px}.upgrade-cards{gap:8px;width:calc(100vw - 28px)}.overlay--upgrade{padding-top:calc(22px + env(safe-area-inset-top));padding-bottom:calc(18px + env(safe-area-inset-bottom));justify-content:flex-start}.upgrade-card{min-height:0;padding:13px 15px 11px}.upgrade-card__top{align-items:flex-start}.upgrade-card__icon{width:37px;height:37px;margin:0;position:absolute;top:12px;right:14px}.upgrade-card__icon svg{width:18px;height:18px}.upgrade-card__name{margin-top:7px;font-size:1.28rem}.upgrade-card__description{padding-right:37px;font-size:.67rem}.upgrade-card__foot{padding-top:10px}.upgrade-card__pips{margin-left:7px}.upgrade-card__pips i{width:8px}.upgrade-card__key{width:18px;height:18px;font-size:7px}.modal{padding:32px 23px}.modal--wide{padding:34px 21px 30px}.modal .overlay__title{font-size:clamp(2rem,8.5vw,2.7rem)}.modal__close{top:11px;right:11px}.pause__actions,.pause__settings{margin-top:23px}.control-row{align-items:flex-start;gap:10px;font-size:8px}.keys{flex-basis:88px}.help__list li{font-size:8px}.modal--end{padding-top:35px}.end__title{font-size:clamp(2.7rem,13vw,4rem)}.end__quote{font-size:1rem}.end__stats{grid-template-columns:repeat(2,1fr);gap:13px 0;padding:15px 0}.end-stat{border-right:0}.end-stat:nth-child(odd){border-right:1px solid #c3e7db12}.end-stat__label{font-size:5.5px}.end__actions{flex-direction:column}.end__actions .btn{width:100%}.end__actions .btn--primary{min-width:0}.touch-ui,body.is-touch[data-phase=playing] .hud__bottom{display:none}body.is-touch[data-phase=playing] .touch-ui{display:block}.joystick{bottom:calc(23px + env(safe-area-inset-bottom));left:calc(17px + env(safe-area-inset-left));width:112px;height:112px}.joystick__stick{width:43px;height:43px}.touch-actions{right:calc(16px + env(safe-area-inset-right));bottom:calc(21px + env(safe-area-inset-bottom));gap:9px}.touch-btn--dash{width:76px;height:76px}.touch-btn--overdrive{width:58px;height:58px}.controls-hint{display:none}.modal__footnote{margin-top:19px;font-size:6.5px}}@media (height<=520px){.overlay{padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:calc(12px + env(safe-area-inset-bottom))}.modal{padding:21px 27px 18px}.modal .eyebrow{margin-bottom:8px}.modal .overlay__title{font-size:clamp(1.7rem,7vh,2.35rem)}.modal .overlay__sub{margin-top:4px;font-size:7.5px}.modal__close{top:8px;right:8px}.pause__actions{flex-flow:wrap;gap:7px;margin-top:14px}.pause__actions .btn{flex:44%;min-height:40px;padding:0 14px}.pause__settings{margin-top:13px}.setting-row{min-height:32px}.modal__footnote{margin-top:10px;font-size:6px}.help__grid{margin-top:15px}.modal__cta{min-height:42px;margin-top:14px}}@media (height<=720px) and (width>=621px){.menu__hero{padding-top:10px;padding-bottom:10px}.logo{font-size:clamp(4rem,10.5vw,7.6rem)}.menu__blurb{margin-top:8px}.menu__actions{margin-top:21px}.tagline{margin-top:14px;font-size:1.25rem}.upgrade-card{min-height:280px;padding:17px 18px 14px}.upgrade-card__icon{width:44px;height:44px;margin:13px 0 12px}.upgrade-card__name{font-size:1.45rem}.upgrade__head{margin-bottom:16px}.overlay--upgrade{justify-content:flex-start;padding-top:20px}}@media (height<=640px) and (width<=900px){.menu__hero{justify-content:flex-start;padding-top:25px}.logo{font-size:3.6rem}.menu__blurb{display:none}.tagline{margin-top:11px;font-size:1.1rem}.menu__actions{margin-top:18px}}@media (height<=560px) and (width>=680px){.overlay.overlay--upgrade{justify-content:safe center;padding:10px 20px}.upgrade__head{margin-bottom:12px;padding:0}.upgrade__head .eyebrow{margin-bottom:4px}.upgrade__head .overlay__title{font-size:clamp(1.9rem,7vh,2.6rem)}.upgrade__head .overlay__sub{margin-top:3px;font-size:7.5px}.upgrade-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(1060px,95vw)}.upgrade-card{min-height:0;padding:12px 15px 10px}.upgrade-card__icon{width:42px;height:42px;margin:9px 0 10px}.upgrade-card__icon svg{width:20px;height:20px}.upgrade-card__name{font-size:1.3rem}.upgrade-card__description{margin-top:5px;padding-right:0;font-size:.68rem;line-height:1.45}.upgrade-card__foot{padding-top:8px}.upgrade__foot{margin-top:10px}}@media (hover:none){.controls-hint,body.is-touch[data-phase=playing] .hud__bottom{display:none}}body.reduced-motion *,body.reduced-motion :before,body.reduced-motion :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.grain{display:none}}@keyframes riseIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes heroIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(14px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes hudIn{0%{opacity:0}to{opacity:1}}@keyframes cardIn{0%{opacity:0;transform:translateY(19px)}to{opacity:1;transform:translateY(0)}}@keyframes bossIn{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}@keyframes bossFrenzy{0%,to{filter:drop-shadow(0 0 #ff365200)}50%{filter:drop-shadow(0 0 12px #ff365238)}}@keyframes bossShine{0%,55%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes barShine{0%,70%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes overdrivePulse{0%,to{filter:brightness()}50%{filter:brightness(1.22)}}@keyframes slowSpin{to{transform:rotate(360deg)}}@keyframes breathe{0%,to{opacity:.65;transform:scale(.86)}50%{opacity:1;transform:scale(1)}}@keyframes softPulse{0%,to{opacity:.45}50%{opacity:1}}
