*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none}
html,body{margin:0;padding:0;height:100%;overflow:hidden;background:#000;color:#fff;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;touch-action:none}
#c{position:fixed;inset:0;display:block}

/* HUD */
#hud{position:fixed;top:env(safe-area-inset-top,0);left:0;right:0;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
  padding:12px 16px;pointer-events:none;
  font-variant-numeric:tabular-nums;text-shadow:0 1px 3px rgba(0,0,0,.7)}
.panel{background:rgba(10,10,20,.55);backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);
  border-radius:12px;padding:8px 12px;font-size:14px;line-height:1.3}
.panel b{display:block;font-size:11px;font-weight:500;opacity:.6;letter-spacing:.5px;
  text-transform:uppercase;margin-bottom:2px}
.big{font-size:22px;font-weight:600}
#speed .big::after{content:" км/ч";font-size:12px;opacity:.6;margin-left:2px;font-weight:400}

/* Kill counters */
#score{position:fixed;top:calc(env(safe-area-inset-top,0) + 76px);right:16px;
  display:flex;flex-direction:column;gap:6px;pointer-events:none;z-index:3}
.kill{background:rgba(10,10,20,.55);backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);
  border-radius:20px;padding:4px 12px;font-size:15px;font-weight:600;
  display:flex;align-items:center;gap:6px;text-shadow:0 1px 3px rgba(0,0,0,.7)}
.kill .ico{font-size:18px}
.kill.bump{animation:pop .35s ease-out}
@keyframes pop{0%{transform:scale(1)}30%{transform:scale(1.25);background:rgba(255,80,80,.6)}100%{transform:scale(1)}}

/* Hit flash */
#hit{position:fixed;inset:0;pointer-events:none;background:rgba(255,80,80,0);
  transition:background .25s ease-out;z-index:2}
#hit.on{background:rgba(255,80,80,.35);transition:none}

/* Toast message */
#msg{position:fixed;left:50%;top:30%;transform:translate(-50%,-50%) scale(.8);
  background:rgba(0,0,0,.7);padding:10px 20px;border-radius:20px;
  font-size:18px;font-weight:700;color:#ffd166;opacity:0;pointer-events:none;
  transition:transform .25s,opacity .25s;z-index:4;text-shadow:0 2px 6px rgba(0,0,0,.8)}
#msg.on{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* Controls (mobile) */
#ctl{position:fixed;left:0;right:0;bottom:env(safe-area-inset-bottom,0);
  padding:0 18px 18px;display:none;justify-content:space-between;align-items:flex-end;
  pointer-events:none;z-index:5}
#ctl.on{display:flex}
.pad{display:flex;gap:14px;pointer-events:auto}
.btn{width:74px;height:74px;border-radius:50%;
  background:rgba(20,20,30,.55);backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.15);
  color:#fff;font-size:30px;display:flex;align-items:center;justify-content:center;
  transition:transform .08s,background .08s;touch-action:none}
.btn.gas{background:rgba(40,180,90,.35);border-color:rgba(80,255,140,.4)}
.btn.brk{background:rgba(220,60,60,.32);border-color:rgba(255,120,120,.4)}
.btn.act{transform:scale(.92);background:rgba(255,255,255,.25)}

/* Start overlay */
#start{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;background:radial-gradient(ellipse at center,#1a1a30,#000 70%);
  z-index:10;text-align:center;padding:20px}
#start h1{margin:0 0 8px;font-size:42px;font-weight:800;letter-spacing:-1px;
  background:linear-gradient(135deg,#ffd166 0%,#ef476f 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
#start p{margin:0 0 24px;opacity:.75;max-width:340px;line-height:1.5;font-size:14px}
#go,#again{padding:14px 40px;font-size:18px;font-weight:600;border:0;border-radius:30px;
  background:linear-gradient(135deg,#ffd166,#ef476f);color:#1a0030;cursor:pointer;
  box-shadow:0 8px 24px rgba(239,71,111,.35)}
#go:active,#again:active{transform:scale(.96)}

/* Finish */
#finish{position:fixed;inset:0;display:none;flex-direction:column;align-items:center;
  justify-content:center;background:rgba(0,0,0,.75);backdrop-filter:blur(12px);z-index:11;
  text-align:center;padding:20px}
#finish.on{display:flex}
#finish h2{margin:0 0 16px;font-size:36px;color:#ffd166}
#finish .stats{margin-bottom:24px;font-size:16px;line-height:1.8}
