/* Структура портирована с igra-station/public/css/arena.css (те же класс-имена
   tv-*, чтобы разметка совпадала со «страницей партии» на станции). Раскраска —
   своя: держимся пяти ролей ../../brand/palette.css, не тащим отдельный токен
   на каждый из ~30 mark арены (см. API.md, добавление к вопросу 1). */
.tv-boards{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;}
.tv-board-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;}
.tv-board-card.tv-turn{border-color:var(--accent);}
.tv-board-card.tv-wide{flex:1 1 100%;max-width:100%;}
.tv-title{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-weight:800;font-size:13px;}
.tv-title .who{color:var(--text);}
.tv-score{font-size:12px;color:var(--muted);text-align:right;}
.tv-turnmark{color:var(--accent);font-weight:800;white-space:nowrap;}
.tv-status{margin:8px 0 0;font-size:13px;color:var(--muted);}
.tv-status b{color:var(--text);}
.tv-legend{margin:8px 0 0;font-size:12px;color:var(--muted);}
.tv-muted{color:var(--muted);font-size:13px;}

.tv-grid{display:grid;margin-top:8px;user-select:none;gap:2px;}
.tv-lab{display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--muted);font-weight:700;}
.tv-cell{
  display:flex;align-items:center;justify-content:center;aspect-ratio:1;min-width:0;
  background:var(--card-hi);border-radius:3px;font-weight:700;color:var(--text);
  font-size:clamp(9px, calc(20px - var(--tv-len,1) * 3px), 18px);
}
.tv-cell.tv-dark{background:color-mix(in srgb, var(--card-hi) 55%, var(--ink));}
.tv-cell.tv-last{box-shadow:inset 0 0 0 2px var(--accent);}

/* игроки 1..4 — фигуры/клетки, привязанные к участнику */
.tv-cell.tv-p1,.tv-cell.tv-b1,.tv-cell.tv-e1{background:var(--accent);color:var(--ink);}
.tv-cell.tv-p2,.tv-cell.tv-b2,.tv-cell.tv-e2{background:var(--blue);color:var(--ink-deep);}
.tv-cell.tv-p3,.tv-cell.tv-b3,.tv-cell.tv-e3{background:var(--gold);color:var(--ink);}
.tv-cell.tv-p4,.tv-cell.tv-b4,.tv-cell.tv-e4{background:var(--up);color:var(--ink);}

/* исход клетки — попадание/провал красным, успех зелёным, нейтральное затемнением */
.tv-cell.tv-hit,.tv-cell.tv-kill,.tv-cell.tv-boom,.tv-cell.tv-broke,.tv-cell.tv-no,
.tv-cell.tv-hurt,.tv-cell.tv-bull{background:color-mix(in srgb, var(--live) 35%, var(--card-hi));}
.tv-cell.tv-kept,.tv-cell.tv-yes,.tv-cell.tv-tile{background:color-mix(in srgb, var(--up) 30%, var(--card-hi));}
.tv-cell.tv-miss::after,.tv-cell.tv-auto::after{content:"·";color:var(--muted);}
.tv-cell.tv-water{background:color-mix(in srgb, var(--blue) 16%, var(--card-hi));}
.tv-cell.tv-ground,.tv-cell.tv-dot,.tv-cell.tv-wall{background:var(--ink-deep);}
