:root { --bg:#f6f7f9; --card:#fff; --ink:#1c1f26; --muted:#6b7280; --line:#e5e7eb; --accent:#0f766e; --win:#fef3c7; --winline:#f59e0b;
  --live:#dc2626; --prov:#d97706; --final:#15803d; --up:#6b7280; --over:#7c3aed; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#0f1115; --card:#181b22; --ink:#e7e9ee; --muted:#9aa3b2; --line:#2a2f3a; --accent:#2dd4bf; --win:#3b2f0b; --winline:#f59e0b; }
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
a { color:var(--accent); text-decoration:none; }
.top { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; background:var(--card); border-bottom:1px solid var(--line); position:sticky; top:0; }
.brand { font-weight:700; color:var(--ink); }
nav a { margin-left:14px; color:var(--muted); font-weight:500; }
nav a.on { color:var(--accent); }
main { max-width: 900px; margin: 0 auto; padding: 12px; }
footer { text-align:center; color:var(--muted); font-size:13px; padding:20px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:12px; margin:12px 0; overflow:hidden; }
.card-head { padding:14px 16px 6px; }
.card-head h2 { margin:0 0 4px; font-size:19px; }
.muted { color:var(--muted); margin:4px 0; }
.pad { padding: 0 16px 14px; }
.note { margin:4px 0 0; color:var(--prov); font-size:14px; }
.warn { color:var(--live); }
.source-banner { margin:6px 16px 10px; padding:8px 12px; border-radius:8px; font-size:14px; background:var(--win); border:1px solid var(--winline); }
table { width:100%; border-collapse:collapse; }
th, td { padding:10px 12px; border-top:1px solid var(--line); text-align:left; vertical-align:top; }
th { font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
.num { text-align:right; white-space:nowrap; font-variant-numeric: tabular-nums; }
.team { font-weight:600; }
.team-cell { display:flex; align-items:center; gap:10px; min-width:0; }
.team-cell > div, .team-cell > span { min-width:0; }
.team-cell.sm { gap:6px; }
.team-cell + .team-cell { margin-top:4px; }
.logo { flex:0 0 auto; width:36px; height:36px; border-radius:50%; object-fit:cover; background:var(--line); border:1px solid var(--line); }
.logo.sm { width:22px; height:22px; }
.logo-blank { display:inline-flex; align-items:center; justify-content:center; color:var(--muted); font-weight:700; font-size:15px; }
.logo-blank.sm { font-size:11px; }
tr.waiting .logo { opacity:.55; }
.owner { color:var(--muted); font-size:13px; }
.def { color:var(--muted); font-size:14px; margin-top:2px; }
.detail { color:var(--muted); font-size:13px; }
tr.winner { background:var(--win); box-shadow: inset 4px 0 0 var(--winline); }
.badge { display:inline-block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; padding:2px 8px; border-radius:999px; color:#fff; vertical-align:middle; margin-left:6px; }
.badge.live { background:var(--live); } .badge.provisional { background:var(--prov); } .badge.final { background:var(--final); }
.badge.upcoming { background:var(--up); } .badge.override { background:var(--over); } .badge.pending { background:var(--up); }
.pos { color:var(--final); } .neg { color:var(--live); }
.pager { display:flex; justify-content:space-between; margin:4px 2px; }
.wk { white-space:nowrap; font-weight:600; }
@media (max-width: 600px) {
  th.detail, td.detail { display:none; }
  .results td:nth-child(2) .owner::after { content: ""; }
  th, td { padding:9px 8px; }
}
.head-row { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.head-row h2 { flex:1 1 auto; }
.week-nav { display:flex; align-items:center; gap:6px; flex:0 0 auto; }
.week-nav a, .week-nav .off { font-size:20px; line-height:1; padding:2px 8px; border:1px solid var(--line); border-radius:8px; color:var(--accent); }
.week-nav .off { color:var(--line); }
.week-nav select { font:inherit; font-size:13px; color:var(--ink); background:var(--card); border:1px solid var(--line); border-radius:8px; padding:4px 6px; max-width:200px; }
tr.waiting td { color:var(--muted); }
tr.waiting .team { font-weight:500; color:var(--muted); }
/* scoring-over-time chart */
.chart { padding:6px 12px 10px; border-top:1px solid var(--line); --grid:#e5e7eb; --axis:#c3c2b7;
  --s1:#2a78d6; --s2:#eb6834; --s3:#1baf7a; --s4:#eda100; --s5:#e87ba4; --s6:#008300; --s7:#4a3aa7; --s8:#e34948; }
@media (prefers-color-scheme: dark) {
  .chart { --grid:#2a2f3a; --axis:#383835; --s1:#3987e5; --s2:#d95926; --s3:#199e70; --s4:#c98500; --s5:#d55181; --s6:#008300; --s7:#9085e9; --s8:#e66767; }
}
.chart svg { display:block; width:100%; height:auto; overflow:visible; font:12px system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
.chart .grid { stroke:var(--grid); stroke-width:1; }
.chart .axis { stroke:var(--axis); stroke-width:1; }
.chart text { fill:var(--muted); }
.chart text.end { fill:var(--ink); font-size:11px; }
.chart .series { fill:none; stroke-width:2; stroke-linejoin:round; stroke-linecap:round; transition:opacity .15s; }
.chart .series.dashed { stroke-dasharray:6 4; }
.chart.focus .series:not(.on), .chart.focus .end:not(.on), .chart.focus .lg:not(.on) { opacity:.18; }
.chart .series.on { stroke-width:3; }
.chart .hair { stroke:var(--muted); stroke-width:1; pointer-events:none; }
.chart .hit { fill:transparent; cursor:crosshair; }
.chart-legend { display:flex; flex-wrap:wrap; gap:4px 14px; margin:8px 0 0; padding:0; list-style:none; font-size:13px; }
.chart-legend li { display:flex; align-items:center; gap:6px; cursor:pointer; color:var(--ink); transition:opacity .15s; }
.chart-legend li .key { width:22px; height:0; border-top:2px solid var(--k); }
.chart-legend li .logo { width:20px; height:20px; }
.chart-legend li.dashed .key { border-top-style:dashed; }
.chart-legend li .who { color:var(--muted); }
.chart-tip { position:absolute; z-index:5; pointer-events:none; background:var(--card); color:var(--ink); border:1px solid var(--line); border-radius:8px;
  box-shadow:0 4px 14px rgba(0,0,0,.12); padding:6px 10px; font-size:12px; min-width:170px; max-width:260px; }
.chart-tip .when { color:var(--muted); margin-bottom:4px; }
.chart-tip .row { display:flex; align-items:center; gap:6px; line-height:1.5; }
.chart-tip .row .key { width:14px; height:0; border-top:2px solid var(--k); flex:0 0 auto; }
.chart-tip .row.dashed .key { border-top-style:dashed; }
.chart-tip .row .v { font-weight:700; font-variant-numeric:tabular-nums; min-width:34px; text-align:right; }
.chart-tip .row .n { color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.chart-wrap { position:relative; }
.chart-foot { color:var(--muted); font-size:12px; margin:6px 0 0; }
