/* ═══════════════════════════════════════════════
   EdgeSpot — Game Styles
   ═══════════════════════════════════════════════ */

.score-group{display:flex;flex-direction:column;align-items:center;gap:2px}
.score-label{font-size:9px;font-weight:600;letter-spacing:2px;color:var(--text-dim)}
.score-val{font-size:16px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}

.drill-bar{width:100%;height:3px;background:var(--bg-surface);border-radius:2px;overflow:hidden;margin-bottom:14px}
.drill-bar i{display:block;height:100%;width:0;background:var(--teal);border-radius:2px;transition:width .25s}

.es-arena{width:min(92vw,420px,52vh);aspect-ratio:1;position:relative;margin:0 auto;
  border:2px solid rgba(45,50,112,0.12);border-radius:var(--radius-lg);background:#f4f4f8;touch-action:manipulation}
.es-fix{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  font-size:30px;font-weight:300;color:var(--navy);visibility:hidden}
.es-target{position:absolute;transform:translate(-50%,-50%);visibility:hidden;pointer-events:none;
  width:20px;height:20px;border-radius:50%;background:var(--sky);
  box-shadow:0 0 14px rgba(91,184,245,0.8)}
.es-mask{position:absolute;inset:0;border-radius:var(--radius-lg);visibility:hidden;opacity:.95;
  background:
   repeating-linear-gradient(45deg,rgba(45,50,112,0.10) 0 7px,rgba(45,50,112,0.02) 7px 14px),
   repeating-linear-gradient(-45deg,rgba(91,184,245,0.12) 0 5px,transparent 5px 11px)}

.drill-dot{position:absolute;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;
  border:2px solid rgba(45,50,112,0.18);background:rgba(45,50,112,0.05);cursor:pointer;padding:0;
  opacity:0;pointer-events:none;transition:opacity .12s}
.drill-dot.show{opacity:1;pointer-events:auto}
.drill-dot:focus-visible{outline:2px solid var(--sky);outline-offset:3px}
.drill-dot.good{border-color:var(--teal);background:var(--teal-pale)}
.drill-dot.bad{border-color:var(--error);background:rgba(239,68,68,0.15)}

.drill-panel{min-height:74px;display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:14px;width:100%}
.drill-prompt{font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--text-mid);min-height:16px}
.drill-verdict{height:22px;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:var(--text-dim);text-align:center}
.drill-verdict.good{color:var(--teal)}
.drill-verdict.bad{color:var(--error)}

.drill-count{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;
  font-size:clamp(70px,22vw,130px);font-weight:700;color:var(--navy);
  background:rgba(250,249,247,0.88);backdrop-filter:blur(8px)}
.drill-count[hidden]{display:none}

.win-sub{font-size:12px;color:var(--text-mid);line-height:1.5;max-width:280px;margin:0 auto 18px}
.go-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;justify-content:center;margin-bottom:20px}
.go-stat{display:flex;flex-direction:column;align-items:center;gap:4px}
.go-stat-label{font-size:9px;font-weight:600;letter-spacing:2px;color:var(--text-dim)}
.go-stat-val{font-size:22px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}

/* ── Game-specific overrides ── */
.game{max-width:480px}
.game-hdr{gap:10px;flex-wrap:wrap}
@media (prefers-reduced-motion:reduce){.drill-dot,.drill-bar i{transition:none}}
