:root{--hud-bg: rgba(3, 12, 22, .52);--hud-border: rgba(112, 244, 255, .42);--hud-text: #d9fbff;--hud-muted: #8ec5cf;--accent-cyan: #53e8ff;--accent-orange: #ffb767;--accent-lime: #b6ff64;--progress-track: rgba(46, 98, 120, .5);--progress-fill: linear-gradient(90deg, rgba(83, 232, 255, .86), rgba(126, 255, 243, .96));--progress-fill-multiplier: linear-gradient(90deg, rgba(255, 198, 77, .92), rgba(255, 243, 126, .98))}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:Orbitron,Rajdhani,Trebuchet MS,sans-serif;color:var(--hud-text);background:radial-gradient(circle at 20% 15%,#153847,#07131d 40%,#02050a)}#app{position:fixed;inset:0}#game-canvas{position:relative;z-index:0;width:100%;height:100%;display:block;touch-action:none}.hud{z-index:12;position:absolute;top:1rem;left:50%;transform:translate(-50%);width:min(92vw,720px);padding:.62rem .95rem;border:1px solid var(--hud-border);border-radius:14px;background:linear-gradient(120deg,#030a13c7,#091b2494);box-shadow:0 0 0 1px #81f7ff1f,0 16px 38px #00000075;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;animation:hud-in .7s ease-out}.hud__scoreline{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:.85rem;font-size:clamp(.9rem,2.1vw,1.1rem);color:var(--hud-text);letter-spacing:.05em}.hud__scoreline>span{white-space:nowrap;line-height:1.1}.hud--mobile{width:min(96vw,560px);padding:.54rem .7rem}.hud--mobile .hud__scoreline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:.36rem .72rem;font-size:.95rem}.hud--mobile .hud__scoreline>span:nth-child(2n){text-align:right}.hud--mobile .hud-bonus-canvas{width:44px;height:44px}.hud--mobile .hud__progress{margin-top:.48rem;height:7px}.hud-bonus-canvas{position:absolute;z-index:1;width:56px;height:56px;pointer-events:none;opacity:0}.hud__scoreline strong{color:var(--accent-cyan);text-shadow:0 0 12px rgba(83,232,255,.8)}.hud__progress{margin-top:.58rem;width:100%;height:8px;overflow:hidden;border:1px solid rgba(83,232,255,.2);border-radius:999px;background:linear-gradient(180deg,rgba(4,18,29,.88),var(--progress-track));box-shadow:inset 0 1px #d8fbff0f}.hud__progress--hidden{display:none}.hud__progress-fill{height:100%;width:0%;border-radius:inherit;background:var(--progress-fill);box-shadow:0 0 14px #53e8ff4d;transition:width .18s ease-out,filter .18s ease-out,opacity .18s ease-out}.hud__progress--multiplier .hud__progress-fill{background:var(--progress-fill-multiplier);box-shadow:0 0 16px #ffce605c}.hud__progress--warning .hud__progress-fill{filter:saturate(1.08) brightness(1.08)}.hud__progress--warning-off .hud__progress-fill{opacity:.38}#lives-value{color:#ff8fb3;text-shadow:0 0 12px rgba(255,104,154,.88);letter-spacing:.09em;white-space:nowrap}#lives-value .hud__heart{display:inline-block;vertical-align:-.06em;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",EmojiOne Color,sans-serif;font-size:1.08em;line-height:1;transform-origin:50% 50%;animation:hud-heartbeat 1.15s ease-in-out infinite}#lives-value .hud__lives-overflow{display:inline-block;margin-left:.28rem;color:#ffc8da;text-shadow:0 0 9px rgba(255,131,174,.68)}.hud__debug{margin-top:.45rem;padding-top:.4rem;border-top:1px solid rgba(112,244,255,.2);font-family:JetBrains Mono,Consolas,Courier New,monospace;font-size:clamp(.62rem,1.5vw,.78rem);letter-spacing:.03em;color:#9dd6ff;white-space:pre-wrap;text-transform:none}.hud__debug--hidden{display:none}.overlay{z-index:14;position:absolute;inset:0;display:grid;place-items:center;padding:1.4rem;pointer-events:none;transition:opacity .35s ease}.overlay--hidden{opacity:0}.overlay__panel{width:min(92vw,560px);padding:1.4rem 1.5rem;border:1px solid rgba(115,241,255,.38);border-radius:18px;background:radial-gradient(circle at 85% 0%,rgba(83,232,255,.17),transparent 45%),linear-gradient(140deg,#02080ee0,#091924c2);box-shadow:0 26px 70px #0000009e,inset 0 0 55px #54e6ff0f;text-align:center;pointer-events:auto;opacity:1;animation:none}.overlay__panel h1,.overlay__panel h2{margin:0;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.overlay__panel h1{color:var(--accent-cyan);font-size:clamp(1.7rem,6vw,2.4rem);text-shadow:0 0 18px rgba(83,232,255,.65)}.overlay__panel h2{color:var(--accent-orange);font-size:clamp(1.4rem,5vw,2rem);text-shadow:0 0 14px rgba(255,183,103,.55)}.overlay__panel p{margin:.85rem 0 0;line-height:1.45;color:#d8f6ff;font-size:clamp(.92rem,2.2vw,1.02rem)}.overlay__panel strong{color:var(--accent-lime)}.overlay__keys{margin-top:1rem;display:grid;gap:.45rem;color:#9fd7e2;font-size:clamp(.82rem,1.9vw,.95rem)}.overlay__bonus-launch{margin-top:.7rem;display:flex;justify-content:center}.overlay__bonus-modal{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:max(.9rem,env(safe-area-inset-top)) max(.9rem,env(safe-area-inset-right)) max(.9rem,env(safe-area-inset-bottom)) max(.9rem,env(safe-area-inset-left))}.overlay__bonus-modal--top-align{align-items:flex-start}.overlay__bonus-modal--hidden{display:none}.overlay__bonus-backdrop{position:absolute;inset:0;border:0;background:#030b14bd;cursor:pointer}.overlay__bonus-dialog{position:relative;z-index:1;width:min(92vw,560px);max-height:min(82vh,680px);overflow:auto;border:1px solid rgba(112,244,255,.28);border-radius:14px;padding:.8rem .86rem .9rem;background:radial-gradient(circle at 84% 0%,rgba(83,232,255,.14),transparent 42%),linear-gradient(142deg,#05101beb,#0a1c29e6);text-align:left;box-shadow:0 18px 44px #00000080}.overlay__bonus-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.overlay__bonus-dialog h3{margin:0;color:#8ef4ff;letter-spacing:.06em;font-size:clamp(.82rem,2vw,1rem);text-transform:uppercase}.overlay__bonus-close{border:1px solid rgba(128,240,255,.34);border-radius:8px;background:#071b28c2;color:#d9fbff;font:inherit;font-size:1rem;font-weight:700;width:2rem;height:2rem;cursor:pointer;line-height:1}.overlay__bonus-intro{margin:.5rem 0 0;color:#9bd4df;font-size:clamp(.72rem,1.8vw,.84rem);line-height:1.32}.overlay__bonus-list{list-style:none;margin:.62rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem .54rem}.overlay__bonus-item{display:flex;align-items:center;gap:.42rem;min-width:0}.overlay__bonus-icon{flex:0 0 2.08rem;width:2.08rem;height:2.08rem;border:1px solid rgba(112,244,255,.26);border-radius:10px;background:radial-gradient(circle at 30% 20%,#91f1ff30,#0c263599 64%),linear-gradient(145deg,#071e2ddb,#061723e0);display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.overlay__bonus-icon-image{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none}.overlay__bonus-copy{min-width:0;color:#caedf4;font-size:clamp(.69rem,1.72vw,.82rem);line-height:1.25}@media(max-width:900px){.overlay{padding:.8rem}.overlay__panel{width:min(96vw,460px);padding:1rem .95rem;border-radius:14px}.overlay__panel h1{font-size:clamp(1.3rem,7vw,1.9rem)}.overlay__panel h2{font-size:clamp(1.08rem,5.6vw,1.5rem)}.overlay__panel p{margin-top:.62rem;line-height:1.34;font-size:clamp(.82rem,2.6vw,.95rem)}.overlay__keys{margin-top:.62rem;gap:.3rem;font-size:clamp(.74rem,2.3vw,.88rem)}.overlay__bonus-dialog{width:min(95vw,520px);max-height:min(84vh,680px);padding:.72rem .7rem .78rem}.overlay__bonus-list{grid-template-columns:1fr;gap:.34rem}.overlay__bonus-intro{font-size:clamp(.67rem,2.05vw,.8rem)}.overlay__bonus-copy{font-size:clamp(.65rem,2.04vw,.77rem)}.overlay__bonus-icon{flex-basis:2rem;width:2rem;height:2rem}.overlay__bonus-icon--emphasis{flex-basis:2.2rem;width:2.2rem;height:2.2rem}.overlay__button{margin-top:.82rem;padding:.56rem .92rem;font-size:.86rem}.overlay__button--secondary{margin-top:0;padding:.5rem .82rem;font-size:.78rem}}.overlay__bonus-modal--compact{padding-top:max(.38rem,env(safe-area-inset-top));padding-bottom:max(3.6rem,env(safe-area-inset-bottom))}.overlay__bonus-modal--compact .overlay__bonus-dialog{width:min(96vw,500px);border-radius:12px;padding:.58rem .62rem .64rem}.overlay__bonus-modal--compact .overlay__bonus-dialog h3{font-size:clamp(.74rem,1.75vw,.9rem)}.overlay__bonus-modal--compact .overlay__bonus-close{width:1.76rem;height:1.76rem;font-size:.92rem;border-radius:7px}.overlay__bonus-modal--compact .overlay__bonus-intro{display:none}.overlay__bonus-modal--compact .overlay__bonus-list{margin-top:.46rem;gap:.26rem}.overlay__bonus-modal--compact .overlay__bonus-item{gap:.34rem}.overlay__bonus-modal--compact .overlay__bonus-icon{flex-basis:1.86rem;width:1.86rem;height:1.86rem}.overlay__bonus-modal--compact .overlay__bonus-copy{font-size:clamp(.61rem,1.7vw,.72rem);line-height:1.15}.overlay__button{margin-top:1.1rem;border:1px solid rgba(112,244,255,.52);border-radius:12px;background:linear-gradient(120deg,#104256d9,#0b1c28f2);color:#d9fbff;font-family:inherit;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;padding:.65rem 1.15rem;cursor:pointer;transition:transform .12s ease,box-shadow .2s ease,border-color .2s ease}.overlay__button--secondary{margin-top:0;font-size:.82rem;padding:.52rem .88rem;border-radius:10px;letter-spacing:.05em}.overlay__button:hover{transform:translateY(-1px);box-shadow:0 8px 24px #53e8ff38;border-color:#96f5ffcc}.overlay__button:active{transform:translateY(0)}.overlay__button--disabled,.overlay__button:disabled{opacity:.58;cursor:wait;transform:none;box-shadow:none;border-color:#70f4ff47}.overlay__pending{margin-top:.5rem;font-size:clamp(.72rem,2vw,.86rem);color:#9fd7e2;letter-spacing:.04em}.mobile-cheats{position:absolute;left:50%;bottom:max(.6rem,env(safe-area-inset-bottom));transform:translate(-50%);z-index:18;display:grid;gap:.42rem;width:min(96vw,620px);pointer-events:auto}.mobile-cheats--desktop{width:min(92vw,980px);bottom:max(.8rem,env(safe-area-inset-bottom))}.mobile-cheats__row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.34rem}.mobile-cheats--desktop .mobile-cheats__row{grid-template-columns:repeat(9,minmax(0,1fr))}.mobile-cheats__button{border:1px solid rgba(112,244,255,.45);border-radius:10px;background:linear-gradient(125deg,#082736e6,#06121ff0);color:#d8fbff;font-family:inherit;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1;padding:.54rem .28rem;min-height:2rem;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mobile-cheats--desktop .mobile-cheats__button{font-size:.64rem;padding:.48rem .24rem}.mobile-cheats__button:active{transform:translateY(1px)}.mobile-cheats__button--fullscreen{min-height:2.05rem;font-size:.72rem;border-color:#91f6ffad;background:linear-gradient(125deg,#12485ceb,#081824f5)}.mobile-cheats--compact-height{width:min(98vw,620px);gap:.22rem;bottom:max(.24rem,env(safe-area-inset-bottom))}.mobile-cheats--desktop.mobile-cheats--compact-height{width:min(96vw,920px);bottom:max(.28rem,env(safe-area-inset-bottom))}.mobile-cheats--compact-height .mobile-cheats__row{gap:.2rem}.mobile-cheats--compact-height .mobile-cheats__button{min-height:1.58rem;padding:.3rem .14rem;font-size:.56rem;border-radius:8px}.mobile-cheats--desktop.mobile-cheats--compact-height .mobile-cheats__button{font-size:.54rem;padding:.28rem .14rem}.mobile-cheats--compact-height .mobile-cheats__button--fullscreen{min-height:1.64rem;font-size:.6rem}.overlay__toast{min-width:min(88vw,420px);padding:.78rem 1.05rem;border:1px solid rgba(123,255,219,.55);border-radius:12px;background:linear-gradient(130deg,#0a2a24db,#081624cc);color:#d9fff4;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(.74rem,1.8vw,.9rem);box-shadow:0 8px 30px #00000073,0 0 18px #60ffd333;pointer-events:none;animation:panel-pop .22s ease-out}.overlay__toast--life-loss{border-color:#ff78989e;background:radial-gradient(circle at 50% 0%,rgba(255,119,153,.24),transparent 58%),linear-gradient(130deg,#360c18e6,#180a16d1);color:#ffe6ef;display:grid;gap:.25rem;justify-items:center;text-transform:none;letter-spacing:.04em;animation:life-loss-pop .26s ease-out,life-loss-fade 2.6s ease-out forwards}.overlay__toast--life-loss strong{color:#ffbfd1;text-transform:uppercase;letter-spacing:.08em;text-shadow:0 0 12px rgba(255,125,163,.75)}.overlay__toast--life-loss span{color:#ffe6ef;font-size:.9em}@keyframes panel-pop{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes life-loss-pop{0%{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes life-loss-fade{0%{opacity:0}12%{opacity:1}82%{opacity:1}to{opacity:0;transform:translateY(-4px) scale(.98)}}@keyframes hud-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes hud-heartbeat{0%{transform:scale(1);text-shadow:0 0 10px rgba(255,104,154,.7)}16%{transform:scale(1.08);text-shadow:0 0 15px rgba(255,104,154,.95)}30%{transform:scale(1);text-shadow:0 0 10px rgba(255,104,154,.7)}44%{transform:scale(1.06);text-shadow:0 0 14px rgba(255,104,154,.9)}62%{transform:scale(1);text-shadow:0 0 10px rgba(255,104,154,.7)}to{transform:scale(1);text-shadow:0 0 10px rgba(255,104,154,.7)}}.overlay__panel--final{position:relative;overflow:hidden;border-color:#ffd7709e;background:radial-gradient(circle at 20% 0%,rgba(255,183,103,.24),transparent 44%),radial-gradient(circle at 85% 100%,rgba(83,232,255,.2),transparent 48%),linear-gradient(140deg,#0a0e1beb,#171f32d6);box-shadow:0 30px 80px #000000a8,0 0 28px #ffc55f3d,inset 0 0 60px #74bfff1a;animation:final-panel-glow 2.8s ease-in-out infinite}.overlay__panel--record{position:relative;overflow:hidden;border-color:#b6ff649e;background:radial-gradient(circle at 18% 0%,rgba(182,255,100,.18),transparent 42%),radial-gradient(circle at 84% 100%,rgba(83,232,255,.18),transparent 46%),linear-gradient(140deg,#07130feb,#0a1c1edb);box-shadow:0 30px 80px #000000a8,0 0 26px #b6ff642e,inset 0 0 60px #b6ff6414;animation:record-panel-glow 1.9s ease-in-out infinite}.overlay__panel--record h2{color:#cfff8b;text-shadow:0 0 16px rgba(182,255,100,.58)}.overlay__panel--fatal{border-color:#ff7290ad;background:radial-gradient(circle at 18% 0%,rgba(255,110,140,.2),transparent 46%),linear-gradient(145deg,#280812f0,#120a18e6);box-shadow:0 24px 70px #000000a8,0 0 22px #ff699142}.overlay__panel--fatal h2{color:#ffc3d6;text-shadow:0 0 14px rgba(255,120,160,.6)}.overlay__fatal-details{margin-top:.45rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.76rem;color:#ffd7e3;letter-spacing:.02em;word-break:break-word;background:#0000004d;border:1px solid rgba(255,161,187,.22);border-radius:8px;padding:.4rem .55rem}.overlay__panel--final h2{color:#ffd38a;text-shadow:0 0 18px rgba(255,190,94,.72)}.overlay__celebration{pointer-events:none;position:absolute;inset:0;overflow:hidden}.overlay__celebration span{position:absolute;width:8px;height:8px;border-radius:999px;opacity:.78;animation:confetti-rise 2.2s linear infinite}.overlay__celebration span:nth-child(1){left:8%;bottom:-12px;background:#7ee4ff;animation-delay:0s}.overlay__celebration span:nth-child(2){left:24%;bottom:-8px;background:#ffcf7b;animation-delay:.28s}.overlay__celebration span:nth-child(3){left:41%;bottom:-10px;background:#97ff90;animation-delay:.52s}.overlay__celebration span:nth-child(4){left:59%;bottom:-9px;background:#ffd39e;animation-delay:.84s}.overlay__celebration span:nth-child(5){left:77%;bottom:-12px;background:#9ec1ff;animation-delay:1.1s}.overlay__celebration span:nth-child(6){left:92%;bottom:-8px;background:#66f2d2;animation-delay:1.34s}.overlay__celebration--record span:nth-child(1){background:#b6ff64}.overlay__celebration--record span:nth-child(2){background:#7ee4ff}.overlay__celebration--record span:nth-child(3){background:#ffe07a}.overlay__celebration--record span:nth-child(4){background:#b6ff64}.overlay__celebration--record span:nth-child(5){background:#7ee4ff}.overlay__celebration--record span:nth-child(6){background:#ffe07a}.overlay__record-badge{position:relative;margin:0 auto .95rem;width:min(100%,360px);padding:.72rem .88rem;border:1px solid rgba(182,255,100,.48);border-radius:14px;background:radial-gradient(circle at 50% 0%,rgba(182,255,100,.18),transparent 62%),linear-gradient(135deg,#13361ce6,#0a1b1ce0);box-shadow:0 14px 36px #00000057,0 0 18px #b6ff6429;display:grid;gap:.22rem;justify-items:center;animation:record-badge-pop .36s ease-out}.overlay__record-badge-label{color:#d9ffaf;font-size:clamp(.9rem,2.4vw,1.05rem);font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 0 12px rgba(182,255,100,.38)}.overlay__record-badge-body{color:#ebffd0;font-size:clamp(.8rem,2vw,.92rem);letter-spacing:.03em}@keyframes final-panel-glow{0%{box-shadow:0 30px 80px #000000a8,0 0 20px #ffc55f33,inset 0 0 48px #74bfff14}50%{box-shadow:0 34px 88px #000000b3,0 0 30px #ffda8559,inset 0 0 66px #74bfff29}to{box-shadow:0 30px 80px #000000a8,0 0 20px #ffc55f33,inset 0 0 48px #74bfff14}}@keyframes record-panel-glow{0%{box-shadow:0 30px 80px #000000a8,0 0 24px #b6ff642e,inset 0 0 60px #b6ff6414}50%{box-shadow:0 30px 80px #000000a8,0 0 34px #b6ff6447,inset 0 0 76px #7ee4ff1f}to{box-shadow:0 30px 80px #000000a8,0 0 24px #b6ff642e,inset 0 0 60px #b6ff6414}}@keyframes confetti-rise{0%{transform:translateY(0) scale(.7);opacity:0}20%{opacity:.85}80%{opacity:.7}to{transform:translateY(-190px) scale(1.15);opacity:0}}@keyframes record-badge-pop{0%{opacity:0;transform:translateY(-10px) scale(.92)}72%{opacity:1;transform:translateY(2px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-height:760px){.overlay__bonus-modal{padding-top:max(.5rem,env(safe-area-inset-top));padding-bottom:max(4.1rem,env(safe-area-inset-bottom))}.overlay__bonus-dialog{max-height:calc(100dvh - max(.5rem,env(safe-area-inset-top)) - max(4.1rem,env(safe-area-inset-bottom)));overscroll-behavior:contain}}@media(max-height:620px){.overlay{padding:.45rem}.overlay__panel{width:min(97vw,430px);padding:.82rem .72rem;border-radius:12px}.overlay__panel h1{font-size:clamp(1.1rem,5.9vw,1.56rem)}.overlay__panel p{margin-top:.46rem;line-height:1.26;font-size:clamp(.76rem,2.1vw,.86rem)}.overlay__keys{margin-top:.48rem;gap:.22rem;font-size:clamp(.66rem,1.9vw,.79rem)}.overlay__button{margin-top:.58rem;padding:.44rem .72rem;font-size:.76rem}.overlay__button--secondary{padding:.42rem .66rem;font-size:.72rem}}
