/*! Gun Game — hit to level up — © 2026 Hasib (OVERSHOOT). All rights reserved. Licensed, not sold: see LICENSE.md. */:root{--void:#07080d;--ink:#0b0e16;--cyan:#22e0ff;--magenta:#ff2d95;--amber:#ffb020;--lime:#8dff5a;--gold:#ffd54a;--danger:#ff3b3b;--cream:#eaf1ff}*{box-sizing:border-box}html,body{height:100%}html{overflow:hidden}body{margin:0;min-height:100svh;font-family:Inter,system-ui,sans-serif;color:var(--cream);background:radial-gradient(120% 80% at 50% 0%,#12172a 0%,transparent 55%),radial-gradient(140% 120% at 50% 130%,#05060b 0%,transparent 60%),var(--void);overflow:hidden;overflow-x:clip;-webkit-font-smoothing:antialiased;cursor:default}.stage{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;cursor:none}#c{position:absolute;inset:0;width:100%;height:100%;display:block}.hit{position:absolute;inset:0;z-index:2;outline:none;touch-action:none}.hit:focus-visible{box-shadow:inset 0 0 0 2px #22e0ff80}.hud{position:absolute;top:clamp(14px,4vh,30px);left:clamp(16px,5vw,46px);z-index:3;display:flex;gap:clamp(20px,4vw,44px);font-family:ui-monospace,SF Mono,Roboto Mono,monospace;pointer-events:none}.hud__score,.hud__acc{font-size:clamp(.66rem,1.6vmin,.82rem);letter-spacing:.22em;color:#eaf1ff80}.hud__score b,.hud__acc b{display:block;font-size:clamp(1.5rem,4.6vmin,2.4rem);letter-spacing:.02em;color:var(--cream);font-variant-numeric:tabular-nums;text-shadow:0 0 16px rgba(34,224,255,.35)}.combo{position:absolute;top:clamp(14px,4vh,30px);left:50%;translate:-50% 0;z-index:3;display:flex;flex-direction:column;align-items:center;line-height:1;pointer-events:none;opacity:0;transform:translateY(-6px) scale(.9);transition:opacity .25s,transform .25s}.combo.on{opacity:1;transform:none}.combo #comboMult{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:clamp(1.6rem,5.4vmin,2.9rem);color:var(--amber);text-shadow:0 0 22px rgba(255,176,32,.6)}.combo i{font-style:normal;font-size:.6rem;letter-spacing:.4em;text-indent:.4em;color:#ffb020b3;margin-top:.15em}.combo.pop #comboMult{animation:cpop .3s ease}@keyframes cpop{0%{transform:scale(1.5)}to{transform:scale(1)}}.weapon{position:absolute;left:clamp(16px,5vw,46px);bottom:clamp(18px,5vh,40px);z-index:3;display:flex;flex-direction:column;gap:8px;pointer-events:none;padding:14px 18px;border-radius:14px;background:linear-gradient(180deg,#141a2c99,#0a0d1680);border:1px solid rgba(34,224,255,.16);backdrop-filter:blur(8px);min-width:auto}.weapon__top,.weapon__pips{display:none}.weapon__lvl{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:clamp(1.05rem,3vmin,1.5rem);letter-spacing:.08em;color:var(--acc,#22e0ff);text-shadow:0 0 16px var(--acc,rgba(34,224,255,.5))}.weapon__lvl:before{content:"LVL ";font-size:.6em;letter-spacing:.2em;opacity:.6}.weapon__name{display:none}.weapon.swap .weapon__name{animation:wswap .5s cubic-bezier(.16,.84,.28,1)}@keyframes wswap{0%{transform:translateY(14px);opacity:0;filter:brightness(2.4)}to{transform:none;opacity:1}}.weapon__pips span{width:16px;height:5px;border-radius:3px;background:#eaf1ff24;transition:background .2s,box-shadow .2s}.weapon__pips span.on{background:var(--acc,var(--cyan));box-shadow:0 0 10px var(--acc,var(--cyan))}.weapon__ammo{font-family:ui-monospace,monospace;font-size:1rem;letter-spacing:.08em;color:var(--cream);font-variant-numeric:tabular-nums}.weapon__ammo:before{content:"AMMO ";font-size:.66em;letter-spacing:.2em;opacity:.55}.weapon__ammo i{font-style:normal;opacity:.4;font-size:.8em}.weapon.reloading .weapon__ammo{color:var(--amber);animation:blink .6s steps(2) infinite}@keyframes blink{50%{opacity:.35}}.banner{position:absolute;left:50%;top:38%;translate:-50% -50%;z-index:4;font-family:Space Grotesk,sans-serif;font-weight:700;text-align:center;letter-spacing:.08em;pointer-events:none;opacity:0;font-size:clamp(1.8rem,7vmin,3.6rem);line-height:1.05;text-shadow:0 0 30px currentColor}.banner small{display:block;font-size:.42em;letter-spacing:.34em;text-indent:.34em;opacity:.8;margin-top:.5em;font-weight:500}.banner.show{animation:banner 1.4s cubic-bezier(.16,.84,.28,1)}@keyframes banner{0%{opacity:0;transform:scale(.7)}14%{opacity:1;transform:scale(1.06)}30%{transform:scale(1)}78%{opacity:1}to{opacity:0;transform:scale(1)}}.banner.win{font-size:clamp(2.4rem,10vmin,5.4rem)}.banner.win.show{animation:banner 3.2s cubic-bezier(.16,.84,.28,1) forwards}.wordmark{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:3;margin:0;display:flex;flex-direction:column;align-items:center;gap:.5em;pointer-events:none;text-align:center;transition:opacity .5s ease,transform .5s ease}.wordmark__word{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:clamp(2.6rem,13vmin,7rem);letter-spacing:.04em;line-height:1;color:var(--cream);text-shadow:0 0 8px rgba(34,224,255,.5),0 0 34px rgba(34,224,255,.4),4px 4px 0 var(--magenta)}.wordmark__sub{font-family:ui-monospace,SF Mono,monospace;font-size:clamp(.62rem,1.6vmin,.82rem);letter-spacing:.5em;text-indent:.5em;color:var(--cyan);text-shadow:0 0 14px rgba(34,224,255,.6)}.wordmark.is-gone{opacity:0;transform:translate(-50%,-50%) scale(1.15)}.hint{position:absolute;bottom:clamp(18px,5vh,40px);right:clamp(16px,5vw,46px);z-index:3;margin:0;display:flex;align-items:center;gap:9px;font-size:.78rem;letter-spacing:.04em;color:#eaf1ffb8;background:#22e0ff12;border:1px solid rgba(34,224,255,.18);padding:8px 15px;border-radius:999px;backdrop-filter:blur(6px);transition:opacity .5s ease,transform .5s ease;animation:bob 2.8s ease-in-out infinite}.hint__grip{width:13px;height:13px;border-radius:50%;border:2px solid rgba(34,224,255,.85);box-shadow:0 0 8px #22e0ff99;position:relative}.hint__grip:after{content:"";position:absolute;inset:3px;border-radius:50%;background:#22e0ffe6;animation:pulse 1.5s ease-in-out infinite}.hint.is-gone{opacity:0;transform:translateY(6px);pointer-events:none}@keyframes bob{50%{transform:translateY(-4px)}}@keyframes pulse{50%{transform:scale(.5);opacity:.4}}.mute{position:fixed;top:clamp(14px,3vh,26px);right:clamp(14px,3vw,26px);z-index:5;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--cream);background:#ffffff0d;border:1px solid rgba(34,224,255,.2);backdrop-filter:blur(8px);cursor:pointer;transition:background .2s,transform .2s,border-color .2s}.mute:hover{background:#22e0ff29;transform:scale(1.05)}.mute:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.mute svg{width:22px;height:22px;fill:currentColor;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;fill-rule:evenodd}.mute .wave{fill:none;transition:opacity .2s}.mute[aria-pressed=false] .wave{opacity:.15}.mute[aria-pressed=true] .wave{opacity:1}@media(prefers-reduced-motion:reduce){.stage{cursor:default}.hint,.hint__grip:after{animation:none}.combo.pop #comboMult,.weapon.swap .weapon__name,.banner.show,.weapon.reloading .weapon__ammo{animation:none}.mute{transition:none}}
