/* Single-player practice: setup choices, the computer's turn, the record strip and solo result cards. */

.setup-players, .setup-solo { margin-bottom:12px; }
.setup-solo { padding:12px 14px; background:var(--surface-soft); border:1px solid var(--line); border-radius:14px; }
.setup-solo__note { grid-column:1 / -1; margin:0; color:var(--ink-soft); font-size:13px; }

/* The computer's turn: a calm announcement and a highlighted choice just before it is played. */
.arena-ai-turn {
  display:flex; width:fit-content; align-items:center; gap:10px; margin:0 auto 10px; padding:7px 14px;
  color:var(--navy); background:var(--surface); border:1px solid var(--line-strong); border-radius:999px; box-shadow:var(--shadow-xs);
  font-size:15px; font-weight:800;
}
.arena-ai-turn__dot { width:10px; height:10px; background:var(--coral-dark, #c7463d); border-radius:50%; animation:ai-thinking 900ms ease-in-out infinite; }
#arenaPlay.is-ai-turn button:disabled, #arenaPlay.is-ai-turn select:disabled { cursor:progress; }
#arenaPlay .ai-pick, #arenaPlay .ai-pick:disabled {
  position:relative; z-index:1; opacity:1; outline:3px solid var(--coral-dark, #c7463d); outline-offset:3px;
  box-shadow:0 0 0 6px rgba(199,70,61,.18), 0 10px 22px rgba(199,70,61,.25); animation:ai-pick 520ms var(--ease-out) both;
}
@keyframes ai-thinking { 0%,100% { opacity:.35; transform:scale(.8); } 50% { opacity:1; transform:scale(1.1); } }
@keyframes ai-pick { 0% { transform:scale(.94); } 55% { transform:scale(1.07); } 100% { transform:scale(1); } }

/* Practising alone: the rival strip shows the record to beat. */
.duel-opponent--record { border-style:dashed; }
.duel-opponent--record.is-ahead { border-style:solid; border-color:var(--green, #1f9d6b); box-shadow:0 0 0 3px rgba(31,157,107,.16); }
.duel-opponent--record.is-ahead .duel-opponent__status { color:var(--green-ink); background:var(--green-tint); }

/* Solo result: the player's card and the record card share the two-column result grid. */
.arena-side--record { border-style:dashed; }
.arena-side--record strong { color:var(--ink-soft); }
.arena-scores--final .arena-side.is-record { box-shadow:0 0 0 4px rgba(246,190,26,.35), 0 14px 30px rgba(184,120,0,.18); }
.arena-scores--final .arena-side.is-record .result-player__outcome::before { content:'★ '; }

body.reduced-motion .arena-ai-turn__dot, body.reduced-motion #arenaPlay .ai-pick { animation:none; }
@media (prefers-reduced-motion: reduce) {
  body:not(.motion-on) .arena-ai-turn__dot, body:not(.motion-on) #arenaPlay .ai-pick { animation:none; }
}
body.high-contrast #arenaPlay .ai-pick { outline-color:#000; outline-style:dashed; }
