/* Half-time team talk (team-talk.js): the teamsheet, 1-11 and the substitutes as rows.
   One screen, no scrolling at 1280x720 and up; one scrolling column on phones. */
.team-talk{--tt-ground:#0b1510;--tt-panel:#122019;--tt-row:#18291f;--tt-line:#2a3d31;--tt-accent:var(--brand-yellow,#ffe04a);--tt-accent-ink:#1a1400;
 --tt-good:#5fd068;--tt-warn:#f0a93a;--tt-bad:#e5533d;--tt-mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;--tt-display:var(--display-font,'Barlow Condensed','Arial Narrow',sans-serif);--tt-row-max:46px;
 position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;gap:8px;padding:14px max(18px,calc((100vw - 1560px)/2)) 14px;background:var(--tt-ground);color:var(--ink);font:14px/1.3 Arial,Helvetica,sans-serif;overflow:hidden}
body.team-talk-open{overflow:hidden}
.team-talk *{box-sizing:border-box}
.team-talk button{font:inherit;color:inherit;cursor:pointer}
.team-talk button:focus-visible{outline:2px solid var(--tt-accent);outline-offset:2px}
/* Header bar: score, player tabs (1P v 1P), subs left. */
.tt-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;justify-content:space-between;padding-bottom:4px}
.tt-score{margin:0;font:700 20px/1.1 var(--tt-display);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.tt-ht{font:600 11px var(--tt-mono);color:var(--tt-accent);letter-spacing:.1em;margin-right:10px;vertical-align:2px}
.tt-subs-left{font:600 12px var(--tt-mono);color:var(--muted)}.tt-subs-left b{color:var(--tt-accent)}
.tt-tabs{display:inline-flex;border:1px solid var(--tt-line);border-radius:7px;overflow:hidden;margin-right:auto}
.tt-tab{background:transparent;border:0;padding:6px 12px;font:700 14px var(--tt-display)!important;letter-spacing:.04em;color:var(--muted)!important;text-transform:uppercase}
.tt-tab[aria-selected=true]{background:var(--tt-accent);color:var(--tt-accent-ink)!important}
/* The two columns. */
.tt-sheet{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px}
.tt-sheet[data-bench-cols="2"]{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
.tt-col{display:flex;flex-direction:column;min-height:0;min-width:0}
.tt-col h3{margin:0 0 6px;font:700 13px var(--tt-mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.tt-rows{flex:1;min-height:0;display:grid;grid-template-rows:repeat(var(--rows),minmax(28px,var(--tt-row-max)));grid-template-columns:repeat(var(--cols,1),minmax(0,1fr));grid-auto-flow:column;align-content:start;gap:3px 8px;overflow-y:auto;overflow-x:hidden;padding:2px}
.tt-empty{margin:0;color:var(--muted);font-size:13px}
/* A row: number, position, name, two stats, energy, cards / fouls / goals. */
.tt-row{display:grid;grid-template-columns:30px 36px minmax(0,1fr) auto 64px 70px;align-items:center;gap:8px;padding:0 10px;min-height:0;width:100%;border-radius:6px;background:var(--tt-row);border:1px solid transparent;text-align:left}
.tt-bench .tt-row{grid-template-columns:30px 36px minmax(0,1fr) auto 64px}
.tt-sheet[data-bench-cols="2"] .tt-bench .tt-row{grid-template-columns:24px 30px minmax(0,1fr) auto 40px;gap:6px;padding:0 8px}
.tt-row:hover:not(:disabled){border-color:var(--tt-line)}
.tt-row.sel{border-color:var(--tt-accent);background:#2a2a14}
.tt-row.off{opacity:.42}.tt-row.off .tt-nm{text-decoration:line-through}
.tt-row.on{border-color:var(--tt-good)}
.tt-row:disabled{cursor:not-allowed;opacity:.35}
.tt-row.sentoff:disabled{opacity:.5}
.tt-num{font:700 13px var(--tt-mono);font-variant-numeric:tabular-nums}
.tt-pos{font:700 11px var(--tt-mono);letter-spacing:.06em;color:var(--tt-accent)}
.tt-name{display:flex;align-items:baseline;gap:8px;min-width:0;font:600 17px/1.1 var(--tt-display);letter-spacing:.01em}
.tt-nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.tt-tag{flex:none;font:700 10px var(--tt-mono);letter-spacing:.06em;color:var(--tt-warn)}
.tt-row.on .tt-tag{color:var(--tt-good)}.tt-row.used .tt-tag{color:var(--muted)}.tt-row.sentoff .tt-tag{color:var(--tt-bad)}
.tt-stat{font:500 11.5px var(--tt-mono);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.tt-fit{height:5px;border-radius:3px;background:#0a120d;overflow:hidden;min-width:36px}
.tt-fit i{display:block;height:100%;border-radius:3px;background:var(--tt-good)}
.tt-fit.mid i{background:var(--tt-warn)}.tt-fit.low i{background:var(--tt-bad)}
.tt-meta{display:flex;gap:5px;align-items:center;justify-content:flex-end;white-space:nowrap}
.tt-tired{font:700 10px var(--tt-mono);letter-spacing:.06em;color:var(--tt-warn)}
.tt-card{display:inline-block;width:9px;height:12px;border-radius:2px}.tt-card.y{background:#f2cf2f}.tt-card.r{background:var(--tt-bad)}
.tt-fouls{font:500 11.5px var(--tt-mono);color:var(--muted)}
/* Hint, pending swaps, controls. */
.tt-hint{margin:0;font-size:13px;color:var(--tt-accent);min-height:1.3em}
.tt-pending{display:flex;flex-wrap:wrap;gap:6px}
.tt-chip{display:inline-flex;align-items:center;gap:6px;background:var(--tt-row);border:1px solid var(--tt-line);border-radius:999px;padding:3px 4px 3px 10px;font-size:12.5px}
.tt-chip .tt-num{font-size:12px}
.tt-undo{background:transparent;border:0;border-radius:999px;color:var(--muted)!important;font-size:14px!important;line-height:1;padding:2px 7px}
.tt-controls{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding-top:10px;border-top:1px solid var(--tt-line)}
.tt-seg-wrap{display:inline-flex;align-items:center;gap:8px}
.tt-lbl{font:600 11px var(--tt-mono);color:var(--muted);letter-spacing:.1em;text-transform:uppercase}
.tt-seg{display:inline-flex;border:1px solid var(--tt-line);border-radius:7px;overflow:hidden}
.tt-seg button{background:transparent;border:0;padding:6px 11px;font:700 15px var(--tt-display)!important;letter-spacing:.04em;color:var(--muted)!important;text-transform:uppercase}
.tt-seg button[aria-pressed=true]{background:var(--tt-accent);color:var(--tt-accent-ink)!important}
.tt-seg button:focus-visible{outline-offset:-3px}
.tt-spacer{flex:1}
.tt-back{background:transparent;border:1px solid var(--tt-line);border-radius:7px;padding:8px 12px;font-weight:600!important;font-size:13px!important}
.tt-start{background:var(--tt-accent);color:var(--tt-accent-ink)!important;border:0;border-radius:7px;padding:9px 16px;font:800 17px var(--tt-display)!important;letter-spacing:.04em;text-transform:uppercase}
/* Big screens: taller rows and larger type. */
@media(min-width:1500px) and (min-height:900px){.team-talk{--tt-row-max:62px;font-size:15px;gap:10px;padding-top:22px;padding-bottom:22px}.tt-name{font-size:21px}.tt-num{font-size:15px}.tt-pos{font-size:13px}.tt-stat,.tt-fouls{font-size:13px}.tt-score{font-size:26px}.tt-col h3{font-size:14px}.tt-row{grid-template-columns:36px 42px minmax(0,1fr) auto 90px 84px}.tt-bench .tt-row{grid-template-columns:36px 42px minmax(0,1fr) auto 90px}.tt-sheet[data-bench-cols="2"] .tt-bench .tt-row{grid-template-columns:30px 36px minmax(0,1fr) auto 56px}.tt-fit{height:6px}.tt-seg button{font-size:17px!important;padding:8px 14px}.tt-start{font-size:19px!important;padding:11px 20px}}
/* Phones and narrow windows: one column; the page scrolls. */
@media(max-width:760px){
 .team-talk{overflow-y:auto;padding:12px 16px 16px}
 .tt-sheet{flex:none;grid-template-columns:1fr!important;gap:12px}
 .tt-rows{flex:none;grid-template-rows:none;grid-template-columns:1fr;grid-auto-flow:row;grid-auto-rows:auto;overflow:visible}
 .tt-row,.tt-bench .tt-row,.tt-sheet[data-bench-cols="2"] .tt-bench .tt-row{grid-template-columns:26px 32px minmax(0,1fr) auto;grid-template-areas:"num pos name meta" "num pos stat fit";gap:3px 8px;padding:6px 10px}
 .tt-row .tt-num{grid-area:num}.tt-row .tt-pos{grid-area:pos}.tt-row .tt-name{grid-area:name}.tt-row .tt-stat{grid-area:stat}.tt-row .tt-fit{grid-area:fit;width:54px;justify-self:end}.tt-row .tt-meta{grid-area:meta}
 .tt-score{font-size:18px;white-space:normal}.tt-tabs{order:3;width:100%;margin:0}.tt-tab{flex:1}
 .tt-controls{flex-direction:column;align-items:stretch}.tt-seg-wrap{justify-content:space-between}.tt-spacer{display:none}.tt-back,.tt-start{width:100%}
}
@media(prefers-reduced-motion:no-preference){.tt-row{transition:border-color .15s,opacity .15s,background-color .15s}}
/* Pause menu entry. */
.team-talk-open-button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:660px;margin:0 0 12px;padding:12px 16px;border:1px solid var(--yellow);border-radius:3px;background:#19251ecc;color:var(--ink);font-weight:700;text-align:left}
.team-talk-open-button .key{font:12px monospace;letter-spacing:1px;color:var(--muted)}
