/* Coach skin «ТВ-графика» v40: the look of a match broadcast's on-screen graphics.
   Loaded last; every rule is scoped to :root[data-theme="tv"], so the other six skins are untouched.
   Palette: ground #07122B, panels #0E1D40/#11234D, header band #0B1A3D, blue #1E4FA3, sky #3B8BEB,
   yellow #FFD23F (always with dark #07122B text), red #E5484D, green #2FBF71, text #fff/#DCE6F7, muted #9FB0CF.
   Shapes: square panels, slanted plates (clip-path ≈10px) for buttons, tags and section labels, striped bands.
   The pitch, team tokens and exported Telegram cards keep their club colours (see themes.css). */

/* ---------- 1. Tokens ---------- */
:root[data-theme="tv"]{
  --paper:#07122B;
  --card:#0E1D40;
  --ink:#FFFFFF;
  --muted:#9FB0CF;
  --line:rgba(159,176,207,.2);
  --line-2:rgba(159,176,207,.36);
  --blue:#6FA8F5;
  --blue-2:#6FA8F5;
  --blue-ink:#07122B;
  --pitch:#2E6B44;
  --pitch2:#347A4E;
  --chalk:#E8EFE6;
  --gold:#FFD23F;
  --red:#FF6B70;
  --green:#2FBF71;
  --amber:#FFD23F;
  --board:#0B1A3D;
  --board2:#11234D;
  --board-ink:#FFFFFF;
  --board-mute:#9FB0CF;
  --t-blue:rgba(59,139,235,.18);
  --t-blue-soft:rgba(59,139,235,.14);
  --t-red:rgba(229,72,77,.18);
  --t-green:rgba(47,191,113,.16);
  --t-amber:rgba(255,210,63,.14);
  --t-violet:rgba(170,130,240,.17);
  --t-teal:rgba(70,200,180,.15);
  --t-neutral:rgba(255,255,255,.05);
  --t-peach:rgba(255,210,63,.14);
  --tx-amber:#FFD23F;
  --tx-green:#6FDDA0;
  --tx-violet:#C4A8F7;
  --tx-teal:#70D9C6;
  --amber-ink:#FFD23F;
  --green-ink:#6FDDA0;
  --violet-ink:#C4A8F7;
  --club:#1E4FA3;
  --glow:#0B1A3D;
  --me-row:#1E4FA3;
  --ink-soft:rgba(255,255,255,.08);
  --ink-faint:rgba(255,255,255,.03);
  --paper-glow:#0B1A3D;
  --on-red:#FFFFFF;
  --on-green:#07122B;
  --on-gold:#07122B;
  --low-attribute:#FF7A7E;
  --f-display:"Oswald","Arial Narrow",system-ui,sans-serif;
  --f-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r-lg:0px; --r:0px; --r-sm:0px;
  --sh-card:none;
  --sh-board:none;
  /* broadcast motifs */
  --tv-ground:#07122B; --tv-panel:#0E1D40; --tv-panel-2:#11234D; --tv-band:#0B1A3D;
  --tv-blue:#1E4FA3; --tv-sky:#3B8BEB; --tv-yellow:#FFD23F; --tv-dark:#07122B; --tv-text-2:#DCE6F7;
  --tv-stripes:repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0 8px,transparent 8px 18px);
  --tv-skew:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);
  --tv-skew-sm:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);
  --tv-skew-r:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%);
  color-scheme:dark;
}
:root[data-theme="tv"] body{background:var(--tv-ground);color:var(--ink)}

/* ---------- 2. Type: Oswald capitals for headings, labels, buttons, tabs and big numbers ---------- */
:root[data-theme="tv"] :is(h1,h2,h3,.label,.btn,nav.tabs button,.seg button,th,.sb-score,.sb-min,.sb-team,.sb-state,.dn,.ht b,.led,.cmd-rating,.lead-k){font-family:var(--f-display);text-transform:uppercase;letter-spacing:.02em}
:root[data-theme="tv"] :is(h1,h2,h3){font-weight:600;line-height:1.1}
:root[data-theme="tv"] :is(#main,#sheet,.coach-theme-dialog) h2{font-size:21px}
:root[data-theme="tv"] :is(#main,#sheet) h3{font-size:17px}
:root[data-theme="tv"] .hint{color:var(--muted)}
:root[data-theme="tv"] a{color:var(--tv-yellow)}
:root[data-theme="tv"] a:hover{color:#fff}
:root[data-theme="tv"] :focus-visible{outline:3px solid var(--tv-yellow);outline-offset:2px}

/* ---------- 3. Header band, status plates ---------- */
:root[data-theme="tv"] header.top{background-color:var(--tv-band);background-image:var(--tv-stripes);border-bottom:3px solid var(--tv-blue);border-radius:0;padding:12px 14px;box-shadow:none}
:root[data-theme="tv"] header.top h1{color:#fff;font-weight:700}
:root[data-theme="tv"] header.top h1 em{color:var(--tv-yellow);font-style:normal}
:root[data-theme="tv"] header.top .brand p{color:var(--tv-text-2)}
:root[data-theme="tv"] .meter i{background:rgba(255,255,255,.12);border-radius:0}
:root[data-theme="tv"] .meter i b{background:var(--tv-sky);border-radius:0}
:root[data-theme="tv"] .meter span{color:var(--tv-text-2)}
:root[data-theme="tv"] .meter span b{color:#fff;font-family:var(--f-display)}
:root[data-theme="tv"] .cmd-mini-status{color:var(--tv-text-2)}
:root[data-theme="tv"] :is(.coach-theme-button,#clMailTop){border-radius:0;background:var(--tv-panel-2);border:1px solid var(--line-2);color:#fff}
:root[data-theme="tv"] .coach-displaybar{background:var(--tv-band);border-radius:0}
:root[data-theme="tv"] .coach-displaybar button{border-radius:0;background:var(--tv-panel-2);color:var(--tv-text-2);border:0;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.02em;clip-path:var(--tv-skew-sm);padding-inline:14px}
:root[data-theme="tv"] .coach-displaybar button[aria-pressed="true"]{background:var(--tv-blue);color:#fff}
:root[data-theme="tv"] .status{background:var(--tv-band) var(--tv-stripes);border-radius:0;border-top:3px solid var(--tv-blue);box-shadow:none}
:root[data-theme="tv"] .status :is(b,strong){font-family:var(--f-display)}
:root[data-theme="tv"] :is(.ib-badge,.coach-alert){background:#C62F35;color:#fff}
:root[data-theme="tv"] .chip i,:root[data-theme="tv"] .as-strip b{background:var(--tv-yellow);color:var(--tv-dark);border-radius:0}
:root[data-theme="tv"] .ev.chant{color:var(--muted)}
:root[data-theme="tv"] .ar b.a-top{color:var(--tv-dark)}

/* ---------- 4. Square panels ---------- */
:root[data-theme="tv"] :is(.card,.panel > section,.sheet,.hero,.scoreboard,.mk-row,.cup-stage,.cup-fixture,.fx,.coach-theme-dialog,.coach-theme-choice,.coach-theme-preview,.dchip,.ptl,.sb-tile,.dev-item,.ach,.gauge,.mpitch.big,.mpitch.mini,.tw,.lead,.cb,.ev,.feed,.mom-wrap,.momentum,.as-strip,.ib-it,.stad-price,.pm,.oi-acts){border-radius:0}
/* command.css rounds everything under #main with an id selector, so square it back with the same weight */
:root[data-theme="tv"] :is(#main,#sheet) :is(.card,.box,section,details,.seg,.dev-oper,.ag-wfh,.duel,.obj,.dr-g,li.ok,li.tip-tac,.dev-tabs,.dev-title,.ach,.cup-stand,.mk-win,.pitch,.mpitch,
  ul.brd-goals li,.stad-stats > *,.gauges > *,.recs > *,.sp-row,.goalbar,.pm,.oi-acts,.ib-it,.load-row,.prep-tiles > *,.tacc-info,.as-strip,.leads > *,.cup-match,.cup-fixture,.fx,ul.tips > li,.dev-fin > div,.oi-list > li,.sb-fx > li,.choices > .choice,.pp-attrs,.pp-cond,.pp-grow,.pp-stats > div,.pp-pitch),
:root[data-theme="tv"] #main button:not(:is(.pitch,.mpitch,.pp-pitch) *),
:root[data-theme="tv"] .coach-display-actions button,
:root[data-theme="tv"] .meter{border-radius:0}
:root[data-theme="tv"] #main button.cmd-game-action{background:var(--tv-yellow)!important;color:var(--tv-dark)!important;border:0!important}
:root[data-theme="tv"] .card{background:var(--tv-panel);border:0;border-top:3px solid var(--tv-blue);box-shadow:none}
:root[data-theme="tv"] .card .card,:root[data-theme="tv"] .card :is(.ib-it,.ptl,.sb-tile,.dev-item,.lead){background:var(--tv-panel-2);border-color:transparent}
/* the card's first heading becomes a striped band, like the plate above a stat graphic */
:root[data-theme="tv"] .card > h2:first-child,:root[data-theme="tv"] .card > h3:first-child{margin:-14px -14px 12px;padding:10px 14px;background:var(--tv-band) var(--tv-stripes);border-bottom:2px solid var(--tv-blue)}
@media (min-width:561px){:root[data-theme="tv"] .card > h2:first-child,:root[data-theme="tv"] .card > h3:first-child{margin:-16px -16px 14px;padding:11px 16px}}
/* section labels: slanted blue plates */
:root[data-theme="tv"] p.label{display:inline-block;justify-self:start;align-self:start;width:auto;max-width:100%;background:var(--tv-blue);color:#fff;font-weight:600;font-size:12px;line-height:1.3;padding:3px 16px;clip-path:var(--tv-skew);letter-spacing:.06em}
:root[data-theme="tv"] .sheet p.label{background:var(--tv-yellow);color:var(--tv-dark)}

/* ---------- 5. Buttons: slanted plates ---------- */
:root[data-theme="tv"] .btn{background:var(--tv-blue);color:#fff;border:0;border-radius:0;box-shadow:none;font-weight:600;clip-path:var(--tv-skew);padding-inline:20px;filter:none}
:root[data-theme="tv"] .btn:hover{background:#2A5DB6;filter:none}
:root[data-theme="tv"] .btn:active{transform:translateY(1px)}
:root[data-theme="tv"] :is(.btn.gold,.btn.kick,.hero .btn.kick){background:var(--tv-yellow);color:var(--tv-dark);box-shadow:none}
:root[data-theme="tv"] :is(.btn.gold,.btn.kick):hover{background:#FFDC66}
:root[data-theme="tv"] :is(.btn.ghost,.btn.line,label.btn.ghost){background:var(--tv-panel-2);color:var(--tv-text-2);border:0;box-shadow:inset 0 -2px 0 var(--tv-sky)}
:root[data-theme="tv"] :is(.btn.ghost,.btn.line):hover{background:#18306A;color:#fff}
:root[data-theme="tv"] .btn:disabled{opacity:.5}
:root[data-theme="tv"] .btn.sm{padding-inline:14px;clip-path:var(--tv-skew-sm)}
:root[data-theme="tv"] :is(.linkish,.lnk){color:var(--tv-yellow)}
/* segmented controls: speed, filters, tabs inside cards */
:root[data-theme="tv"] .seg{gap:4px}
:root[data-theme="tv"] .seg button{background:var(--tv-panel-2);color:#CFE0FF;border:0;border-radius:0;font-weight:600}
:root[data-theme="tv"] .seg button:hover{background:#18306A;color:#fff}
:root[data-theme="tv"] .seg button[aria-pressed="true"],:root[data-theme="tv"] .seg button[aria-selected="true"]{background:var(--tv-blue);color:#fff}
/* inputs */
:root[data-theme="tv"] :is(select,input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),textarea){background:var(--tv-panel-2);color:#fff;border:1px solid var(--line-2);border-radius:0}
:root[data-theme="tv"] input[type="checkbox"],:root[data-theme="tv"] input[type="radio"],:root[data-theme="tv"] input[type="range"]{accent-color:var(--tv-yellow)}

/* ---------- 6. Tags, chips, badges: small slanted plates ---------- */
:root[data-theme="tv"] :is(.chip,.tag,em.tg,.pr-tag,.xi-tag,.sb-st,.dev-stamp,.dev-note){border-radius:0;clip-path:var(--tv-skew-sm);padding-inline:9px}
:root[data-theme="tv"] .chip{background:var(--tv-panel-2);color:var(--tv-text-2);border:0}
:root[data-theme="tv"] .chip.chip-style{background:var(--tv-blue);color:#fff}
:root[data-theme="tv"] em.tg{background:var(--tv-blue);color:#fff;font-style:normal}
:root[data-theme="tv"] em.tg-hot{background:#C62F35;color:#fff}
:root[data-theme="tv"] .xi-tag{background:var(--tv-yellow);color:var(--tv-dark)}
:root[data-theme="tv"] .dchip{background:var(--tv-panel-2);border-color:transparent;color:var(--tv-text-2)}
:root[data-theme="tv"] .dchip.today{box-shadow:inset 0 -3px 0 var(--tv-yellow)}
:root[data-theme="tv"] .dchip.match{background:var(--tv-blue);color:#fff;border-color:var(--tv-blue)}
:root[data-theme="tv"] .dchip.match :is(small,em){color:#DCE6F7}

/* ---------- 7. Tab bar ---------- */
:root[data-theme="tv"] nav.tabs{background:var(--tv-band) var(--tv-stripes);border:0;border-bottom:2px solid var(--tv-blue);border-radius:0;padding:4px 4px 0;gap:2px;box-shadow:none}
:root[data-theme="tv"] nav.tabs button{border-radius:0;color:var(--muted);font-weight:600;background:transparent;box-shadow:none}
:root[data-theme="tv"] nav.tabs button:hover{background:rgba(255,255,255,.06);color:#fff}
:root[data-theme="tv"] nav.tabs button[aria-selected="true"]{background:var(--tv-yellow);color:var(--tv-dark);box-shadow:none;clip-path:var(--tv-skew-r)}
:root[data-theme="tv"] nav.tabs button[aria-selected="true"] svg{color:var(--tv-dark)}
@media (max-width:560px){
  :root[data-theme="tv"] nav.tabs{background:#050D20;background-image:none;border:0;border-top:2px solid var(--tv-blue);padding-top:6px}
  :root[data-theme="tv"] nav.tabs button{color:var(--muted);background:transparent;clip-path:none;text-transform:none;font-family:var(--f-body);letter-spacing:-.01em}
  :root[data-theme="tv"] nav.tabs button:hover{background:transparent;color:#fff}
  :root[data-theme="tv"] nav.tabs button[aria-selected="true"]{background:transparent;color:var(--tv-yellow);clip-path:none;box-shadow:inset 0 3px 0 var(--tv-yellow)}
  :root[data-theme="tv"] nav.tabs button[aria-selected="true"] svg{color:var(--tv-yellow)}
}

/* ---------- 8. Match hub ---------- */
:root[data-theme="tv"] .hero{background:var(--tv-band) var(--tv-stripes);border-top:3px solid var(--tv-yellow);box-shadow:none}
:root[data-theme="tv"] .hero::before,:root[data-theme="tv"] .hero::after{border-color:rgba(255,255,255,.08)}
:root[data-theme="tv"] .hero .ht b{color:#fff}
:root[data-theme="tv"] .hero-mid .dn,:root[data-theme="tv"] .hero .led{font-family:var(--f-display);background:var(--tv-dark);color:#fff;border-radius:0;text-shadow:none;letter-spacing:.06em}
:root[data-theme="tv"] .hero :is(.hero-meta,.hero-note,.hero-obj > p,.hero-mid small,small.ht-coach){color:var(--tv-text-2)}
:root[data-theme="tv"] .hero-meta span:first-child{color:var(--tv-yellow)}
:root[data-theme="tv"] .duel-row i,:root[data-theme="tv"] .prep-meters i,:root[data-theme="tv"] .load i{border-radius:0}

/* ---------- 9. Live scoreboard: red LIVE tag, team plates, yellow minute plate ---------- */
:root[data-theme="tv"] .scoreboard{background:var(--tv-band) var(--tv-stripes);box-shadow:none;border-bottom:3px solid var(--tv-blue);color:#fff}
:root[data-theme="tv"] .sb-score,:root[data-theme="tv"] .sb2 .sb-score{background:var(--tv-dark);border:0;border-radius:0;color:#fff;text-shadow:none;font-weight:700;letter-spacing:.08em;padding-inline:14px}
:root[data-theme="tv"] .sb-min,:root[data-theme="tv"] .sb2 .sb-min{background:var(--tv-yellow);color:var(--tv-dark);border-radius:0;font-weight:700;clip-path:var(--tv-skew-r);padding:3px 16px 3px 10px}
:root[data-theme="tv"] .sb-state{border-radius:0;font-family:var(--f-display);font-weight:700;font-size:12px;letter-spacing:.06em;clip-path:var(--tv-skew-r);padding:4px 14px 4px 9px;background:var(--tv-panel-2);color:#fff}
:root[data-theme="tv"] .sb-state.live{background:#D23A40;color:#fff}
:root[data-theme="tv"] .sb-state.pause{background:var(--tv-yellow);color:var(--tv-dark)}
:root[data-theme="tv"] .sb-state.end{background:var(--tv-panel-2);color:var(--tv-text-2)}
:root[data-theme="tv"] .sb-team{font-weight:700}
:root[data-theme="tv"] .sb2 .sb-tn{background:var(--tv-panel-2);padding:4px 10px;border-left:4px solid var(--tv-sky)}
:root[data-theme="tv"] .sb2 .sb-team.r .sb-tn{border-left:0;border-right:4px solid var(--tv-sky)}
/* 320 px: «БАЛТИК|А» рвалось посреди слова – плашке имени меньше полей и чуть мельче шрифт; длинные имена – с переносом по слогам */
@media (max-width:360px){:root[data-theme="tv"] .sb2 .sb-tn{padding:4px 5px}:root[data-theme="tv"] .sb2 .sb-tn>span{font-size:12.5px;-webkit-hyphens:auto;hyphens:auto}}
:root[data-theme="tv"] .sb2 .sb-stat-pair .v{color:var(--muted)}
:root[data-theme="tv"] .sb2 .sb-stat-pair.lh .v:first-child,:root[data-theme="tv"] .sb2 .sb-stat-pair.la .v:nth-child(3){color:#fff}
:root[data-theme="tv"] .sb2 .sb-stat-pair .l,:root[data-theme="tv"] .sb-caption{color:var(--muted)}
:root[data-theme="tv"] .sb2 .sbar{border-radius:0}
:root[data-theme="tv"] .sb2 .sbar.hu,:root[data-theme="tv"] .sb2 .sbar.ha b{background:#fff}
:root[data-theme="tv"] .sb2 .sbar.hu b,:root[data-theme="tv"] .sb2 .sbar.ha{background:var(--tv-sky)}
:root[data-theme="tv"] .sb2 .sbar b{box-shadow:2px 0 0 var(--tv-band)}
:root[data-theme="tv"] .sb-gl{color:var(--tv-text-2);font-family:var(--f-body);text-transform:none;letter-spacing:0;font-weight:500}
@media (max-width:560px){:root[data-theme="tv"] body.live .scoreboard{border-radius:0}}
/* match controls and feed */
:root[data-theme="tv"] .controls{background:var(--tv-panel);border:0;border-top:3px solid var(--tv-blue);border-radius:0}
:root[data-theme="tv"] #main .controls .ctl-pause{background:#fff;color:var(--tv-dark);border:0;border-radius:0;clip-path:var(--tv-skew)}
:root[data-theme="tv"] #main .ctl{border-radius:0;background:var(--tv-panel-2);color:#fff;border:0}
:root[data-theme="tv"] .m2-cap,:root[data-theme="tv"] .m2-say{border-radius:0;background:rgba(7,18,43,.9);border-left:3px solid var(--tv-yellow)}
:root[data-theme="tv"] .ev{background:var(--tv-panel);border-color:transparent}
:root[data-theme="tv"] .ev .m{font-family:var(--f-display);color:var(--tv-yellow);font-weight:700}
:root[data-theme="tv"] .feed-head{font-family:var(--f-display);text-transform:uppercase}
:root[data-theme="tv"] .feed-f button{border-radius:0}

/* ---------- 10. Pitch overlays (DOM only; the canvas is drawn by match-2026.js) ---------- */
:root[data-theme="tv"] .m2-strip{background:var(--tv-band);border-left:4px solid var(--tv-yellow);border-radius:0;color:#fff}
:root[data-theme="tv"] .m2-strip .cap{font-weight:600}
:root[data-theme="tv"] .m2-strip .meta{color:var(--tv-text-2)}
:root[data-theme="tv"] :is(.m2-ctl button,.m2-skip){border-radius:0!important;border:0!important;background:rgba(7,18,43,.86)!important;color:#fff!important;font-family:var(--f-display)!important;text-transform:uppercase;letter-spacing:.03em;clip-path:var(--tv-skew-sm);padding-inline:12px!important}
:root[data-theme="tv"] .m2-ctl button[aria-pressed="true"]{background:var(--tv-yellow)!important;color:var(--tv-dark)!important}
:root[data-theme="tv"] .m2-tag{border-radius:0;background:var(--tv-yellow);color:var(--tv-dark);font-weight:700;clip-path:var(--tv-skew-r);padding-right:16px}
:root[data-theme="tv"] .m2-low{background:rgba(11,26,61,.95);border-radius:0;border-left-color:var(--tv-sky)}
:root[data-theme="tv"] .m2-low.them{border-left-color:var(--red)}
:root[data-theme="tv"] .m2-low b{font-family:var(--f-display);font-weight:700;color:var(--tv-yellow);text-transform:uppercase}
:root[data-theme="tv"] .m2-low.them b{color:#fff}
:root[data-theme="tv"] .m2-low small{color:var(--tv-text-2)}
:root[data-theme="tv"] .m2-big{font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-shadow:0 3px 0 rgba(7,18,43,.6),0 0 0 transparent}
:root[data-theme="tv"] .m2-zone{border-radius:0;background:rgba(7,18,43,.86)}

/* ---------- 11. Tables: our row in blue with a yellow position badge ---------- */
:root[data-theme="tv"] table th{color:var(--muted);font-weight:500;font-size:12px}
:root[data-theme="tv"] table :is(td,th){border-color:rgba(159,176,207,.14)}
:root[data-theme="tv"] table tr.me td{background:var(--tv-blue)!important;color:#fff}
:root[data-theme="tv"] table tr.me td:first-child{background:var(--tv-yellow)!important;color:var(--tv-dark);font-family:var(--f-display);font-weight:700;text-align:center}
:root[data-theme="tv"] table tr.me :is(a,.cs-link,span,b){color:#fff}
:root[data-theme="tv"] table.standings td:first-child{font-family:var(--f-display);font-weight:600}
:root[data-theme="tv"] .legend{color:var(--tv-text-2)}

/* ---------- 12. Market rows with a blue rating block ---------- */
:root[data-theme="tv"] .mk-row{background:var(--tv-panel);border:0;border-left:4px solid transparent;color:#fff}
:root[data-theme="tv"] button.mk-row:hover{border-left-color:var(--tv-yellow);background:var(--tv-panel-2)}
:root[data-theme="tv"] .cmd-rating{border-radius:0;background:var(--tv-blue)!important;color:#fff!important;font-family:var(--f-display);font-weight:700!important}
:root[data-theme="tv"] .cmd-rating.cmd-rating-low{background:var(--tv-panel-2)!important;color:var(--tv-text-2)!important}
:root[data-theme="tv"] .mk-p{color:#fff;font-weight:600}
:root[data-theme="tv"] .mk-head{background:var(--tv-band) var(--tv-stripes)}
:root[data-theme="tv"] .mk-head b{font-family:var(--f-display);color:#fff}
:root[data-theme="tv"] .mk-win{border-radius:0}

/* ---------- 13. Modals and sheets ---------- */
:root[data-theme="tv"] .modal{background:rgba(3,8,20,.78)}
:root[data-theme="tv"] .sheet{background:var(--tv-panel);border:0;border-top:4px solid var(--tv-yellow);box-shadow:0 24px 60px -20px rgba(0,0,0,.8)}
:root[data-theme="tv"] .sheet::before{border-radius:0;background:var(--line-2)}
:root[data-theme="tv"] .sheet .opts button{background:var(--tv-panel-2);border:0;border-left:4px solid var(--tv-blue);border-radius:0;color:#fff}
:root[data-theme="tv"] .sheet .opts button:hover{border-left-color:var(--tv-yellow);background:#18306A}
:root[data-theme="tv"] .sheet .opts small{color:var(--tv-text-2)}
:root[data-theme="tv"] .ev-head h2{color:#fff}
:root[data-theme="tv"] .ev-text{color:var(--tv-text-2)}
:root[data-theme="tv"] .toast{border-radius:0;background:var(--tv-band);color:#fff;border-left:4px solid var(--tv-yellow)}
:root[data-theme="tv"] .coach-theme-overlay{background:rgba(3,8,20,.78)}
:root[data-theme="tv"] .coach-theme-dialog{background:var(--tv-panel);border:0;border-top:4px solid var(--tv-yellow)}
:root[data-theme="tv"] .coach-theme-choice{background:var(--tv-panel-2);border-color:transparent}
:root[data-theme="tv"] .coach-theme-choice[aria-pressed="true"]{border-color:var(--tv-yellow);box-shadow:none}
:root[data-theme="tv"] .coach-theme-preview :is(i,span b){border-radius:0}

/* ---------- 14. Footer ---------- */
:root[data-theme="tv"] .foot{color:var(--muted)}

/* ---------- 15. Phones: tap targets ≥40px ---------- */
@media (max-width:700px){
  :root[data-theme="tv"] :is(#main,#sheet,.coach-displaybar,.coach-theme-dialog) :is(.btn,.seg button,select,.cmd-filter-button,.sheet .opts button,.feed-f button,.cmd-calendar-jump){min-height:40px}
  :root[data-theme="tv"] :is(#main,#sheet) .btn.sm{min-height:40px}
  :root[data-theme="tv"] :is(#main,#sheet) :is(button,select):not(:is(.pitch,.mpitch,table,.m2-ui,.pp-pitch) *){min-height:40px;min-width:40px}
  :root[data-theme="tv"] :is(.m2-ctl button,.m2-skip,.feed-f button){min-height:40px!important}
}
