/* Shared by index.html (fantasy league) and standings.html (Euroleague table): theme tokens, base layout,
   game cards, flags, live markers, badges. Page-specific styles stay in each page. */
:root{
  color-scheme:light;
  --bg:#f3f1ec; --surface:#ffffff; --surface2:#eae6de; --line:#d9d3c7;
  --text:#17202a; --muted:#5c6874; --accent:#c97a12; --accent-ink:#ffffff;
  --live:#c8323a; --good:#1f8f5f; --bad:#b3413a; --me:#f1e4c8; --good-bg:#dcefe5;--fav-bg:#eef5f0;--fav-line:#b9d6c4; --bad-bg:#f5dfdc; --live-bg:#fbeaea; --hard:#e3a097; --easy:#93cfae; --tier1-bg:#f6ead0; --tier2-bg:#faf4e7;
  --display:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;
  --body:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root{
    color-scheme:dark;
    --bg:#101418; --surface:#181f26; --surface2:#222b34; --line:#2c3640;
    --text:#e8edf2; --muted:#8a96a3; --accent:#f2a33a; --accent-ink:#101418;
    --live:#ef5a60; --good:#3fb37f; --bad:#e26d64; --me:#2a2a1e; --good-bg:#17352a;--fav-bg:#1b2a25;--fav-line:#2d4a3e; --bad-bg:#3a1f1e; --live-bg:#2a1a1d; --hard:#9a4640; --easy:#2f7d5a; --tier1-bg:#2f2915; --tier2-bg:#232118;
  }
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{background:var(--bg);color:var(--text);font-family:var(--body);font-size:14px;line-height:1.45;margin:0 auto;max-width:1180px;
  padding-block:calc(12px + env(safe-area-inset-top,0px)) calc(40px + env(safe-area-inset-bottom,0px));padding-inline:16px}
/* chart series (fantasy teams in the race chart; --s1 also marks NBA seasons in player cards, on both pages) */
:root{--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--s4:#eda100;--s5:#e87ba4;--s6:#008300}
@media (prefers-color-scheme: dark){:root{--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--s5:#d55181;--s6:#008300}}
h1,h2{font-family:var(--display);text-wrap:balance;margin:0}
h1{font-size:34px;font-weight:700;line-height:1}
body>header h1{display:flex;align-items:center;gap:10px}
h1 img.logo{width:32px;height:32px;flex:none;image-rendering:pixelated}   /* 16x16 pixel art at exactly 2x */
h2{font-size:22px;font-weight:600}
.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.note{font-size:12px;color:var(--muted)}
header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;padding-block:8px 14px;border-bottom:1px solid var(--line)}
.status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--muted);display:inline-block;margin-right:4px;vertical-align:middle}
.dot.live{background:var(--live);animation:pulse 1.4s ease-in-out infinite}
.dot.stale{background:var(--bad)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
@media (prefers-reduced-motion: reduce){.dot.live{animation:none}}
button,select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:6px 10px;cursor:pointer}
button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.games{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;padding-block:14px}
.game{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-variant-numeric:tabular-nums}
.game .row{display:flex;justify-content:space-between;gap:8px;font-family:var(--display);font-size:17px;font-weight:600}
.game .row.win{color:var(--text)} .game.final .row:not(.win){color:var(--muted)}
.game .meta{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:4px}
.game.live{border-color:var(--live)}
.game.live .st{color:var(--live);font-weight:600}
.game.final .st{color:var(--good);font-weight:600}
/* our club (Žalgiris): card tinted by the result, leading/won green, trailing/lost red */
.game.fav{background:var(--fav-bg);border-color:var(--fav-line)}   /* Žalgiris game: faint green before tip-off, then the result tint */
.game.fav-up{background:var(--good-bg);border-color:var(--good)}
.game.fav-down{background:var(--bad-bg);border-color:var(--bad)}
.game.live.fav,.game.live.fav-up,.game.live.fav-down{border-color:var(--live)}   /* live: keep the red live border, only the background tells the score */

section{margin-top:22px}
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;margin-bottom:8px}
.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:right;padding:8px 10px;border-bottom:1px solid var(--line);font-weight:600;white-space:nowrap}
th:nth-child(2),td:nth-child(2){text-align:left}
td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
tr:last-child td{border-bottom:0}
td.team{font-family:var(--display);font-size:19px;font-weight:600}
td.team small{display:block;font-family:var(--body);font-size:11px;color:var(--muted);font-weight:400}
td.big{font-family:var(--display);font-size:24px;font-weight:700}
td.pos{color:var(--muted);font-family:var(--display);font-size:16px;text-align:left;width:28px}

.hs{display:inline-block;border-radius:4px;padding:0 6px;font-size:11px;font-weight:600;border:1px solid var(--bad);color:var(--bad)}
.hs.game-time,.hs.expected,.hs.uncertain,.hs.doubtful,.hs.questionable{border-color:var(--accent);color:var(--accent)}
.hs.ready{border-color:var(--good);color:var(--good)}

.attr{font-size:12px;color:var(--muted)} .attr a{color:var(--text)}

.ldot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--live);margin-right:5px;vertical-align:1px;animation:pulse 1.4s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){.ldot{animation:none}}

.warn{background:var(--surface);border:1px solid var(--accent);border-left-width:4px;color:var(--text);border-radius:8px;padding:10px 12px;margin-top:12px;font-size:13px}
.warn b{color:var(--accent)}

.mv{display:inline-block;margin-left:6px;font-family:var(--body);font-size:11px;font-weight:700;padding:1px 6px;border-radius:10px;line-height:1.4;vertical-align:1px}
.mv.up{color:var(--good);background:var(--good-bg)}
.mv.down{color:var(--bad);background:var(--bad-bg)}
.mv.same{color:var(--muted);font-weight:400;padding-inline:4px}

svg.fl{display:block;width:18px;height:12px;border-radius:2px;box-shadow:0 0 0 1px var(--line);flex:none}
img.fl.cr{display:block;width:16px;height:16px;object-fit:contain;flex:none}
@media (prefers-color-scheme: dark){img.fl.cr.dk{filter:drop-shadow(0 0 .6px rgba(255,255,255,.9)) drop-shadow(0 0 .4px rgba(255,255,255,.9))}}
.pchead h2 .nat svg.fl{display:inline-block;width:24px;height:16px;vertical-align:1px;margin-right:8px}
.tm{display:inline-flex;align-items:center;gap:6px}

footer{margin-top:28px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;max-width:75ch}

/* top bar: league line on the left, menu between the two pages on the right; page header (title + status) below */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:6px 16px;flex-wrap:wrap}
nav.topnav{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;margin-left:auto}
nav.topnav a, nav.topnav button{white-space:nowrap}
nav.topnav a{color:var(--muted);text-decoration:none;padding-bottom:2px;border-bottom:2px solid transparent}
nav.topnav a:hover{color:var(--text);border-bottom-color:var(--line)}
nav.topnav a[aria-current="page"]{color:var(--text);font-weight:600;border-bottom-color:var(--accent)}
@media (max-width:640px){.topbar{flex-direction:column-reverse;align-items:flex-start}nav.topnav{margin-left:0}}

/* player card */
.plink{color:inherit;text-decoration:none;border-bottom:1px dotted var(--muted);cursor:pointer}
.plink:hover{color:var(--accent);border-bottom-color:var(--accent)}
.pinfo{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:5px;border-radius:50%;border:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:700;font-family:var(--body);cursor:pointer;vertical-align:1px;background:transparent;padding:0}
.pinfo:hover{border-color:var(--accent);color:var(--accent)}
.pcdlg{border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);padding:0;width:min(860px, calc(100vw - 24px));max-height:calc(100vh - 32px)}
.pcdlg::backdrop{background:rgba(0,0,0,.55)}
html.pc-open, html.pc-open body{overflow:hidden}                /* the page behind the card does not scroll */
html.pc-open body{position:fixed;left:0;right:0;width:100%}
.pcbody{overscroll-behavior:contain}
@media (max-width:640px){                                          /* phones: the card takes the whole screen */
  .pcdlg{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}
  .pcdlg .pcbody{max-height:100dvh;height:100dvh;padding:calc(12px + env(safe-area-inset-top,0px)) 14px calc(16px + env(safe-area-inset-bottom,0px))}
  .pcdlg .pchead{position:sticky;top:calc(-12px - env(safe-area-inset-top,0px));background:var(--bg);z-index:2;padding-top:4px;margin-top:-4px}
  .pcdlg .pctiles{grid-template-columns:1fr 1fr}
  .pcdlg .pctile .v{font-size:21px}
}
.pcbody{padding:16px 18px 18px;overflow:auto;max-height:calc(100vh - 34px)}
.pchead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.pchead h2{font-size:28px;margin:2px 0 4px}
.pchead .eyebrow .tm{vertical-align:-3px}
.pcmeta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.pcclose{font-size:22px;line-height:1;padding:2px 10px}
.pctiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-bottom:10px}
.pctile{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.pctile .k{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.pctile .v{font-family:var(--display);font-size:24px;font-weight:700;line-height:1.15}
.pctile .d{font-size:11px;color:var(--muted)}
.pctile.good .v{color:var(--good)} .pctile.mid .v{color:var(--accent)} .pctile.bad .v{color:var(--bad)}
.pcbody h3{font-family:var(--display);font-size:17px;font-weight:600;margin:14px 0 6px}
.pcchart{display:block;width:100%;height:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px}
.pcchart text{fill:var(--muted);font-size:10px;font-family:var(--body)}
.pcchart text.vl{fill:var(--text);font-weight:600}
.pcchart .gl{stroke:var(--line);stroke-width:1}
.pcchart .b.e{fill:var(--accent)} .pcchart .b.u{fill:var(--muted);opacity:.55} .pcchart .b.now{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:4 3}
.pcchart .b.n{fill:var(--s1)} .pcchart .b.cl{fill:var(--s3)} .pcchart .b.none{fill:none;stroke:var(--line);stroke-width:1;stroke-dasharray:2 2}
.pcchart text.cl{fill:var(--text);font-weight:600;font-size:9.5px} .pcchart text.na{fill:var(--muted)}
.pclegend{display:flex;gap:14px;font-size:11px;color:var(--muted);margin-top:4px}
.pclegend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}
.pclegend i.e{background:var(--accent)} .pclegend i.cl{background:var(--s3)} .pclegend i.u{background:var(--muted);opacity:.55} .pclegend i.now{border:2px dashed var(--accent)}
.pclegend i.n{background:var(--s1)} .pclegend i.none{border:1px dashed var(--line)}
.pclegend{flex-wrap:wrap}
table.pct tr.nba td{color:var(--muted)} table.pct tr.nba td.fp{color:var(--s1)}
table.pct th, table.pct td{padding:5px 8px;font-size:12px}
table.pct td.cl{text-align:left} table.pct th:nth-child(-n+3), table.pct td:nth-child(-n+3){text-align:left}
table.pct td.fp{font-weight:700}
table.pct .tm{font-family:var(--display);font-size:14px;font-weight:600;gap:5px}
.pclog{list-style:none;margin:0;padding:0;font-size:12px;display:grid;gap:4px}

/* player card: this season's games with every scoring stat */
table.pcgames td, table.pcgames th{white-space:nowrap}
table.pcgames td.sep, table.pcgames th:nth-child(11), table.pcgames th:nth-child(17), table.pcgames th:nth-child(20){border-left:1px solid var(--line)}
table.pcgames .z{color:var(--muted)}
table.pcgames .good{color:var(--good);font-weight:600} table.pcgames .bad{color:var(--bad);font-weight:600}
table.pcgames td.fp[title]{cursor:help;text-decoration:underline dotted var(--muted);text-underline-offset:3px}
table.pcgames th, table.pcgames td{padding:5px 5px}
table.pcgames th{font-size:10px;letter-spacing:.02em}
table.pcgames .tm{font-size:13px}

/* collapsible sections (initFolding in common.js) */
.fold-title{display:flex;align-items:center;gap:6px;min-width:0}
.fold-title h2{cursor:pointer;user-select:none}
button.fold{background:none;border:1px solid transparent;border-radius:6px;padding:4px;margin-left:-5px;color:var(--muted);cursor:pointer;line-height:0;align-self:center}
button.fold:hover{color:var(--text);background:var(--surface)}
button.fold:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
button.fold svg{transition:transform .15s ease}
section.folded button.fold svg{transform:rotate(-90deg)}
section.folded > :not(.section-head){display:none !important}
section.folded > .section-head > :not(.fold-title){display:none}
section.folded > .section-head{margin-bottom:0}
section.folded .fold-title h2{color:var(--muted)}
@media (prefers-reduced-motion:reduce){button.fold svg{transition:none}}

/* move comparison (index.html openCompare): two sides, stat rows with bars growing out from the centre label */
.cmp .vs-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:end;margin:6px 0 14px}
.cmp .side{min-width:0}
.cmp .side.r{text-align:right}
.cmp .side .lbl{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:2px}
.cmp .side.l .lbl{color:var(--s1)} .cmp .side.r .lbl{color:var(--s2)}
.cmp .side .big{font-family:var(--display);font-size:24px;font-weight:700;line-height:1.1}
.cmp .side .big a{color:inherit}
.cmp .side small{color:var(--muted);font-size:12px;display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:4px}
.cmp .side.r small{justify-content:flex-end}
.cmp .side small .tm{gap:4px}
.cmp .side .lbl small.mgr{display:inline-block;font-size:10px;margin-left:6px;margin-top:0;vertical-align:1px;color:var(--muted);letter-spacing:.04em}
.cmp .side .tm{font-size:12px}
.cmp .vs{font-family:var(--display);font-size:22px;font-weight:700;color:var(--muted);padding-bottom:4px}
.cmp .rows{display:grid;gap:2px}
.cmp .h2h{display:grid;grid-template-columns:4.2em minmax(0,1fr) minmax(7em,auto) minmax(0,1fr) 4.2em;align-items:center;gap:8px;padding:5px 0;border-top:1px solid var(--line)}
.cmp .h2h:first-child{border-top:0}
.cmp .h2h .k{text-align:center;font-size:12px;color:var(--muted);line-height:1.2}
.cmp .h2h .k small{display:block;font-size:10px}
.cmp .h2h .v{font-family:var(--display);font-size:20px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.cmp .h2h .v.r{text-align:right}
.cmp .h2h .v.win{color:var(--text);font-weight:700}
.cmp .h2h .bar{height:8px;background:var(--surface2);border-radius:4px;overflow:hidden;display:flex}
.cmp .h2h .bar.l{justify-content:flex-end}
.cmp .h2h .bar i{display:block;height:100%;border-radius:4px}
.cmp .h2h .bar.l i{background:var(--s1)} .cmp .h2h .bar.r i{background:var(--s2)}
.cmp .h2h .bar.lose i{opacity:.45}
.cmp .rchart{margin-top:14px}
.cmp .rchart svg{width:100%;height:auto;display:block}
.cmp .rchart text{font-size:10px;fill:var(--muted)}
.cmp .rchart .vl{fill:var(--text);font-size:10px}
.cmp .rchart .gl{stroke:var(--line);stroke-width:1}
.cmp .rchart .bl{fill:var(--s1)} .cmp .rchart .br{fill:var(--s2)}
.cmp .legend{display:flex;gap:14px;font-size:11px;color:var(--muted);margin-top:4px}
.cmp .legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}
.cmp .legend i.l{background:var(--s1)} .cmp .legend i.r{background:var(--s2)}
@media (max-width:560px){.cmp .h2h{grid-template-columns:3.4em minmax(0,1fr) minmax(5.5em,auto) minmax(0,1fr) 3.4em;gap:5px}.cmp .h2h .v{font-size:17px}.cmp .side .big{font-size:19px}}
button.mv-cmp{font-size:11px;padding:2px 9px;border-radius:6px;justify-self:start}

/* game tiles open the box score */
.game.boxable{cursor:pointer}
.game.boxable:hover{border-color:var(--muted)}
.game.boxable:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
/* box score view */
.boxv h2.boxscore{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:30px}
.boxv h2.boxscore .tm{font-size:24px;gap:6px}
.boxv h2.boxscore b{font-weight:700;color:var(--muted)} .boxv h2.boxscore b.w{color:var(--text)}
.boxv h3{display:flex;align-items:center;gap:8px;margin:14px 0 6px}
.boxv h3 .tsc{margin-left:auto;font-family:var(--display);font-size:20px}
table.boxt td, table.boxt th{white-space:nowrap;padding:5px 5px}
table.boxt th{font-size:10px;letter-spacing:.02em}
table.boxt td.nm{text-align:left;position:sticky;left:0;background:var(--bg);z-index:1}
table.boxt th:first-child{position:sticky;left:0;background:var(--bg);z-index:1}
table.boxt td.nm small.p{color:var(--muted);margin-left:5px;font-size:11px}
table.boxt td.nm .mgr{margin-left:5px}
table.boxt td.b{font-weight:600}
table.boxt .z{color:var(--muted)}
table.boxt td.sep, table.boxt th.sep{border-left:1px solid var(--line)}
table.boxt tr.owned td.nm a{color:var(--accent)}
table.boxt tr.tot td{border-top:2px solid var(--line);font-weight:600}
table.boxt tr.tot td small{display:block;font-size:10px;color:var(--muted);font-weight:400}
table.boxt td.fp[title]{cursor:help;text-decoration:underline dotted var(--muted);text-underline-offset:3px}

/* back from a player card to the box score / comparison it was opened from */
button.pcback{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:3px 10px;border-radius:6px;margin-bottom:8px}

/* fantasy team card (index.html openTeam) */
a.tlink{color:inherit;text-decoration:underline dotted var(--muted);text-underline-offset:3px;cursor:pointer}
a.tlink:hover{color:var(--accent)}
a.tlink.tmhl{color:var(--accent);background:var(--tier1-bg);border-radius:3px;box-shadow:0 0 0 2px var(--tier1-bg)}   /* every mention of the hovered team */
tr.tmhl > td{background:var(--tier1-bg)} tr.tmhl > td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
li.tmhl{background:var(--tier1-bg);border-radius:4px;box-shadow:0 0 0 3px var(--tier1-bg), -3px 0 0 3px var(--accent)}
.tmv .pctiles.tmt{grid-template-columns:repeat(5,minmax(0,1fr))}
.tmv .pcmeta .trk{vertical-align:1px}
.tmv .trk{display:inline-block;font-size:10px;font-weight:700;border:1px solid var(--line);border-radius:4px;padding:0 5px;color:var(--muted);white-space:nowrap}
.tmv .trk.r1{border-color:var(--good);color:var(--good)}
.tmv .trk.rlast{border-color:var(--bad);color:var(--bad)}
.tmv .cabinet{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}
.tmv .trc{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 4px}
.tmv .trc svg.tr{width:24px;height:24px}
.tmv .trc b{font-family:var(--display);font-size:20px;line-height:1}
.tmv .trc small{font-size:10px;color:var(--muted);line-height:1.2}
.tmv .trc.none{opacity:.38}
.tmv .rounds{display:grid;gap:4px}
.tmv .rrow{display:grid;grid-template-columns:5.5em minmax(0,1fr) 4.5em 4.5em;gap:8px;align-items:center;font-size:12px}
.tmv .rbar{position:relative;height:10px;background:var(--surface2);border-radius:5px}
.tmv .rbar i{position:absolute;left:0;top:0;bottom:0;background:var(--s1);border-radius:5px}
.tmv .rbar em{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--text);opacity:.7}
.tmv .rv{font-family:var(--display);font-size:16px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
table.tmr td.p{color:var(--muted);width:1.5em}
table.tmr td.nm{text-align:left}
table.tmr td.nm small{display:block;color:var(--muted)}
table.tmr td.nm .hs{margin-left:6px;font-size:10px;padding:0 5px}
table.tmr td.b{font-weight:700}
table.tmr td.role{text-align:left;color:var(--muted);white-space:nowrap}
table.tmr tr.start td.role, table.tmr tr.sixth td.role{color:var(--text)}
table.tmr tr.inactive td{opacity:.6}
table.tmr .cap{font-size:10px;font-weight:700;color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:0 4px}
.tmv ul.tmm{list-style:none;padding:0;margin:4px 0 0;display:grid;gap:3px;font-size:13px}
.tmv ul.tmm small{color:var(--muted)}
.tmv ul.tmm .in{color:var(--good)} .tmv ul.tmm .out{color:var(--bad)}
.tmv ul.tmm a.plink{color:inherit}
@media (max-width:640px){.tmv .pctiles.tmt{grid-template-columns:1fr 1fr}.tmv .cabinet{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* team card: progression chart, position split */
.tmv svg.prog{width:100%;height:auto;display:block}
.tmv svg.prog text{font-size:10px;fill:var(--muted)}
.tmv svg.prog .gl{stroke:var(--line);stroke-width:1}
.tmv svg.prog polyline{fill:none;stroke-linejoin:round;stroke-linecap:round}
.tmv svg.prog polyline.ot{stroke:var(--muted);stroke-width:1.5;opacity:.45}
.tmv svg.prog polyline.me{stroke:var(--accent);stroke-width:3}
.tmv svg.prog circle.me{fill:var(--accent);stroke:var(--bg);stroke-width:2}
.tmv svg.prog text.lbme{fill:var(--accent);font-weight:700;font-size:11px}
.tmv .posd{display:grid;gap:10px}
.tmv .posd .bars{display:grid;gap:6px}
.tmv .posd .bl small{display:block;font-size:11px;color:var(--muted);margin-bottom:2px}
.tmv .split.big{height:14px;border-radius:7px;min-width:0}
.tmv .prs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tmv .pr{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;display:grid;gap:2px}
.tmv .pr i{display:inline-block;width:10px;height:10px;border-radius:2px}
.tmv .pr .pn{font-size:11px;color:var(--muted);letter-spacing:.04em}
.tmv .pr b{font-family:var(--display);font-size:20px}
.tmv .pr small{font-size:11px;color:var(--muted)}
.tmv .pr .trk{justify-self:start}
@media (max-width:640px){.tmv .prs{grid-template-columns:1fr}}

/* player card: season ranks */
.pctile .d .prk{font-weight:700;color:var(--text)}
.pctile .d .prk.top{color:var(--good)}

/* player card: next game */
.pcmeta .pcnext{color:var(--muted);font-size:13px;white-space:nowrap}
.pcmeta .pcnext .tm{display:inline;color:var(--text)}                 /* flag + code on the text line */
.pcmeta .pcnext .fl{display:inline-block;vertical-align:-1px;margin-right:3px}
table.pcgames tr.nextg td{color:var(--muted);font-style:italic;border-bottom:1px dashed var(--line)}
table.pcgames tr.nextg td.nx{text-align:left}

/* player card: stat sheet (label / value / rank rows, four groups) */
.pcsheet{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px 18px;margin:4px 0 10px}
.pcsheet .psg{min-width:0}
.pcsheet .pst{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;padding-bottom:3px;border-bottom:1px solid var(--line);margin-bottom:2px}
.pcsheet .r{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.1fr);align-items:baseline;gap:8px;padding:3px 0;border-bottom:1px dashed var(--line);font-size:13px}
.pcsheet .r:last-child{border-bottom:0}
.pcsheet .r .k{color:var(--muted)}
.pcsheet .r .v{font-family:var(--display);font-size:17px;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.pcsheet .r .x{font-size:11px;color:var(--muted);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pcsheet .r .x .tm{gap:4px;font-size:12px}
.pcsheet .prk{color:var(--text);font-weight:600;margin-left:6px}
.pcsheet .prk small{color:var(--muted);font-weight:400}
.pcsheet .prk.top{color:var(--good)}
.pcsheet .r.good .v{color:var(--good)} .pcsheet .r.mid .v{color:var(--accent)} .pcsheet .r.bad .v{color:var(--bad)}
.pcsheet .r.up .v{color:var(--good)} .pcsheet .r.down .v{color:var(--bad)} .pcsheet .r.warn .v{color:var(--accent)}

.pcsheet .dlt{font-family:var(--body);font-size:10px;font-weight:700;margin-left:4px;vertical-align:1px}
.pcsheet .dlt.up{color:var(--good)} .pcsheet .dlt.down{color:var(--bad)} .pcsheet .dlt.eq{color:var(--muted)}
.pcsheet .r.lbl .v{font-family:var(--body);font-size:11px}
.pcsheet .r .v{white-space:nowrap}

/* team card roster: drafted / acquired marker, rank cells */
table.tmr .orig{display:inline-block;min-width:20px;text-align:center;font-size:9px;font-weight:700;letter-spacing:.04em;border-radius:4px;padding:0 3px;margin-right:6px;border:1px solid var(--line);color:var(--muted);vertical-align:1px}
table.tmr .orig.new{border-color:var(--accent);color:var(--accent)}
table.tmr td.rkc{white-space:nowrap;font-size:12px;text-align:left}
table.tmr td.rkc small{color:var(--muted)}
table.tmr .prk{font-weight:600;color:var(--text)} table.tmr .prk.top{color:var(--good)}

table.tmr td.vr{text-align:right;white-space:nowrap}
table.tmr td.vr b{font-weight:700}
table.tmr td.vr small{display:block;font-size:10px;color:var(--muted);margin-top:1px}
table.tmr .cap{background:none}
.tmv .tmlegend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11px;color:var(--muted);margin:2px 0 6px}
.tmv .tmlegend .orig{display:inline-block;min-width:20px;text-align:center;font-size:9px;font-weight:700;border-radius:4px;padding:0 3px;margin-right:4px;border:1px solid var(--line);color:var(--muted)}
.tmv .tmlegend .orig.new{border-color:var(--accent);color:var(--accent)}

/* team card stat sheet: labels may carry a small explanation */
.pcsheet .r .k small{display:block;font-size:10px;color:var(--muted);opacity:.8;line-height:1.2}
.pcsheet.tms .r{grid-template-columns:minmax(0,1fr) auto 4.5em}

/* box view before tip-off */
.boxv .prenote{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:8px 12px;font-size:13px;margin:4px 0 6px}
table.boxt.pre td.hsc{text-align:left}
table.boxt.pre td.hsc .hs{font-size:10px;padding:0 5px}
table.boxt.pre td:nth-child(n+3), table.boxt.pre th:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}   /* numbers line up on the decimal point */

/* box view: score by quarter */
table.qtab{width:auto;min-width:280px;margin:2px 0 4px}
table.qtab td, table.qtab th{padding:4px 10px;text-align:center;font-variant-numeric:tabular-nums}
table.qtab td.nm{text-align:left}
table.qtab td.wq{font-weight:700;color:var(--text)}
table.qtab td.tot{font-family:var(--display);font-size:17px;font-weight:700;border-left:1px solid var(--line)}
table.qtab .curq{color:var(--live)}

/* box view: starters, jersey numbers, on court, +/- */
table.boxt td.nm .no{display:inline-block;min-width:1.6em;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
table.boxt td.nm .s5{margin-left:5px;font-size:9px;font-weight:700;color:var(--accent);border:1px solid var(--accent);border-radius:3px;padding:0 3px}
table.boxt tr.st5 + tr:not(.st5) td{border-top:2px solid var(--line)}
.oncourt{color:var(--good);font-size:10px;margin-right:4px;vertical-align:1px}
table.boxt td.pmp{color:var(--good)} table.boxt td.pmn{color:var(--bad)}
/* box view: game info, flow chart, comparison */
.boxv .ginfo{font-size:12px;color:var(--muted);margin:2px 0 8px}
.boxv .flow svg{width:100%;height:auto;display:block;margin:6px 0 2px}
.boxv .flow text{font-size:9px;fill:var(--muted)}
.boxv .flow text.tg{font-size:10px;font-weight:700;fill:var(--text)}
.boxv .flow .zero{stroke:var(--muted);stroke-width:1}
.boxv .flow .qline{stroke:var(--line);stroke-width:1;stroke-dasharray:2 3}
.boxv .flow polygon.ah{fill:var(--s1);opacity:.35} .boxv .flow polygon.aa{fill:var(--s2);opacity:.35}
.boxv .flow polyline{fill:none;stroke:var(--text);stroke-width:1.5;stroke-linejoin:round}
.boxv .gcmp{display:grid;gap:3px;margin:8px 0 4px;font-size:12px}
.boxv .gch{display:grid;grid-template-columns:1fr auto 1fr;font-weight:700}
.boxv .gch .tm:last-child{justify-self:end}
.boxv .gcr{display:grid;grid-template-columns:2.4em minmax(0,1fr) minmax(9em,auto) minmax(0,1fr) 2.4em;align-items:center;gap:6px}
.boxv .gcr b{font-family:var(--display);font-size:15px;color:var(--muted);font-variant-numeric:tabular-nums}
.boxv .gcr b:last-child{text-align:right}
.boxv .gcr b.w{color:var(--text)}
.boxv .gcr .k{text-align:center;color:var(--muted)}
.boxv .gcr .bar{height:6px;background:var(--surface2);border-radius:3px;overflow:hidden;display:flex}
.boxv .gcr .bar.l{justify-content:flex-end}
.boxv .gcr .bar i{display:block;height:100%}
.boxv .gcr .bar.l i{background:var(--s1)} .boxv .gcr .bar.r i{background:var(--s2)}
@media (max-width:560px){.boxv .gcr{grid-template-columns:2em minmax(0,1fr) minmax(7em,auto) minmax(0,1fr) 2em}}
.boxv h3 small.coach{font-family:var(--body);font-size:11px;font-weight:400;color:var(--muted);margin-left:4px}
.tmv svg.prog polyline.avg{stroke:var(--text);stroke-width:1.5;stroke-dasharray:4 3;opacity:.6}

/* box tables on a phone: the pinned name column stays narrow; long names wrap, the stats scroll beside it */
@media (max-width:640px){
  table.boxt td.nm{width:36vw;min-width:36vw;max-width:36vw;white-space:normal;line-height:1.25;padding-top:4px;padding-bottom:4px}
  table.boxt td.nm a.plink{word-break:break-word}
  table.boxt td.nm small.p, table.boxt td.nm .mgr, table.boxt td.nm .s5{font-size:9px}
  table.boxt td.nm .no{min-width:1.3em;font-size:10px}
  table.boxt th:first-child{max-width:34vw}
  table.boxt td.nm::after{content:'';position:absolute;top:0;right:0;bottom:0;width:1px;background:var(--line)}   /* edge of the pinned column */
}

/* push reminders panel */
nav.topnav button.pushbtn{background:none;border:0;padding:0 0 2px;font:inherit;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}
nav.topnav button.pushbtn:hover{color:var(--text);border-bottom-color:var(--line)}
.pushv .pchks{display:grid;gap:8px;margin:10px 0}
.pushv .pchk{display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px;cursor:pointer}
.pushv .pchk input{margin-top:3px;width:18px;height:18px;accent-color:var(--accent)}
.pushv .pchk b{display:block;font-size:14px}
.pushv .pchk small{display:block;color:var(--muted);font-size:12px}
.pushv .pbtns{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.pushv .pbtns button{padding:8px 14px;border-radius:8px}
.pushv .pbtns button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}
.pushv .pbtns button.ghost{background:none}
.pushv .prenote{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:8px 12px;font-size:13px;margin:6px 0}

/* favorites: star buttons, and small marks on favorite players / teams / games everywhere */
.fstar{background:none;border:0;padding:0 3px;margin:0;font:inherit;font-size:18px;line-height:1;color:var(--muted);cursor:pointer;vertical-align:1px}
.fstar:hover,.fstar:focus-visible{color:var(--accent)}
.fstar.on{color:var(--accent)}
h2 .fstar{font-size:22px;vertical-align:3px}
h3 .fstar{font-size:16px}
a.plink.isfav::after,a.tlink.isfav::after{content:'★';display:inline-block;margin-left:2px;font-size:.7em;color:var(--accent);vertical-align:.25em;text-decoration:none}
.nofavmark a.isfav::after{display:none}
.game.isfavg{box-shadow:inset 3px 0 0 var(--accent)}
.fstar.sm{font-size:14px;padding:0 2px;vertical-align:2px}

/* live team card (team.js teamLiveCard): home page and "Mano" */
.wc{display:inline-block;margin-left:6px;font-family:var(--body);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--accent);color:var(--accent);border-radius:4px;padding:0 4px;vertical-align:middle}
details[data-team]{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}
details[data-team][open]{grid-column:1/-1}
details[data-team] > summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px}
details[data-team] > summary::-webkit-details-marker{display:none}
details[data-team] > summary .name{font-family:var(--display);font-size:22px;font-weight:600;line-height:1.05;min-width:0}
details[data-team] > summary .name small{display:block;font-family:var(--body);font-size:11px;color:var(--muted);font-weight:400;margin-top:3px}
details[data-team] > summary .score{font-family:var(--display);font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;line-height:1}
details[data-team] > summary .score small{display:block;font-family:var(--body);font-size:11px;color:var(--muted);font-weight:400;margin-top:3px}
.players{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:0 18px;padding:0 12px 10px;border-top:1px solid var(--line)}
.grp{margin-top:8px;padding:5px 8px;border-radius:6px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;background:var(--surface2);display:flex;justify-content:space-between}
.pl{display:grid;grid-template-columns:16px 1fr auto auto;gap:8px;align-items:center;padding:6px 4px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.grp + .pl{border-top:0}
.pl .p{font-family:var(--display);font-size:13px;color:var(--muted)}
.pl .n{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl .n small{color:var(--muted);margin-left:6px}
.pl .n .ln{display:block;font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}
.pl .g{font-size:11px;color:var(--muted);white-space:nowrap;text-align:right}
.pl .g.live{color:var(--live);font-weight:600}
.pl .g.final{color:var(--good)}
.pl .f{font-family:var(--display);font-size:18px;font-weight:600;min-width:52px;text-align:right}
.pl .f small{font-family:var(--body);font-size:10px;color:var(--muted);font-weight:400}
.pl.inactive{opacity:.55}
.cap{display:inline-block;background:var(--accent);color:var(--accent-ink);font-family:var(--display);font-weight:700;font-size:11px;border-radius:4px;padding:0 5px;margin-left:6px;vertical-align:middle}
.dd{display:inline-block;border:1px solid var(--good);color:var(--good);font-size:10px;border-radius:4px;padding:0 4px;margin-left:6px;vertical-align:middle;font-weight:600}
.dd.near{border-style:dashed;color:var(--muted);border-color:var(--muted);font-weight:500}
.dd.near.live{color:var(--accent);border-color:var(--accent);font-weight:600}
.inj{display:inline-block;border:1px solid var(--bad);color:var(--bad);font-size:10px;border-radius:4px;padding:0 4px;margin-left:6px;vertical-align:middle;font-weight:600}
.pl.has{cursor:pointer}
.pl.has:hover{background:var(--surface2)}
.pl.has:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
table.bd{width:auto;min-width:220px;border-collapse:collapse;font-size:12px}
table.bd td{padding:2px 8px 2px 0;border:0;text-align:left;white-space:nowrap}
table.bd td:last-child{text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}
table.bd td.neg{color:var(--bad)} table.bd td.pos{color:var(--good)}
table.bd tr.sum td{border-top:1px solid var(--line);font-weight:700;color:var(--text);padding-top:4px}
.pl .n .hs{margin-left:6px;font-size:10px;padding:0 5px;vertical-align:middle;line-height:1.4}   /* on the club line, so a long name never cuts it off */
.pl .n small.cl2:has(.hs){white-space:normal}   /* narrow card: the badge moves to its own line instead of being cut */
.pl .n small.cl2 .hs{margin-top:1px}
.pl .f small.raw{display:block;font-size:10px;line-height:1.1;color:var(--muted);font-weight:400}
table.bd tr.cnt td{color:var(--accent);border-top:0;padding-top:0}
.pl .n .ln b.mins{font-weight:600;color:var(--text)}
.pl .f small.bn{display:block;font-size:10px;line-height:1.1;color:var(--muted);font-weight:400}
.pl .n small .gpn{opacity:.7}
.pl.tier1{background:var(--tier1-bg)} .pl.tier2{background:var(--tier2-bg)}
.pl .n small.cl2{display:block;margin-left:0;font-size:11px;line-height:1.25;overflow:hidden;text-overflow:ellipsis}   /* club · average on its own line: badges never push it out */
.pl .n .ln{line-height:1.25}
details[data-team] > summary .name .fstar{margin:0 3px 0 -2px;vertical-align:3px}
.pld{padding:4px 6px 10px 28px;border-top:1px dashed var(--line);font-size:12px;color:var(--muted)}
.pld .sl{line-height:1.5;margin-bottom:6px}

/* player comparison: tray, add buttons, columns for 3-4 players */
.cmpadd{font:inherit;font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;vertical-align:5px;font-family:var(--body);letter-spacing:0}
.cmpadd:hover{border-color:var(--accent);color:var(--accent)}
.cmpadd.on{border-color:var(--accent);color:var(--accent);background:var(--tier2-bg)}
#cmptray{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:50;display:flex;align-items:center;gap:8px;
  max-width:calc(100vw - 24px);background:var(--surface);border:1px solid var(--accent);border-radius:10px;padding:6px 8px 6px 12px;box-shadow:0 6px 20px rgba(0,0,0,.25);font-size:13px}
#cmptray .ct{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
#cmptray .ctgo{font:inherit;font-weight:600;padding:4px 10px;border-radius:6px;border:0;background:var(--accent);color:var(--accent-ink);cursor:pointer;white-space:nowrap}
#cmptray .ctgo:disabled{opacity:.45;cursor:default}
#cmptray .ctx{font:inherit;font-size:18px;line-height:1;border:0;background:none;color:var(--muted);cursor:pointer;padding:0 4px}
html.pc-open #cmptray{display:none}
.pcmpv .cgrp{margin:12px 0 2px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.pcmpv .side .pcol small, .pcmpv .pcol small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.pcmpv .side.r .pcol{text-align:right}
.pcmpv .pcol .big{font-family:var(--display);font-size:22px;font-weight:700;line-height:1.1;border-top:3px solid var(--pc);padding-top:4px}
.pcmpv .pcol .big a{color:inherit}
.pcmpv .pcol .tm{display:inline} .pcmpv .pcol .fl{display:inline-block;vertical-align:-1px;margin-right:3px}
.pcmpv .cmprm{font:inherit;font-size:11px;border:0;background:none;color:var(--muted);cursor:pointer;padding:2px 0;margin-top:2px}
.pcmpv .cmprm:hover{color:var(--bad)}
.pcmpv .pcols{display:grid;gap:12px;margin:6px 0 10px}
table.pcmpt{width:100%;font-variant-numeric:tabular-nums}
table.pcmpt th{text-align:left;font-weight:400;color:var(--muted);font-size:12px;text-transform:none;letter-spacing:0;white-space:normal}
table.pcmpt th small{display:block;font-size:10px}
table.pcmpt td{text-align:right;font-family:var(--display);font-size:18px;font-weight:600;color:var(--muted)}
table.pcmpt td.win{color:var(--good);font-weight:700}   /* best of the row (3-4 players) */
table.pcmpt tr.cgrp td{font-family:var(--body);text-align:left;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;padding-top:12px}
.cmpadd2{margin-top:14px} .cmpadd2 input{width:100%;max-width:340px;font:inherit;font-size:14px;padding:6px 8px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--text)}
.cmpadd2 ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:3px;font-size:13px} .cmpadd2 li small{color:var(--muted)}
.cmpadd2 .cmpadd{vertical-align:0;margin-right:4px}
.pcmpv h3.pglog{border-left:4px solid var(--pc);padding-left:8px;margin-top:18px}
.pcmpv .h2h .v small, table.pcmpt td small{display:block;font-family:var(--body);font-size:11px;font-weight:400;color:var(--muted);line-height:1.2}
.cmpadd:disabled{opacity:.55;cursor:not-allowed;border-style:dashed} .cmpadd:disabled:hover{border-color:var(--line);color:var(--muted)}
/* player card: "Lyginti su…" search */
.pcq{margin:-4px 0 12px;position:relative}
.pcq input{width:100%;max-width:320px;font:inherit;font-size:13px;padding:5px 8px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--text)}
.pcq ul{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:2px;max-width:420px}
.pcq .pcqgo{font:inherit;font-size:13px;text-align:left;width:100%;padding:4px 8px;border:1px solid transparent;border-radius:6px;background:none;color:var(--text);cursor:pointer}
.pcq .pcqgo:hover,.pcq .pcqgo:focus-visible{border-color:var(--accent);background:var(--surface2)}
.pcq .pcqgo small{color:var(--muted)}
.cmpadd2.top{margin:0 0 12px}
/* team card: transfers (stat-sheet list like the rest of the card) and table */
.tmv .pcsheet .v .pos{color:var(--good)} .tmv .pcsheet .v .neg{color:var(--bad)}
table.tmvt td{white-space:nowrap} table.tmvt td.nm{text-align:left} table.tmvt td.nm small{display:block;color:var(--muted);font-size:11px}
table.tmvt td small{color:var(--muted);font-size:11px} table.tmvt td small.sub{display:block}
table.tmvt th:nth-child(2), table.tmvt th:nth-child(3){text-align:left}
table.tmvt td.up{color:var(--good);font-weight:700} table.tmvt td.down{color:var(--bad);font-weight:700}
table.tmvt .in{color:var(--good)} table.tmvt .out{color:var(--bad)}
/* grade chips: A+ … F, green to red */
.gr{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:22px;padding:0 5px;border-radius:5px;font-family:var(--display);font-size:16px;font-weight:700;line-height:1}
.gr.g-Ap{background:var(--good);color:#fff} .gr.g-A{background:var(--good-bg);color:var(--good)}
.gr.g-B{background:var(--fav-bg);color:var(--good);box-shadow:inset 0 0 0 1px var(--fav-line)}
.gr.g-C{background:var(--surface2);color:var(--muted)}
.gr.g-D{background:var(--bad-bg);color:var(--bad)} .gr.g-F{background:var(--bad);color:#fff}
.gr.big{min-width:40px;height:30px;font-size:22px;border-radius:7px}
table.tmvt td.grc{text-align:center}
.tmv .decg{margin-bottom:10px}
/* decision grades: chip and number in fixed columns, so the chips line up whatever the number's width */
.tmv .decg .v{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}
.tmv .decg .v small{display:inline-block;min-width:62px;text-align:right;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
/* push panel: the live team notification (switch + team) */
.pushv .plive{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.pushv .pteam{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-top:8px}
.pushv .pchk:has(input:not(:checked)) .pteam{display:none}
.pushv .pteam select{font:inherit;font-size:13px;padding:4px 6px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--text)}
.gr.early{opacity:.6;outline:1px dashed currentColor;outline-offset:1px}   /* a move graded on one round only */
table.pcgames td.ddc{padding-left:2px;text-align:left;width:1%;white-space:nowrap}   /* DD / TD / gyvai, beside Ftšk */
.pchead h2 .jno{font-size:.75em;color:var(--muted);font-weight:600;margin-right:8px}   /* jersey number before the name */
/* player card: this season's charts (bars on top, a line below, one round axis) */
.pcs{margin:4px 0 12px}
.pcsh{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:8px 0 4px}
.pcsh select{font:inherit;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;padding:2px 6px;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--text)}
.pcchart .avg{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3} .pcchart text.avgl{fill:var(--muted);font-size:9.5px;paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}
.pcchart .ln{fill:none;stroke:var(--s1);stroke-width:2;stroke-linejoin:round} .pcchart .pt{fill:var(--s1);stroke:var(--surface);stroke-width:2}
.pclegend + .table-wrap{margin-top:10px}   /* career chart above the career table */
/* player card, 14 Oct 2026: folded groups (phone), the "Kaip skaičiuojama?" block, header line, colour cues */
/* a folded group: a tappable bar with "rodyti" / "slėpti", unmistakably clickable */
/* player card: every title is the same bar (group titles, folding ones, section headings); folding ones add rodyti / slėpti */
.pcard .pcsheet .psg > .pst, .pcard .pcsheet details.psg > summary, .pcard > h3{display:flex;justify-content:space-between;align-items:center;gap:8px;
  padding:8px 10px;margin:0 0 4px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text)}
.pcard > h3{font-family:var(--body);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin:16px 0 8px}
.pcard .pcsheet details.psg > summary{list-style:none;cursor:pointer}
.pcsheet details.psg > summary::-webkit-details-marker{display:none}
.pcsheet details.psg > summary::after{content:'rodyti ▾';flex:none;font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--accent)}
.pcsheet details.psg[open] > summary::after{content:'slėpti ▴'}
.pcsheet details.psg > summary:hover{border-color:var(--accent)}
.pcsheet .pdl.up{color:var(--good);font-weight:600} .pcsheet .pdl.down{color:var(--bad);font-weight:600}   /* opponent's defence, projection gap */
.pcsheet .r.lbl .v .tm{gap:5px;font-family:var(--body);font-size:13px;font-weight:600}
.pcsheet .r .v .cap{font-size:10px;font-weight:700;color:var(--accent-ink);background:var(--accent);border-radius:3px;padding:0 4px;margin-left:4px;vertical-align:2px}
details.pcnote{margin-top:14px;font-size:12px;color:var(--muted);line-height:1.5}
details.pcnote summary{cursor:pointer;font-size:12px;color:var(--muted);font-weight:600}
details.pcnote p{margin:6px 0 0;max-width:90ch}
@media (max-width:600px){.pcmeta .pcnext{flex-basis:100%}}
/* player card, second round: jump links, this round in the header, section anchors clear of the sticky header */
.pcjump{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}
.pcjump a{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);
  color:var(--text);font-size:12px;font-weight:600;cursor:pointer;text-decoration:none;user-select:none}
.pcjump a::after{content:'↓';color:var(--accent);font-weight:700}
.pcjump a:hover, .pcjump a:focus-visible{border-color:var(--accent)}
.pcjump a:active{background:var(--surface2, var(--surface))}
@media (max-width:600px){.pcjump{gap:8px} .pcjump a{min-height:32px;padding:4px 12px;font-size:13px}}
.pcmeta .pcnow{color:var(--text);font-size:13px;white-space:nowrap} .pcmeta .pcnow b{font-family:var(--display);font-size:15px}
[data-pcsec]{scroll-margin-top:150px}
.pcsheet .r.down .k{color:var(--muted)}
/* player card header (.pchp): the club line shows above the name on a wide screen and under it on a phone */
.pchp .pcid{min-width:0}
.pceb-m{display:none}
.pchp + .pceb-m + .pcmeta, .pchp ~ .pcmeta{margin-bottom:2px}
@media (max-width:640px){
  .pcdlg .pchead.pchp{align-items:center;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--line)}
  .pchp .pceb-d{display:none}
  .pchp h2{font-size:23px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pchp .pcclose{width:34px;height:34px}
  .pceb-m{display:block;margin:2px 0 4px}
}
.pcsavg{display:flex;justify-content:flex-end;align-items:center;gap:5px;font-size:11px;color:var(--muted);margin:-2px 2px 3px}
.pcsavg i{display:inline-block;width:16px;border-top:1px dashed var(--muted)}   /* key for the dashed average line */
/* Konkurencija: the player himself marked, injuries as a dot by the name (same colours as the health labels) */
.pcsheet .r.mine{background:color-mix(in srgb, var(--accent) 8%, transparent);border-radius:6px}
.pcsheet .r .k .me{font-size:10px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.06em}
.hdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--bad);vertical-align:1px;margin-left:4px}
.hdot.game-time,.hdot.expected,.hdot.uncertain,.hdot.doubtful,.hdot.questionable{background:var(--accent)}
/* keyboard: the folding bars, jump chips and links in the card show where focus is */
.pcard summary:focus-visible, .pcard .pcjump a:focus-visible, .pcard a.plink:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.hlbl{font-weight:700;color:var(--bad)} .hlbl.game-time,.hlbl.expected,.hlbl.uncertain,.hlbl.doubtful,.hlbl.questionable{color:var(--accent)}   /* health word before minutes */
.pcsheet .r .v small.u{font-family:var(--body);font-size:10px;font-weight:600;color:var(--muted);margin-left:3px}   /* unit after a bare number */
/* comparison v2: the player card's look (bar titles that fold, compact pinned header, names in it) */
.pcmpv details.cgd{margin-top:10px}
.pcmpv details.cgd > summary.cgrp{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 4px;
  padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.pcmpv details.cgd > summary.cgrp::-webkit-details-marker{display:none}
.pcmpv details.cgd > summary.cgrp::after{content:'rodyti ▾';flex:none;font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--accent)}
.pcmpv details.cgd[open] > summary.cgrp::after{content:'slėpti ▴'}
.pcmpv details.cgd > summary.cgrp:hover{border-color:var(--accent)}
.pcmpv details.cgd > summary.cgrp:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pcmpv details.pgd > summary.pglog{border-left:4px solid var(--pc)}
.pcmpv .cmpnames{display:flex;gap:10px;flex-wrap:nowrap;overflow:hidden;font-size:12px;font-weight:600;margin-top:2px}
.pcmpv .cmpnames span{white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
.pcmpv .cmpnames span::before{content:'';width:8px;height:8px;border-radius:2px;background:var(--pc)}
.pcmpv .pcol .big .nat svg.fl{display:inline-block;width:20px;height:13px;vertical-align:1px;margin-right:6px}
.pcmpv .pcol .big .jno{font-size:.7em;color:var(--muted);font-weight:600;margin-right:6px}
.pcmpv .pcol small.pcnowl{color:var(--text)}
.pcnow{color:var(--text);font-size:13px;white-space:nowrap} .pcnow b{font-family:var(--display);font-size:15px}
.pcmpv .h2h.txt{grid-template-columns:minmax(0,1fr) minmax(7em,auto) minmax(0,1fr)}
.pcmpv .h2h.txt .v{font-family:var(--body);font-size:13px;font-weight:600;color:var(--text)}
.pcmpv .h2h .v .nxr, table.pcmpt .nxr{color:var(--muted);font-weight:600}
table.pcmpt{table-layout:fixed} table.pcmpt col.kc{width:34%}
table.pcmpt tr.txt td{font-family:var(--body);font-size:13px;color:var(--text);white-space:normal;overflow-wrap:anywhere}
.pcmpv .h2h.txt .v{white-space:normal;overflow-wrap:anywhere}
.pcmpv .legend b{font-weight:600;color:var(--text)}
@media (max-width:640px){.pcmpv .pchead.pchp h2{font-size:20px}}
/* player card on a wide screen: the stat sheet in newspaper columns (groups stacked, no holes under short ones) */
@media (min-width:641px){
  .pcard .pcsheet{display:block;columns:3 270px;column-gap:20px}
  .pcard .pcsheet > .psg{break-inside:avoid;margin-bottom:12px}
}
.pcmpv .tw{font-family:var(--body);font-size:12px;font-weight:700}   /* a word in a number column (Patikimumas) */
.pcmpv .pcol .big{overflow-wrap:anywhere} .pcmpv .pcol small{overflow-wrap:anywhere} .pcmpv .pcol .pcnow{white-space:normal}
@media (max-width:600px){.pcmpv .pcols{grid-template-columns:1fr 1fr !important;row-gap:14px} .pcmpv .pcol .big{font-size:18px}}
