.quick-survivor .arena-heading { margin-bottom:12px; }
.quick-survivor .arena-heading h2 { font-size:clamp(21px,5.6vw,28px); }
.quick-survivor .arena-meta { font-size:13px; }
.quick-survivor .history-source { gap:6px; margin-bottom:12px; }
.quick-survivor .history-source a { padding:7px 9px; font-size:13px; text-decoration:none; }
.quick-survivor .arena-meta__period { display:none; }
.survivor-hud { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:12px; }
.survivor-metric { display:grid; gap:2px; padding:6px 4px; border:1px solid var(--line); border-radius:10px; text-align:center; background:var(--surface); }
.survivor-metric strong { color:var(--accent); font-size:24px; font-variant-numeric:tabular-nums; line-height:1.1; }
.survivor-metric span { color:var(--muted); font-size:12px; }
.survivor-controls { padding:10px 0 0; }
.survivor-instruction { margin:0 0 8px; font-size:14px; }
.survivor-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.survivor-choice { display:grid; gap:4px; align-content:center; min-height:68px; padding:8px 2px; border:1.5px solid var(--line); border-radius:12px; background:var(--surface); color:var(--text); cursor:pointer; }
.survivor-choice strong { font-size:19px; }
.survivor-choice span { font-size:12px; color:var(--muted); }
.survivor-choice.direction-up { border-color:var(--positive); }
.survivor-choice.direction-down { border-color:var(--negative); }
.survivor-choice.direction-sideways { border-color:var(--accent); }
.survivor-choice:hover { background:var(--accent-wash); }
.survivor-choice:disabled { opacity:.5; cursor:wait; }
.survivor-caption { color:var(--muted); font-size:12px; line-height:1.5; margin:8px 0; }
.survivor-result { margin:14px 0; padding:12px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.survivor-result.is-correct { border-color:var(--positive); }
.survivor-result.needs-review { border-color:var(--stop); }
.survivor-result h3 { font-size:22px; margin:0 0 6px; }
.survivor-result p { margin:6px 0; line-height:1.5; }
.quick-survivor .arena-game > .practice-primary { width:100%; min-height:52px; }
.survivor-finish { margin:12px 0 24px; }
.survivor-finish > a { display:block; text-align:center; margin-top:12px; }
.survivor-dots { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0; }
.survivor-hit, .survivor-miss { display:grid; place-items:center; width:26px; height:26px; border-radius:6px; font-weight:700; }
.survivor-hit { background:var(--positive); color:var(--bg); }
.survivor-miss { background:var(--negative); color:var(--bg); }
.survivor-sharing { display:grid; gap:10px; }
.survivor-sharing button { width:100%; min-height:48px; }
.survivor-sharing textarea { width:100%; min-height:160px; padding:12px; background:var(--surface); color:var(--text); font:inherit; border:1px solid var(--line); border-radius:8px; }
.survivor-scores { margin:28px 0; }
.survivor-scores h3 { font-size:22px; }
.survivor-scores table { width:100%; border-collapse:collapse; font-size:12px; table-layout:fixed; }
.survivor-scores th, .survivor-scores td { padding:10px 3px; text-align:left; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.survivor-scores th { color:var(--muted); font-weight:500; }
.survivor-scores th:nth-child(1) { width:13%; }
.survivor-scores th:nth-child(2) { width:32%; }
.survivor-details { margin:20px 0; overflow-wrap:anywhere; }
.survivor-details button { margin:10px 0; min-height:44px; }
.survivor-details label { margin:12px 0; }
@media (max-width:360px) {
  .quick-survivor .history-source a { font-size:12px; padding:6px 7px; }
  .survivor-choice span { font-size:11px; }
}

.survivor-replay { margin:16px 0; }
.survivor-replay .arena-board { margin-top:12px; }
