/* HUD in gara */
#hud{position:absolute; inset:0; pointer-events:none; z-index:15; font-variant-numeric:tabular-nums;}
.hud-corner{position:absolute; display:flex; flex-direction:column; gap:6px;}
#hud-tl{top:16px; left:18px;}
#hud-tr{top:16px; right:18px; align-items:flex-end;}
#hud-bl{bottom:18px; left:18px;}
#hud-br{bottom:18px; right:18px; align-items:flex-end;}
.hud-panel{background:rgba(10,14,26,.72); border:1px solid var(--line); border-radius:10px; padding:10px 14px;}
#hud-speed{font-size:44px; font-weight:800; line-height:1; color:#fff; text-shadow:0 0 18px rgba(37,208,255,.5);}
#hud-speed small{font-size:14px; color:var(--dim); font-weight:600; margin-left:4px;}
#hud-rpm{height:6px; width:170px; background:#101828; border-radius:3px; overflow:hidden; margin-top:6px;}
#hud-rpm>div{height:100%; width:0%; background:linear-gradient(90deg,var(--accent),var(--hot),var(--danger));}
.hud-lap{font-size:15px; font-weight:700; letter-spacing:1px;}
.hud-time{font-size:13px; color:var(--dim);}
.hud-time b{color:var(--txt);}
.hud-pos{font-size:34px; font-weight:800; color:var(--accent);}
.hud-pos small{font-size:14px; color:var(--dim);}
/* barre: freni / turbo / aero */
.gauge{width:150px;}
.gauge label{display:flex; justify-content:space-between; font-size:10px; letter-spacing:1px; color:var(--dim); text-transform:uppercase; margin-bottom:3px;}
.gauge .bar{height:7px; background:#101828; border-radius:4px; overflow:hidden;}
.gauge .bar>div{height:100%; width:0%; transition:width .06s linear;}
.gauge.brake .bar>div{background:linear-gradient(90deg,#3ec1ff,#ffd23d,#ff5a5a);}
.gauge.turbo .bar>div{background:linear-gradient(90deg,#ff9a3d,#ff5a3d); }
.gauge.turbo.full .bar{box-shadow:0 0 12px rgba(255,122,61,.8);}
.gauge.aero .bar>div{background:var(--accent);}
#hud-msg{
  position:absolute; top:22%; left:50%; transform:translateX(-50%);
  font-size:26px; font-weight:800; letter-spacing:3px; color:#fff; text-transform:uppercase;
  text-shadow:0 0 22px rgba(37,208,255,.8); opacity:0; transition:opacity .2s; text-align:center;
}
#hud-slip{color:var(--accent); font-size:13px; font-weight:700; letter-spacing:2px; opacity:0; transition:opacity .15s;}
#hud-warn{color:var(--danger); font-size:13px; font-weight:700; letter-spacing:1px; opacity:0; transition:opacity .15s;}
#minimap{position:absolute; bottom:18px; left:50%; transform:translateX(-50%); opacity:.9;}
#countdown{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-size:120px; font-weight:900; color:var(--accent); text-shadow:0 0 60px rgba(37,208,255,.8);}
