:root{--canvas-bg: #0a0f24;--canvas-bg-tile-size: 40px;--overlay-bg: rgba(10, 14, 36, .92);--overlay-text: #e2e8f0;--overlay-btn-bg: #00f5d4;--overlay-btn-hover: #00dfc0;--hud-bg: rgba(8, 14, 36, .6);--hud-text: #fff;--shake-ui-bg: rgba(13, 22, 52, .95);--action-btn-bg: #00f5d4;--action-btn-hover: #00dfc0;--shop-btn-bg: rgba(0, 245, 212, .12);--shop-btn-hover: rgba(0, 245, 212, .22);--primary-btn-bg: #00f5d4;--primary-btn-hover: #00dfc0;--font-family: "Space Grotesk", "Segoe UI", system-ui, sans-serif;--overlay-padding: 2rem;--overlay-btn-padding: 12px 24px;--overlay-btn-font-size: 1.1rem;--hud-font-size: 14px;--hud-gap: 12px;--shake-controls-gap: 10px;--flask-container-min-height: 280px;--hud-card-bg: rgba(13, 22, 52, .86);--panel-border: rgba(132, 235, 220, .17);--panel-border-strong: rgba(132, 235, 220, .28);--panel-glow: rgba(0, 245, 212, .12);--panel-radius: 16px;--fall-hud-rim: rgba(0, 245, 212, .42);--fall-hud-rim-soft: rgba(0, 245, 212, .22);--surface-deepest: #060a1e;--surface-deep: #0a1432;--surface-elev: #0d1a3c;--surface-glass: rgba(13, 22, 52, .92);--surface-glass-hi: rgba(20, 32, 68, .86);--surface-glass-lo: rgba(8, 14, 32, .94);--inner-highlight: rgba(255, 255, 255, .06);--inner-shadow-bottom: rgba(2, 6, 18, .42);--panel-shadow-soft: 0 10px 26px -10px rgba(2, 6, 18, .55), 0 0 22px var(--panel-glow);--panel-inner-light: inset 0 1px 0 var(--inner-highlight), inset 0 -1px 0 var(--inner-shadow-bottom);--neon-grid-tile: 36px;--neon-grid-color: rgba(0, 245, 212, .035);--holo-panel-stack: radial-gradient(ellipse 125% 60% at 50% 0%, rgba(0, 245, 212, .09), transparent 54%), radial-gradient(ellipse 95% 55% at 84% 24%, rgba(0, 210, 220, .055), transparent 50%), radial-gradient(ellipse 80% 50% at 12% 12%, rgba(114, 9, 183, .065), transparent 52%), linear-gradient(180deg, rgba(40, 110, 170, .11) 0%, transparent 42%), linear-gradient(180deg, var(--surface-elev) 0%, var(--surface-deep) 58%, var(--surface-deepest) 100%)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:radial-gradient(ellipse 85% 70% at 50% 45%,rgba(14,40,72,.35) 0%,transparent 55%),radial-gradient(ellipse 80% 60% at 50% 0%,rgba(0,245,212,.04),transparent 58%),linear-gradient(180deg,#0c1430,#080d1f 55%,#06091e);background-color:var(--canvas-bg);overflow:hidden;margin:0;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center}#app{position:relative;width:1024px;height:768px;max-width:none;max-height:none;overflow:hidden;isolation:isolate;background-color:var(--canvas-bg);box-shadow:inset 0 0 120px #00f5d40a,inset 0 -80px 100px #02061259}#app:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .25s ease;background:radial-gradient(circle at center,#ef444400 35%,#ef44441f);z-index:9}#app.hp-danger:after{opacity:.65}#app.hp-critical:after{opacity:1;animation:hp-critical-pulse .9s ease-in-out infinite}@keyframes hp-critical-pulse{0%,to{opacity:.85}50%{opacity:1}}#gameCanvas{display:block;width:100%;height:100%;background-color:var(--canvas-bg)}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--overlay-bg);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:var(--overlay-padding);color:var(--overlay-text);transition:opacity .4s ease-out}.overlay.transition-in{animation:overlay-fade-in .5s ease-out forwards}.overlay.transition-out{animation:overlay-fade-out .4s ease-out forwards}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes overlay-fade-out{0%{opacity:1}to{opacity:0}}.overlay h1,.overlay h2{font-size:1.8rem;font-weight:600}.end-overlay-title{animation:end-title-pop .6s cubic-bezier(.34,1.56,.64,1) .1s both}.end-overlay-subtitle{font-size:1rem;color:#ffffffd9;animation:end-subtitle-fade .5s ease-out .4s both}.overlay.overlay--phase-bridge{gap:1.1rem;background-color:var(--canvas-bg);background-image:radial-gradient(ellipse 85% 70% at 50% 42%,#00f5d41f,#0a0f2400 58%),radial-gradient(ellipse 70% 60% at 50% 100%,#7209b71a,#0a0f2400 72%),linear-gradient(180deg,#0c1430,#080d1f 55%,#06091e)}.end-overlay-visual{width:min(78vw,440px);max-height:min(42vh,320px);display:flex;align-items:center;justify-content:center;margin-bottom:.25rem;padding:10px 14px;border-radius:20px;background:linear-gradient(180deg,var(--surface-elev) 0%,var(--surface-deepest) 100%);box-shadow:inset 0 1px #ffffff14,0 0 28px #00f5d41f}.end-overlay-hero-img{width:100%;height:auto;max-height:min(42vh,320px);object-fit:contain;display:block;filter:drop-shadow(0 0 20px rgba(0,245,212,.45)) drop-shadow(0 0 48px rgba(0,245,212,.2));animation:end-bridge-hero-in .65s cubic-bezier(.34,1.56,.64,1) .05s both}@keyframes end-bridge-hero-in{0%{opacity:0;transform:scale(.9) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (prefers-reduced-motion: reduce){.end-overlay-hero-img{animation:none!important;opacity:1;transform:none}}.end-run-summary{display:grid;grid-template-columns:repeat(3,minmax(88px,1fr));gap:8px;width:min(86vw,420px)}.end-run-summary-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 10px;border-radius:8px;background:#0f172aad;border:1px solid rgba(148,163,184,.3)}.end-run-summary-item .label{font-size:11px;opacity:.85}@keyframes end-title-pop{0%{opacity:0;transform:scale(.8) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes end-subtitle-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.overlay-btn{padding:var(--overlay-btn-padding);font-size:var(--overlay-btn-font-size);background:var(--overlay-btn-bg);color:#fff;border:none;border-radius:8px;cursor:pointer;font-family:inherit}.overlay-btn:hover{background:var(--overlay-btn-hover)}.hidden{display:none!important}.player-hud{position:absolute;top:12px;left:12px;z-index:21;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:10px;pointer-events:none;box-sizing:border-box;overflow:visible}.hud-lives{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:5px;flex-shrink:0;padding:0 12px;border-radius:999px;height:36px;min-height:36px;box-sizing:border-box}.hud-heart{display:inline-flex;line-height:0}.hud-heart-svg{display:block;overflow:visible}.hud-heart-depth{fill:#00232aa6;stroke:none}.hud-heart-body{stroke:none}.hud-heart-rim{fill:none;stroke-width:1.35;stroke-linejoin:round;vector-effect:non-scaling-stroke}.hud-heart-shine{fill:#ffffff6b;stroke:none;filter:blur(.2px)}.hud-heart--empty .hud-heart-body{fill:#1e323a59}.hud-heart--empty .hud-heart-rim{stroke:#64828c73}.hud-heart--filled .hud-heart-rim{stroke:#c8fffaf2;filter:drop-shadow(0 0 3px rgba(0,245,212,.85))}.hud-heart--filled .hud-heart-svg{filter:drop-shadow(0 2px 1px rgba(0,25,30,.75)) drop-shadow(0 0 6px rgba(0,245,212,.45))}.gem-badge{display:inline-flex;align-items:center;flex-shrink:0;gap:8px;min-width:92px;padding:8px 12px;border-radius:999px;color:#e2e8f0;font-weight:700;font-size:16px}.gem-icon{width:18px;height:18px;object-fit:contain;filter:drop-shadow(0 0 6px rgba(56,189,248,.45))}.gem-badge.gem-pop{animation:gem-pop .28s ease-out}.player-hud .gem-badge{height:36px;min-height:36px;padding:0 12px;box-sizing:border-box}.score-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:190px;box-sizing:border-box;color:#f8fafc;text-align:center}.score-panel.shake-score-panel{width:100%;min-width:0;margin-bottom:8px;padding:14px 22px;border:1px solid rgba(0,245,212,.32);border-radius:14px;background:radial-gradient(circle at 50% 18%,rgba(0,245,212,.11),transparent 58%),linear-gradient(180deg,var(--surface-glass-hi) 0%,var(--surface-glass-lo) 100%),radial-gradient(ellipse 125% 60% at 50% -5%,rgba(0,245,212,.07),transparent 52%),radial-gradient(ellipse 95% 55% at 88% 18%,rgba(0,210,220,.045),transparent 48%),linear-gradient(180deg,#0a1030,#060a1e);box-shadow:0 8px 22px -10px #0206128c,0 0 16px #00f5d41a,inset 0 1px 0 var(--inner-highlight),inset 0 -1px 0 var(--inner-shadow-bottom),inset 0 0 18px #00f5d40a}.score-row+.score-row{margin-top:8px}.score-label{display:block;font-size:11px;line-height:1;font-weight:800;letter-spacing:.04em;color:#00f5d4;text-transform:uppercase}.score-value{display:block;margin-top:4px;font-size:26px;line-height:1;font-weight:900;letter-spacing:.02em;color:#f8fafc;text-shadow:0 0 10px rgba(255,255,255,.16)}.best-score-value{color:#ffd54a;text-shadow:0 0 10px rgba(255,213,74,.22)}@keyframes gem-pop{0%{transform:scale(1)}45%{transform:scale(1.16)}to{transform:scale(1)}}.run-progress{min-width:300px;padding:12px 16px 14px;border-radius:18px;color:#e2e8f0}.run-progress-label{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:6px;opacity:.95}.run-progress-track{width:100%;height:12px;border-radius:999px;overflow:hidden;background:#354159e6;border:1px solid rgba(255,255,255,.08)}.run-progress-fill{height:100%;width:100%;border-radius:inherit;background:linear-gradient(90deg,#4ade80,#22d3ee 60%,#38bdf8);transition:width .12s linear,background-color .2s ease}.run-progress-fill.run-progress-warning{background:linear-gradient(90deg,#fb923c,#f97316 60%,#ef4444)}.player-hud .hud-lives,.player-hud .gem-badge,.player-hud .run-progress{border:1px solid rgba(140,235,220,.38);border-radius:999px;background:radial-gradient(ellipse 130% 90% at 50% 0%,rgba(0,245,212,.07),transparent 55%),linear-gradient(165deg,rgba(255,255,255,.09) 0%,transparent 44%),linear-gradient(180deg,var(--surface-glass-hi) 0%,var(--surface-glass-lo) 100%);box-shadow:0 0 12px #00f5d424,0 4px 12px -8px #02061280,inset 0 1px #ffffff1f,inset 0 -1px #00000052}.fall-pause-btn{position:relative;z-index:22;flex-shrink:0;pointer-events:auto;border:none;border-radius:10px;padding:0 14px;min-width:88px;background:linear-gradient(165deg,#00e6d280,#008c96d1 42%,#003746f2);color:#f6fffe;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 0 0 1px #78fff08c,0 2px #00ffe647,0 10px 22px #0000006b,inset 0 1px #ffffff61,inset 0 -3px 8px #00000061;cursor:pointer;transition:filter .15s ease,transform .12s ease,box-shadow .15s ease}.fall-pause-btn:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 0 0 1px #a0fff5bf,0 3px #00ffe659,0 12px 26px #0000007a,inset 0 1px #ffffff73,inset 0 -3px 8px #00000059}.fall-pause-btn:active{transform:translateY(0);filter:brightness(.94);box-shadow:0 0 0 1px #64dcc873,0 1px #00ffe633,0 4px 14px #0006,inset 0 2px 6px #00000059}.fall-pause-btn.is-paused{background:linear-gradient(165deg,#ffdc788c,#c8781ed9 45%,#5a2d08f5);color:#1f1304;box-shadow:0 0 0 1px #ffdc8cbf,0 2px #ffc85073,0 10px 22px #0000006b,inset 0 1px #ffffff8c,inset 0 -3px 8px #00000047}.fall-pause-btn.is-paused:hover{filter:brightness(1.08);color:#120a02}#app.stage-shake #fallPauseBtn{display:none!important}#app.stage-shake .player-hud{justify-content:space-between;align-items:center;gap:0;width:auto;max-width:none}#app.stage-shake .player-hud .hud-lives{height:44px;min-height:44px;padding:0 14px;gap:6px}#app.stage-shake .player-hud .gem-badge{height:44px;min-height:44px;padding:0 14px}#app.stage-shake .player-hud .gem-icon{width:20px;height:20px}#app.stage-shake .player-hud .hud-heart-svg{width:22px;height:22px}.shake-controls .fix-get-btn{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:.95rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.shake-controls .fix-get-btn__label,.shake-controls .fix-get-btn__cost{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;opacity:1;line-height:1.15;white-space:nowrap}.fix-get-btn__heart{flex-shrink:0;display:block;filter:drop-shadow(0 0 4px rgba(0,245,212,.55)) drop-shadow(0 2px 1px rgba(0,25,30,.55))}.shake-controls .fix-get-btn.action-btn.paid{color:#fff}.shake-controls .fix-get-btn.paid .fix-get-btn__heart{filter:drop-shadow(0 1px 1px rgba(0,0,0,.45))}.shake-controls .fix-get-btn.paid .fix-get-btn__heart path:nth-of-type(1){fill:#1208026b!important}.shake-controls .fix-get-btn.paid .fix-get-btn__heart path:nth-of-type(2){fill:#fff9f0!important}.shake-controls .fix-get-btn.paid .fix-get-btn__heart path:nth-of-type(3){stroke:#fff8f08c!important}.shake-controls .fix-get-btn.paid .fix-get-btn__heart path:nth-of-type(4){fill:#ffffff61!important}.stage-status{position:absolute;top:12px;right:12px;z-index:20;min-width:230px;max-width:min(44vw,420px);padding:8px 10px;border-radius:14px;border:1px solid var(--panel-border);background:linear-gradient(165deg,rgba(255,255,255,.05) 0%,transparent 40%),linear-gradient(180deg,var(--surface-glass-hi) 0%,var(--surface-glass-lo) 100%);color:#e2e8f0;box-shadow:var(--panel-shadow-soft);pointer-events:none}#app.stage-run .player-hud{top:0;right:auto;gap:8px;padding:6px 14px 6px 20px;border-radius:14px;border:1px solid rgba(0,245,212,.26);background:radial-gradient(ellipse 120% 90% at 50% 0%,rgba(0,245,212,.07),transparent 52%),linear-gradient(180deg,#0e1a36f0,#060a1cf5);box-shadow:inset 0 1px #ffffff0f,0 0 20px #00f5d414,0 8px 24px -12px #00000073}#app.stage-run .gem-badge{border-radius:999px}#app.stage-run #fallHudStrip{position:absolute;z-index:19;background:var(--holo-panel-stack);border-bottom-right-radius:16px;box-shadow:inset 0 -1px #00f5d414,inset -40px 0 52px -28px #0206147a,0 0 18px #00f5d40f;pointer-events:none}.fall-right-hud-module{position:absolute;z-index:25;pointer-events:none}.fall-right-hud-module__chassis{width:100%;height:100%;display:flex;flex-direction:column;align-items:stretch;box-sizing:border-box;min-width:0;border-radius:var(--panel-radius);border:1px solid var(--fall-hud-rim);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 1px #ffffff12,inset 0 -1px #02061459,0 0 26px #00f5d40d;overflow:hidden}#app.stage-run .fall-right-hud-module__chassis{overflow:visible}#app.stage-run .fall-right-hud-module__header{overflow:hidden;border-radius:var(--panel-radius) var(--panel-radius) 0 0}.fall-right-hud-module__header{flex-shrink:0;display:flex;flex-direction:column;align-items:stretch;width:100%;filter:drop-shadow(0 0 16px rgba(0,245,212,.2)) drop-shadow(0 8px 24px rgba(0,0,0,.45));background:linear-gradient(180deg,rgba(0,245,212,.06) 0%,transparent 38%),var(--holo-panel-stack);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.fall-right-hud-module__gameplay{flex:1 1 0;min-height:0;display:flex;flex-direction:row;align-items:stretch;width:100%;background:transparent;pointer-events:none}.fall-right-hud-module__next-slot{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;overflow:hidden}#app.stage-run .fall-right-hud-module__next-slot{position:relative;z-index:6;justify-content:flex-end;align-items:flex-start;margin-right:-14px;overflow:visible}.fall-right-hud-module__flask-slot{flex:1 1 0;min-width:0;min-height:0}#app.stage-run .fall-right-hud-module__flask-slot{position:relative;z-index:3;pointer-events:none}#app.stage-run #fallLogoPanel{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;flex:0 0 auto;min-height:64px;padding:8px 14px 12px;box-sizing:border-box;min-width:0;background:none;box-shadow:none;transform:none;border-bottom:1px solid var(--fall-hud-rim-soft)}#app.stage-run #scorePanel{position:relative;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;width:100%;margin:0;padding:10px 14px 8px;border:none;border-radius:0;background:transparent;box-shadow:none;min-height:132px;box-sizing:border-box;border-bottom:1px solid var(--fall-hud-rim-soft)}#app.stage-run #scorePanel .score-row+.score-row{margin-top:10px}#app.stage-shake #fallLogoPanel,#app.stage-shake #fallHudStrip,#app.stage-shake #fallRightHudModule{display:none!important}.fall-logo-title{font-size:34px;line-height:1;font-weight:700;letter-spacing:-.03em;text-transform:uppercase;background:linear-gradient(to bottom,#fff 28%,#00f5d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 16px rgba(0,245,212,.48));font-family:Space Grotesk,sans-serif;white-space:nowrap}.fall-logo-subtitle{margin-top:-6px;font-size:11px;line-height:1;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#00f5d4a3}#app.stage-shake #scorePanel{display:none}#app.stage-run .run-progress{position:relative;flex:1 1 0;min-width:0;width:auto;max-width:none;height:40px;min-height:40px;padding:0 12px;border-radius:999px;display:flex;align-items:center;box-sizing:border-box}#app.stage-run .run-progress .run-progress-label{display:none}#app.stage-run .run-progress .run-progress-track{height:10px;width:100%}#app.stage-run .run-progress .run-progress-fill{background:linear-gradient(90deg,#0c3540,#00c4ae 45%,#5fffd8);box-shadow:0 0 14px #00f5d473}#app.stage-run .player-hud .hud-lives,#app.stage-run .player-hud .gem-badge{height:40px;min-height:40px}#app.stage-run #fallPauseBtn{height:40px;min-height:40px;min-width:78px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}#app.stage-run .fall-pause-btn.is-paused{box-shadow:0 0 0 2px #ffd278e6,0 0 32px #ffaa288c,0 3px #ffbe5080,0 12px 28px #00000073,inset 0 1px #ffffff8c,inset 0 -3px 8px #00000038}#app.stage-run #scorePanel .score-label{color:#a5e6ffd1;font-weight:700;letter-spacing:.08em}#app.stage-run #scorePanel .score-value{text-shadow:0 0 14px rgba(255,255,255,.12)}#app.stage-run #scorePanel .best-score-value{text-shadow:0 0 16px rgba(255,213,74,.45)}.stage-badge{font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#93c5fd}.stage-objective{margin-top:3px;font-size:12px;line-height:1.35;color:#cbd5e1}.evolution-chain-dock{position:absolute;z-index:18;display:flex;gap:12px;flex-wrap:nowrap;justify-content:center;align-items:flex-end;padding:22px 20px 8px;border-radius:16px;border:1px solid var(--panel-border);background:var(--holo-panel-stack);box-shadow:inset 0 1px 0 var(--inner-highlight),inset 0 0 20px #00f5d40b,0 8px 22px -12px #02061280,0 0 12px #00f5d412;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;overflow-x:auto;overflow-y:hidden}.evolution-chain-dock:before{content:"EVOLUTION DOCK";position:absolute;left:0;right:0;top:10px;height:auto;transform:none;background:none;clip-path:none;z-index:1;pointer-events:none;color:#00f5d4;font-size:13px;font-weight:900;letter-spacing:.18em;line-height:1;text-align:center;text-shadow:0 0 10px rgba(0,245,212,.65),0 0 22px rgba(0,245,212,.32)}.evolution-chain-dock:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(180deg,#ffffff09,#fff0);pointer-events:none;z-index:0}.evolution-chain-dock .evolution-tier-chip{width:48px;height:48px;flex:0 0 auto;position:relative;border:2px solid rgba(140,235,220,.22);border-radius:50%;z-index:2;background:radial-gradient(circle at 30% 28%,rgba(0,245,212,.16),transparent 62%),linear-gradient(180deg,#142044eb,#060a1aeb);box-shadow:inset 0 1px #ffffff14,0 0 14px #00f5d41f}.evolution-chain-dock .evolution-tier-chip:not(.locked){border-color:#b4f5e66b;box-shadow:inset 0 1px #ffffff1f,0 0 16px #00f5d447}.evolution-chain-dock .evolution-tier-chip.locked{opacity:.78;background:radial-gradient(circle at 30% 28%,rgba(0,245,212,.06),transparent 62%),linear-gradient(180deg,#0d1634eb,#060a1aeb);border-color:#8cebdc24;box-shadow:inset 0 0 14px #00f5d414}#app.stage-run .evolution-chain-dock{border-radius:var(--panel-radius);clip-path:none;border:1px solid var(--fall-hud-rim);box-shadow:inset 0 1px 0 var(--inner-highlight),inset 0 0 22px #00f5d40d,0 0 22px #00f5d41f,0 12px 32px -14px #0206128c}#app.stage-run .evolution-chain-dock:after{border-radius:inherit}.hud{position:absolute;top:12px;right:12px;left:auto;display:flex;flex-wrap:wrap;gap:var(--hud-gap);padding:8px 12px;background:#00000080;border-radius:8px;color:var(--hud-text);font-size:var(--hud-font-size);pointer-events:none}.hud-time.hud-time-warning{color:#fbbf24;font-weight:600;animation:hud-pulse .8s ease-in-out infinite}@keyframes hud-pulse{50%{opacity:.85}}.hud-hp{display:flex;align-items:center;gap:6px;min-width:80px}.hud-hp-label{flex-shrink:0}.hud-hp-bar{flex:1;height:8px;background:#fff3;border-radius:4px;overflow:hidden}.hud-hp-fill{height:100%;width:100%;background:linear-gradient(90deg,#4ade80,#38bdf8);border-radius:4px;transition:width .15s ease-out}#app.stage-run{cursor:grab;background-color:#070b18;background-image:radial-gradient(ellipse 92% 88% at 50% 48%,rgba(16,44,78,.38) 0%,transparent 58%),radial-gradient(ellipse 100% 100% at 50% 50%,#0a1228,#050914);box-shadow:inset 0 0 100px #00f5d408,inset 0 -80px 100px #02061259}#app.stage-run:active{cursor:grabbing}.run-hint{position:absolute;bottom:56px;left:50%;transform:translate(-50%);max-width:90%;padding:12px 20px;background:radial-gradient(ellipse 100% 80% at 50% 0%,rgba(0,245,212,.06),transparent 55%),linear-gradient(180deg,var(--surface-glass-hi) 0%,var(--surface-glass-lo) 100%);border:1px solid var(--panel-border);border-radius:8px;color:#e2e8f0;font-size:13px;text-align:center;pointer-events:none;animation:run-hint-fade 6s ease-out forwards;box-shadow:0 10px 22px -8px #0206128c,0 0 12px #00f5d40f}.evolution-tooltip{position:absolute;z-index:30;padding:8px 10px;border-radius:8px;background:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(0,245,212,.08),transparent 60%),linear-gradient(180deg,var(--surface-glass-hi) 0%,var(--surface-glass-lo) 100%);color:#e2e8f0;border:1px solid var(--panel-border);box-shadow:0 10px 22px -8px #0206128c,0 0 12px #00f5d414;pointer-events:none;white-space:nowrap}.evolution-tooltip-content{display:inline-flex;align-items:center;gap:6px;font-size:14px}.evolution-tooltip-icon{width:18px;height:18px;object-fit:contain}.evolution-tooltip-arrow{color:#cbd5e1;opacity:.9}.run-hint.hidden{display:none!important}@keyframes run-hint-fade{0%,20%{opacity:1}80%{opacity:.9}to{opacity:0;visibility:hidden}}#app.stage-shake #gameCanvas{width:100%;height:100%}.shake-ui{position:absolute;z-index:10;background:var(--holo-panel-stack);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.6rem;padding:1rem 1.1rem;color:var(--overlay-text);border:1px solid var(--panel-border);border-radius:var(--panel-radius);box-shadow:inset 0 1px 0 var(--inner-highlight),inset 0 0 20px #00f5d40b,0 8px 22px -12px #02061280,0 0 14px var(--panel-glow);overflow-y:auto;animation:shake-ui-fade-in .5s ease-out}#app.stage-shake .shake-ui{padding-top:3.4rem}@media (max-width: 600px){.player-hud{top:8px;left:8px;gap:6px}#app.stage-run .player-hud{padding:0 10px 0 16px;gap:6px}.hud-lives{height:36px;min-height:36px;padding:0 9px;gap:3px}.hud-heart-svg{width:18px;height:auto}.gem-badge{min-width:80px;padding:7px 10px;font-size:14px}.run-progress{min-width:160px;padding:7px 8px 8px}.stage-status{top:8px;right:8px;min-width:170px;max-width:min(56vw,280px);padding:6px 8px}#app.stage-shake .shake-ui{padding-top:2.8rem}.evolution-chain-dock:before{top:8px;font-size:12px}}.gem-badge.gem-spend{animation:gem-spend .24s ease-out}@keyframes gem-spend{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(.93);filter:brightness(.8)}to{transform:scale(1);filter:brightness(1)}}@keyframes shake-ui-fade-in{0%{opacity:0}to{opacity:1}}#flaskContainer{display:none}.shake-controls{display:flex;flex-direction:column;flex-wrap:nowrap;gap:var(--shake-controls-gap);justify-content:flex-start;align-items:stretch;padding:.5rem 0}.shake-controls .action-btn,.shake-controls .shop-btn{width:100%}.bomb-tier-btn{display:flex;align-items:center;justify-content:center;gap:8px}.bomb-icons{display:inline-flex;align-items:center;gap:3px}.bomb-icons img{width:24px;height:24px;object-fit:contain;filter:drop-shadow(0 0 6px rgba(0,245,212,.28))}.bomb-price{font-size:inherit;font-weight:inherit;letter-spacing:inherit;opacity:1}.action-btn,.shop-btn{padding:10px 16px;font-size:.95rem;border:none;border-radius:6px;cursor:pointer;font-family:inherit;color:#fff}.action-btn{background:var(--action-btn-bg)}.action-btn:hover{background:var(--action-btn-hover)}.action-btn.secondary{background:#475569}.action-btn.secondary:hover{background:#56657a}.action-btn.paid{background:#7c3f0f}.action-btn.paid:hover{background:#965212}.action-btn:disabled{opacity:.5;cursor:not-allowed}.shake-controls .action-btn.paid:disabled{opacity:1;background:#4a2810;color:#ffffff6b;cursor:not-allowed;pointer-events:none}.shake-controls .action-btn.paid:disabled:hover{background:#4a2810}.shake-controls .action-btn.paid:disabled .btn-label,.shake-controls .action-btn.paid:disabled .bomb-price,.shake-controls .action-btn.paid:disabled .fix-get-btn__label,.shake-controls .action-btn.paid:disabled .fix-get-btn__cost{color:#ffffff6b}.shake-controls .action-btn.paid:disabled .bomb-icons img{filter:grayscale(.55) brightness(.72);opacity:.68}.shake-controls .fix-get-btn.paid:disabled .fix-get-btn__heart{filter:none}.shake-controls .fix-get-btn.paid:disabled .fix-get-btn__heart path:nth-of-type(1){fill:#0c080659!important}.shake-controls .fix-get-btn.paid:disabled .fix-get-btn__heart path:nth-of-type(2){fill:#c8c6c48c!important}.shake-controls .fix-get-btn.paid:disabled .fix-get-btn__heart path:nth-of-type(3){stroke:#b4b2b059!important}.shake-controls .fix-get-btn.paid:disabled .fix-get-btn__heart path:nth-of-type(4){fill:#fff3!important}.action-btn.primary{background:var(--primary-btn-bg)}.action-btn.primary:hover{background:var(--primary-btn-hover)}.shop-btn{background:var(--shop-btn-bg)}.shop-btn:hover{background:var(--shop-btn-hover)}.shop-btn:disabled{opacity:.5;cursor:not-allowed}.shake-hint{font-size:11px;color:#ffffffb3;margin:.1rem 0 0;text-align:left}.shake-action-hint{min-height:1.2em;margin:0;font-size:12px;color:#bfdbfef2;text-align:left}.status-toast{position:absolute;left:50%;bottom:84px;transform:translate(-50%);z-index:35;padding:8px 12px;border-radius:8px;background:linear-gradient(180deg,var(--surface-glass-hi) 0%,var(--surface-glass-lo) 100%);border:1px solid rgba(140,235,220,.32);color:#e2e8f0;font-size:12px;box-shadow:0 10px 22px -8px #0206128c,0 0 14px #00f5d414;animation:toast-pop .2s ease-out}@keyframes toast-pop{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}#evolutionChainPreview{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-start;padding:6px 0;margin-top:.25rem}.evolution-tier-chip{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#fff3;overflow:hidden}.evolution-tier-img{width:100%;height:100%;object-fit:contain}.evolution-tier-fallback{font-size:11px;font-weight:600;color:#ffffffe6}.boost-bar-panel{position:absolute;z-index:20;display:flex;flex-direction:column;align-items:center;gap:8px;padding:42px 8px 22px;width:88px;min-width:88px;background:transparent;border:none;border-top:none;border-bottom:none;border-radius:0;box-shadow:none;pointer-events:none;overflow:visible;isolation:isolate}.boost-bar-panel:before{content:"";position:absolute;top:40px;left:50%;width:60px;height:calc(100% - 62px);transform:translate(-50%);border-radius:30px;border:3px solid rgba(220,250,245,.84);background:linear-gradient(90deg,rgba(255,255,255,.24),transparent 18%,transparent 72%,rgba(255,255,255,.26)),linear-gradient(180deg,#00f5d41a,#4064dc2e 70%,#7650dc38);box-shadow:0 0 10px #d2faff57,inset 0 1px #ffffff38,inset 0 0 16px #ffffff1f;z-index:0}.boost-bar-panel:after{content:none}.boost-bar-panel.hidden{display:none}#app.stage-shake .boost-bar-panel{display:none!important}#app.stage-run .fall-right-hud-module .boost-bar-panel{position:relative;left:auto;top:auto;z-index:4;transform:translate(8px);min-height:0;max-height:100%}#app.stage-run .fall-right-hud-module .boost-bar-panel:before{top:var(--fall-boost-tube-top, 40px)}#app.stage-run .fall-right-hud-module .boost-bar-list{overflow:visible}#app.stage-run .fall-right-hud-module .boost-bar-overflow{margin-top:0;padding-bottom:8px}.boost-bar-label{position:absolute;top:12px;left:0;right:0;z-index:3;font-size:12px;line-height:1;font-weight:900;letter-spacing:.18em;color:#00f5d4;text-shadow:0 0 6px rgba(0,245,212,.85),0 0 18px rgba(0,245,212,.32);text-align:center;margin-top:0}#app.stage-run .fall-right-hud-module .boost-bar-label{top:calc(12px + var(--fall-gameplay-nudge-y, 0px) + var(--fall-hud-label-extra-down-y, 0px))}.boost-bar-list{display:flex;flex:1;flex-direction:column;align-items:center;gap:var(--boost-bar-dot-gap, 6px);position:relative;z-index:3;min-height:0;overflow:hidden;max-height:100%;padding:4px 0}.boost-bar-list-spacer{flex:1 1 0;min-height:0;align-self:stretch;width:100%}.boost-bar-overflow{flex-shrink:0;margin-top:auto;padding-bottom:8px;font-size:11px;font-weight:700;letter-spacing:.04em;color:#ffffff9e;text-align:center;line-height:1.2}.boost-bar-dot{width:var(--boost-bar-dot, 42px);height:var(--boost-bar-dot, 42px);flex-shrink:0;border-radius:50%;background:#00f5d424;border:2px solid rgba(255,255,255,.48);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:900;color:#00f5d4;box-shadow:0 0 12px #00f5d47a}.boost-bar-dot img{width:100%;height:100%;object-fit:contain}.game-over-overlay{background:radial-gradient(ellipse 80% 60% at 50% 30%,rgba(255,50,50,.1),transparent 60%),radial-gradient(ellipse 90% 70% at 50% 100%,rgba(0,245,212,.06),transparent 70%),linear-gradient(180deg,#0e0a20f7,#080616fa)}.game-over-title{color:#f44;text-shadow:0 0 20px rgba(255,50,50,.8),0 0 40px rgba(255,50,50,.4);font-size:2.2rem;letter-spacing:.05em}.game-over-subtitle{color:#c8b4dccc;font-size:1rem;text-align:center}.overflow-snapshot-card{width:min(78vw,360px);max-height:min(42vh,320px);padding:10px;border:1px solid rgba(0,245,212,.48);border-radius:14px;background:linear-gradient(180deg,#00f5d41a,#020617c7);box-shadow:0 0 24px #00f5d438,inset 0 0 18px #00f5d414;animation:end-subtitle-fade .45s ease-out .2s both}.overflow-snapshot-card figcaption{margin-bottom:6px;color:#e2e8f0b8;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-align:center;text-transform:uppercase}.overflow-snapshot-img{display:block;width:100%;max-height:calc(min(42vh,320px) - 42px);object-fit:contain;border-radius:10px;background:#020617b8}.game-over-buttons{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.evolution-tier-chip.locked{background:#05081ee6;border-color:#00f5d433;cursor:default}.evolution-tier-locked-mark{font-size:17px;font-weight:800;color:#d2ebf5b8;text-shadow:0 0 8px rgba(0,245,212,.45),0 0 18px rgba(0,245,212,.25);animation:locked-pulse 2.4s ease-in-out infinite;line-height:1;-webkit-user-select:none;user-select:none}@keyframes locked-pulse{0%,to{opacity:.55;text-shadow:0 0 6px #00f5d4}50%{opacity:1;text-shadow:0 0 10px #00f5d4,0 0 22px rgba(0,245,212,.65),0 0 5px #7209b7}}.image-adjust-panel{width:100%;padding:.75rem;margin-bottom:.5rem;background:#0006;border-radius:6px;font-size:12px}.image-adjust-panel h3{margin:0 0 .5rem;font-size:.9rem}.adjust-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.adjust-row label{flex:0 0 140px}.adjust-row input[type=range]{flex:1;min-width:60px}.adjust-row span{flex:0 0 36px;font-family:monospace}#adjustResetBtn{margin-top:6px;font-size:.85rem}#app.stage-test-runway{display:flex;flex-direction:column}#app.stage-test-runway #gameCanvas{flex:1;min-width:0;min-height:0}.test-runway-panel{position:absolute;bottom:0;left:0;right:0;padding:1rem 1.5rem;background:#000000bf;display:flex;align-items:center;justify-content:center;gap:1rem;z-index:10}.test-runway-panel.hidden{display:none!important}.test-runway-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.test-runway-controls label{color:var(--overlay-text);font-size:.9rem}.test-runway-controls input[type=range]{width:200px;min-width:120px}.test-runway-controls span{min-width:3rem;font-family:monospace;color:var(--overlay-text)}.test-runway-controls .overlay-btn{padding:8px 16px;font-size:.95rem}#startOverlay{background:radial-gradient(ellipse 70% 60% at 50% 22%,rgba(0,245,212,.08),transparent 60%),radial-gradient(ellipse 60% 60% at 50% 100%,rgba(114,9,183,.1),transparent 70%),linear-gradient(180deg,#0d1336,#07091e);overflow:hidden;gap:0;padding:0}.neon-bg-glow{position:absolute;border-radius:50%;pointer-events:none}.neon-bg-glow--center{top:50%;left:50%;width:800px;height:800px;transform:translate(-50%,-50%);background:#00f5d41a;filter:blur(120px)}.neon-bg-glow--side{top:25%;left:25%;width:400px;height:400px;background:#7209b71a;filter:blur(100px)}.neon-content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%}.neon-title-block{text-align:center;margin-bottom:2.5rem}#startOverlay .neon-title{font-family:Space Grotesk,sans-serif!important;font-size:clamp(2.8rem,6vw,4.5rem);font-weight:700;letter-spacing:-.04em;text-transform:uppercase;background:linear-gradient(to bottom,#fff 30%,#00f5d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 18px rgba(0,245,212,.55)) drop-shadow(0 0 40px rgba(0,245,212,.3));margin:0}.neon-subtitle{margin-top:.75rem;font-family:Space Grotesk,sans-serif;font-size:.95rem;letter-spacing:.22em;text-transform:uppercase;color:#00f5d4a6}.neon-flask-wrap{position:relative;width:180px;height:240px;margin-bottom:2.5rem;animation:neon-flask-bounce 4s ease-in-out infinite}.neon-flask-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:#00f5d42e;filter:blur(28px);border-radius:50%;mix-blend-mode:screen}.neon-flask-svg{width:100%;height:100%;filter:drop-shadow(0 0 14px rgba(0,245,212,.8))}.neon-liquid{animation:neon-liquid-pulse 3s ease-in-out infinite}.neon-orb{animation:neon-flask-bounce 3s ease-in-out infinite}.neon-orb--1{animation-duration:3s;animation-delay:0s}.neon-orb--2{animation-duration:4s;animation-delay:1s}.neon-orb--3{animation-duration:3.5s;animation-delay:.5s}.neon-orb--4{animation-duration:2.5s;animation-delay:1.5s}@keyframes neon-flask-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes neon-liquid-pulse{0%,to{opacity:1}50%{opacity:.65}}.neon-controls{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.neon-start-btn{position:relative;padding:.9rem 3rem;font-family:Space Grotesk,sans-serif;font-size:1.4rem;font-weight:700;color:#00f5d4;background:transparent;border:2px solid #00f5d4;border-radius:0;cursor:pointer;overflow:hidden;box-shadow:0 0 20px #00f5d44d;transition:box-shadow .3s ease,color .3s ease;letter-spacing:.05em}.neon-start-btn:hover{color:#0a0a1f;box-shadow:0 0 40px #00f5d4a6}.neon-start-btn-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:#00f5d4;transform:translateY(100%);transition:transform .3s ease-out}.neon-start-btn:hover .neon-start-btn-fill{transform:translateY(0)}.neon-start-btn-inner{position:relative;z-index:1;display:flex;align-items:center;gap:.6rem}.neon-bolt{width:1.4rem;height:1.4rem;animation:neon-liquid-pulse 1.5s ease-in-out infinite}.neon-secondary{display:flex;align-items:center;gap:1.75rem;font-family:Space Grotesk,sans-serif;font-size:.78rem;color:#00f5d48c}.neon-link{background:none;border:none;cursor:pointer;color:inherit;font:inherit;letter-spacing:.12em;text-transform:uppercase;padding:0;transition:color .2s ease,filter .2s ease}.neon-link:hover{color:#00f5d4;filter:drop-shadow(0 0 6px rgba(0,245,212,.8))}.neon-dot{width:3px;height:3px;border-radius:50%;background:#00f5d459;display:inline-block;flex-shrink:0}.neon-scanlines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#0000001f 2px,#0000001f 4px);z-index:50;opacity:.35}body,button,input,select{font-family:Space Grotesk,Segoe UI,system-ui,sans-serif}.stage-status{border-color:var(--panel-border-strong)}.stage-badge{color:#00f5d4}.run-progress-fill{background:linear-gradient(90deg,#00f5d4,#028090)}.shake-ui{border-color:var(--panel-border)}.action-btn,.shop-btn{font-family:Space Grotesk,sans-serif;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:2px}.action-btn:not(.secondary):not(.primary):not(.paid){background:transparent;color:#00f5d4;border:1px solid #00f5d4;box-shadow:0 0 10px #00f5d433}.action-btn:not(.secondary):not(.primary):not(.paid):hover{background:#00f5d41a;box-shadow:0 0 20px #00f5d466}.action-btn.secondary{background:linear-gradient(180deg,#141e3cdb,#0a1024eb);color:#b6c3d6;border:1px solid rgba(148,163,184,.3)}.action-btn.secondary:hover{border-color:#00f5d46b;color:#00f5d4;background:linear-gradient(180deg,#00f5d41a,#00f5d40a)}.action-btn.primary{background:linear-gradient(180deg,#14ffe0,#00f5d4 38%,#03cfb4);color:#06112a;border:1px solid #00f5d4;font-weight:700;box-shadow:0 0 18px #00f5d466,inset 0 1px #ffffff73,inset 0 -2px 6px #00645a52}.action-btn.primary:hover{background:linear-gradient(180deg,#2effe6,#03e6c5 38%,#03c8ad);border-color:#00dfc0;box-shadow:0 0 28px #00f5d4a6,inset 0 1px #ffffff80,inset 0 -2px 6px #00645a52}.action-btn.primary:disabled{box-shadow:none;opacity:.45}@keyframes continue-btn-wiggle{0%,to{transform:translate(0) rotate(0)}15%{transform:translate(-4px) rotate(-2.5deg)}30%{transform:translate(4px) rotate(2.5deg)}45%{transform:translate(-3px) rotate(-1.5deg)}60%{transform:translate(3px) rotate(1.5deg)}75%{transform:translate(-1px) rotate(-.5deg)}}#continueBtn.continue-btn--wiggle{animation:continue-btn-wiggle .52s ease-in-out}.shop-btn{background:#00f5d414;color:#00f5d4cc;border:1px solid rgba(0,245,212,.3)}.shop-btn:hover{background:#00f5d42e;color:#00f5d4;border-color:#00f5d48c}.shake-action-hint{color:#00f5d4d9}.shake-hint{color:#00f5d473}.status-toast{border-color:#8cebdc52}.end-overlay-title{color:#00f5d4}.run-hint{border-color:var(--panel-border)}.evolution-tooltip{border-color:var(--panel-border-strong)}
