:root{--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);--gold: #ffc93c}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;overflow:hidden;background:#0a0d12;touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#fff}#app,#hud,#screens{position:fixed;inset:0}#screens,#screens .screen.hidden .btn{pointer-events:none}#app canvas{display:block;touch-action:none}#hud{pointer-events:none;z-index:5}.hud-hidden .hud-score,.hud-hidden .hud-lives,.hud-hidden .hud-timer,.hud-hidden #btn-pause{display:none!important}.hud-score{position:absolute;top:calc(14px + var(--safe-t));left:calc(18px + var(--safe-l));text-shadow:0 2px 10px rgba(0,0,0,.65)}.hud-score .num{font-size:clamp(30px,6vmin,46px);font-weight:800;letter-spacing:.02em;line-height:1}.hud-score .best{margin-top:3px;font-size:clamp(11px,2.4vmin,14px);font-weight:600;color:#ffffff8c;letter-spacing:.08em;text-transform:uppercase}.hud-lives{position:absolute;top:calc(16px + var(--safe-t));right:calc(64px + var(--safe-r));display:flex;gap:8px}.life-x{width:clamp(22px,5vmin,32px);height:clamp(22px,5vmin,32px);opacity:.95}.life-x path{fill:none;stroke:#ffffff47;stroke-width:7;stroke-linecap:round}.life-x.lost path{stroke:#ff4747;filter:drop-shadow(0 0 6px rgba(255,60,60,.8))}.life-x.lost{animation:lifePop .35s ease}@keyframes lifePop{40%{transform:scale(1.45)}}.hud-timer{position:absolute;top:calc(12px + var(--safe-t));left:50%;transform:translate(-50%);font-size:clamp(26px,5.4vmin,40px);font-weight:800;text-shadow:0 2px 10px rgba(0,0,0,.65);font-variant-numeric:tabular-nums}.hud-timer.urgent{color:#f55;animation:pulse .5s infinite alternate}@keyframes pulse{to{transform:translate(-50%) scale(1.12)}}.btn-icon{pointer-events:auto;position:absolute;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:#ffffff17;border:1px solid rgba(255,255,255,.16);border-radius:12px;color:#ffffffd9;cursor:pointer;backdrop-filter:blur(6px)}.btn-icon:active{background:#fff3}#btn-audio{top:calc(14px + var(--safe-t));right:calc(12px + var(--safe-r))}#btn-pause{bottom:calc(14px + var(--safe-b));right:calc(12px + var(--safe-r))}.btn-icon svg{width:22px;height:22px;fill:currentColor}.pop{position:absolute;transform:translate(-50%,-50%);font-weight:800;pointer-events:none;white-space:nowrap;text-shadow:0 2px 8px rgba(0,0,0,.7);animation:popFloat 1s ease-out forwards}.pop.combo{color:var(--gold);font-size:clamp(24px,6vmin,44px)}.pop.crit{color:#ff5c5c;font-size:clamp(20px,5vmin,36px)}.pop.bonus{color:#7dffb0;font-size:clamp(18px,4.4vmin,30px)}.pop.miss{color:#ff6b6b;font-size:clamp(26px,6.5vmin,48px)}.pop.powerup{color:#66d9ff;font-size:clamp(22px,5.5vmin,40px)}@keyframes popFloat{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}15%{opacity:1;transform:translate(-50%,-58%) scale(1.15)}30%{transform:translate(-50%,-62%) scale(1)}to{opacity:0;transform:translate(-50%,-130%) scale(.92)}}.flash{position:fixed;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:8}#screens{z-index:10}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.6vh;background:radial-gradient(ellipse at 50% 38%,#121a269e,#06080ce0);backdrop-filter:blur(10px);opacity:1;transition:opacity .28s ease;pointer-events:none}.screen.hidden{opacity:0}.screen .btn{pointer-events:auto}.title{font-size:clamp(42px,11vmin,96px);font-weight:900;letter-spacing:.04em;line-height:1.02;text-align:center;background:linear-gradient(180deg,#fff 30%,#ffb43a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 6px 24px rgba(255,150,40,.28))}.subtitle{margin-top:-1.6vh;font-size:clamp(13px,2.8vmin,17px);letter-spacing:.34em;text-transform:uppercase;color:#ffffff80}.menu-buttons{display:flex;flex-direction:column;gap:14px;margin-top:2vh;min-width:min(320px,78vw)}.btn{pointer-events:auto;border:none;border-radius:16px;padding:17px 34px;font-size:clamp(17px,3.6vmin,22px);font-weight:800;letter-spacing:.12em;color:#14100a;background:linear-gradient(180deg,#ffd75e,#f5a623);box-shadow:0 8px 26px #f5a62352,inset 0 1px #ffffff8c;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.btn:active{transform:scale(.955)}.btn.secondary{color:#eaf2ff;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);box-shadow:none}.btn .desc{display:block;margin-top:4px;font-size:.58em;font-weight:600;letter-spacing:.06em;opacity:.72}.gameover-title{font-size:clamp(36px,9vmin,76px);font-weight:900;letter-spacing:.05em;color:#ff5c5c;text-shadow:0 4px 30px rgba(255,70,70,.35)}.final-score{display:flex;flex-direction:column;align-items:center;gap:6px}.final-score .label{font-size:clamp(12px,2.6vmin,15px);letter-spacing:.3em;color:#ffffff8c}.final-score .value{font-size:clamp(54px,13vmin,110px);font-weight:900;line-height:1}.new-best{color:var(--gold);font-size:clamp(14px,3.2vmin,19px);font-weight:800;letter-spacing:.22em;animation:bestBlink 1s ease infinite alternate}@keyframes bestBlink{to{opacity:.55}}.stat-row{display:flex;gap:34px}.stat{display:flex;flex-direction:column;align-items:center;gap:3px}.stat .k{font-size:clamp(10px,2.2vmin,13px);letter-spacing:.2em;color:#ffffff80}.stat .v{font-size:clamp(20px,4.6vmin,30px);font-weight:800}.hint{position:absolute;bottom:calc(26px + var(--safe-b));font-size:clamp(12px,2.8vmin,15px);letter-spacing:.18em;color:#fff6;animation:hintFade 2.4s ease infinite alternate}@keyframes hintFade{to{opacity:.35}}.paused-title{font-size:clamp(30px,7.5vmin,60px);font-weight:900;letter-spacing:.3em}
