:root{
  --bg:#f3f1ec; --paper:#fffdf9; --ink:#14161b; --mute:#626873; --line:#e2ded5;
  --head:#14161b; --headInk:#f6f3ec;
  --D:#2b62c9; --R:#cf3f36; --L:#c9962a; --G:#2f8a4c; --I:#7a5bc0; --O:#8a8f99;
  --amber:#b7791f; --ok:#1f7a45;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#101216; --paper:#181b21; --ink:#ebe8e1; --mute:#9aa0aa; --line:#2a2e36; --head:#0a0b0e; --headInk:#f2efe8;
         --D:#5b8ef0; --R:#ef6a60; --O:#7c828c; }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Inter,system-ui,sans-serif}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}

.top{background:var(--head);color:var(--headInk);position:sticky;top:0;z-index:5}
.top-in{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding-top:18px;padding-bottom:10px}
.kicker{margin:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
h1{margin:2px 0 0;font:800 clamp(26px,4vw,40px)/1 Archivo,sans-serif;letter-spacing:-.01em}
.live{display:flex;align-items:center;gap:8px;font-size:13px;opacity:.9;white-space:nowrap}
.dot{width:9px;height:9px;border-radius:50%;background:#3ccf73;box-shadow:0 0 0 0 rgba(60,207,115,.6);animation:pulse 2s infinite}
.live.stale .dot{background:var(--amber);animation:none}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(60,207,115,0)}100%{box-shadow:0 0 0 0 rgba(60,207,115,0)}}
@media (prefers-reduced-motion:reduce){.dot{animation:none}}
.tabs{display:flex;gap:4px}
.tabs button{background:none;border:0;color:var(--headInk);opacity:.65;font:600 14px Inter,sans-serif;padding:10px 14px;border-bottom:3px solid transparent;cursor:pointer}
.tabs button[aria-selected=true]{opacity:1;border-color:var(--headInk)}

.summary{margin:22px 0 6px}
.sumrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.stat{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px 14px;min-width:120px}
.stat b{display:block;font:700 24px/1.1 Archivo,sans-serif}
.stat span{font-size:12px;color:var(--mute)}
.sumnote{color:var(--mute);font-size:13px;margin:8px 0 0}

.tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}
.tools input{flex:1 1 220px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit}
.filters{display:flex;gap:4px;flex-wrap:wrap}
.filters button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:99px;padding:6px 12px;font:500 13px Inter,sans-serif;cursor:pointer}
.filters button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-bottom:28px}
.sec{grid-column:1/-1;font:700 13px Archivo,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--mute);margin:12px 0 -4px}
.race{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 16px 12px;display:flex;flex-direction:column;gap:10px}
.rh{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.rh h3{margin:0;font:700 18px/1.2 Archivo,sans-serif}
.rh small{display:block;color:var(--mute);font:500 12px Inter,sans-serif;margin-top:2px}
.badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:99px;white-space:nowrap;background:var(--line);color:var(--mute)}
.badge.counting{background:#fdf0d5;color:#7a5600}
.badge.called{background:#dcf2e4;color:var(--ok)}
@media (prefers-color-scheme: dark){.badge.counting{background:#3a2f15;color:#f0c76b}.badge.called{background:#163524;color:#7fd9a2}}
.cands{display:flex;flex-direction:column;gap:7px}
.cand{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:baseline}
.cand .nm{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cand .pt{font-size:12px;color:var(--mute);font-weight:500}
.cand .num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.cand .num small{color:var(--mute);font-weight:400;margin-left:6px}
.cand .barw{display:block;grid-column:1/-1;height:6px;background:var(--line);border-radius:99px;overflow:hidden}
.cand .bar{display:block;height:100%;border-radius:99px;transition:width .6s}
.win .nm::after{content:" ✓";color:var(--ok)}
.meta{font-size:12px;color:var(--mute);display:flex;flex-wrap:wrap;gap:4px 12px;border-top:1px solid var(--line);padding-top:8px}
.meta a{color:var(--mute)}
.note{font-size:13px;margin:0}
.empty{grid-column:1/-1;color:var(--mute);text-align:center;padding:30px}
.foot{color:var(--mute);font-size:13px;padding-bottom:40px}
@media (max-width:520px){.grid{grid-template-columns:1fr}.top-in{align-items:flex-start;flex-direction:column}}
.meta:empty{display:none}
