:root{--bg:#0e1116;--panel:#161b22;--line:#2a313c;--text:#e6e8eb;--muted:#8b949e;--dem:#3b82f6;--gop:#ef4444;--oth:#a3a3a3;--ok:#22c55e;--warn:#eab308;--bad:#ef4444;--mono:ui-monospace,SFMono-Regular,Menlo,monospace}*{box-sizing:border-box}body{display:flex;background:var(--bg);color:var(--text);flex-direction:column;height:100vh;margin:0;font:14px/1.4 -apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif}header{display:flex;border-bottom:1px solid var(--line);align-items: center;gap:24px;padding:12px 20px}.brand{letter-spacing:-.02em;color:inherit;text-decoration:none;font-size:18px;font-weight:800}.brand span{color:var(--muted);margin-left:6px;font-size:13px;font-weight:400}#clock{font-family:var(--mono);color:var(--muted);font-size:12px}.sources{display:flex;flex-wrap:wrap;gap:10px;margin-left:auto}.src{font-family:var(--mono);color:var(--muted);display:flex;align-items: center;gap:4px;font-size:11px}.dot{background:var(--ok);border-radius:50%;width:7px;height:7px}.dot.stale{background:var(--warn)}.dot.down{background:var(--bad)}.chambers{display:grid;grid-template-columns:1fr 1fr .7fr;background:var(--line);border-bottom:1px solid var(--line);gap:1px}.chamber{background:var(--bg);padding:14px 20px}.chamber h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px;font-size:12px;font-weight:600}.chamber .big{font-variant-numeric:tabular-nums;font-size:26px;font-weight:800}.chamber .sub{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.bop{position:relative;display:flex;overflow:hidden;background:#222;border-radius:3px;height:14px;margin:8px 0 6px}.bop>div{height:100%}.bop .d{background:var(--dem)}.bop .dl{background:color-mix(in srgb,var(--dem)45%,#222)}.bop .rl{background:color-mix(in srgb,var(--gop)45%,#222)}.bop .r{background:var(--gop)}.bop .mid{position:absolute;background:var(--text);width:2px;top:-3px;bottom:-3px}.controls{display:flex;flex-wrap:wrap;align-items: center;gap:12px;padding:10px 20px}.seg{display:flex;border:1px solid var(--line);overflow:hidden;border-radius:6px}.seg button,.ghost{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 12px;font-size:13px}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:var(--panel);color:var(--text)}.ghost{border:1px solid var(--line);border-radius:6px}main{display:grid;grid-template-columns:minmax(0,1fr)420px;flex:1;min-height:0}.mapwrap{position:relative;border-top:1px solid var(--line)}#map{display:block;width:100%;height:100%}#map .county{stroke:var(--bg);stroke-width:.25}#map .state{fill:none;stroke:#4b5563;stroke-width:.8;pointer-events:none}#map .hit{fill:transparent;cursor:pointer}#map .hit:hover{fill:#ffffff0f}#map .arrow{stroke-width:1.4;fill:none}.legend{position:absolute;color:var(--muted);background:#0e1116d9;border-radius:6px;padding:8px 10px;font-size:11px;bottom:16px;left:16px}.legend .ramp{border-radius:2px;width:220px;height:8px;margin:4px 0}.legend .ends{display:flex;justify-content:space-between}.tip{position:absolute;pointer-events:none;background:var(--panel);border:1px solid var(--line);z-index:5;border-radius:6px;min-width:160px;padding:8px 10px;font-size:12px}.tip b{display:block;margin-bottom:4px}aside{border-left:1px solid var(--line);border-top:1px solid var(--line);overflow-y:auto;background:var(--panel)}.list .row{display:grid;grid-template-columns:64px 1fr 74px;border-bottom:1px solid var(--line);cursor:pointer;align-items: center;gap:8px;padding:9px 16px}.list .row:hover{background:#ffffff08}.list .k{font-family:var(--mono);font-size:12px;font-weight:700}.list .who{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.list .who b{color:var(--text);font-weight:600}.prob{background:var(--gop);overflow:hidden;border-radius:3px;height:6px;margin-top:4px}.prob>div{background:var(--dem);height:100%}.pct{font-family:var(--mono);text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:700}.badge.D{background:var(--dem);color:#fff}.badge.R{background:var(--gop);color:#fff}.badge.O{background:var(--oth);color:#000}.badge.warn{background:var(--warn);color:#000}.detail{padding:16px}.detail h2{margin:0 0 2px;font-size:18px}.detail .meta{color:var(--muted);margin-bottom:12px;font-size:12px}.detail h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:18px 0 6px;font-size:11px}.detail table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.detail td,.detail th{text-align:right;padding:4px 0;font-size:12px}.detail td:first-child,.detail th:first-child{text-align:left}.detail th{color:var(--muted);border-bottom:1px solid var(--line);font-weight:500}.swatch{display:inline-block;border-radius:2px;width:8px;height:8px;margin-right:6px}.kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kpi{background:var(--bg);border-radius:6px;padding:8px 10px}.kpi .v{font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.kpi .l{color:var(--muted);font-size:11px}.spark{display:block;width:100%;height:70px}.muted{color:var(--muted)}.mono{font-family:var(--mono)}@media (max-width:900px){.chambers{grid-template-columns:1fr}body{display:block;height:auto}main{grid-template-columns:1fr}.mapwrap{height:60vh}aside{border-left:0}}.listhead{display:flex;border-bottom:1px solid var(--line);position:sticky;background:var(--panel);z-index:2;flex-wrap:wrap;align-items: center;gap:8px;padding:10px 16px;top:0}.listhead select{background:var(--bg);color:var(--text);border:1px solid var(--line);font:inherit;border-radius:6px;padding:5px 8px;font-size:12px}.seg.small button{text-transform:capitalize;padding:4px 8px;font-size:12px}.hatchkey{display:flex;align-items: center;gap:6px;margin-top:6px}.card{position:absolute;will-change:transform;pointer-events:none;z-index:6;border:1px solid var(--line);background:#161b22f7;border-radius:10px;width:520px;max-width:calc(100% - 24px);padding:14px 16px;font-size:12px;top:0;left:0;box-shadow:0 12px 40px #00000080}.card .hd{display:flex;border-bottom:1px solid var(--line);justify-content:space-between;align-items: flex-start;padding-bottom:8px}.card .ttl{letter-spacing:-.02em;font-size:20px;font-weight:800}.card .sub{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.card .in{border:1px solid var(--gop);display:flex;border-radius:999px;align-items: center;gap:6px;padding:3px 10px;font-weight:700}.card .in span{background:var(--gop);border-radius:50%;width:7px;height:7px}.card h5{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:12px 0 6px;font-size:10px;font-weight:600}.card .cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card .cand{display:grid;grid-template-columns:1fr auto;column-gap:8px;margin-bottom:6px}.card .cand .pc{text-align:right;font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.card .cand .vt{text-align:right;font-variant-numeric:tabular-nums}.card .bar{position:relative;background:#2a313c;border-radius:3px;height:5px;margin-top:3px}.card .bar>div{background:#6b8fc7;border-radius:3px;height:100%}.card .bar i{position:absolute;background:var(--text);width:2px;height:11px;top:-3px}.card .demo{display:grid;grid-template-columns:1fr auto;margin-bottom:4px}.card .demo .bar{grid-column:1/-1}.card .cnt{margin-top:6px;font-size:13px}.card .slider{position:relative;height:22px;margin:10px 4px 2px}.card .slider .track{position:absolute;background:#3a424d;height:2px;top:10px;left:0;right:0}.card .slider .span{position:absolute;height:4px;top:9px}.card .slider .mid{position:absolute;border-left:1px dotted var(--muted);height:18px;top:2px;left:50%}.card .slider .poll{position:absolute;border-left:2px dashed var(--text);height:18px;top:2px}.card .slider .o,.card .slider .dot{position:absolute;border-radius:50%;width:14px;height:14px;margin-left:-7px;top:4px}.card .slider .o{border:2px solid var(--text);background:var(--panel)}.card .slider .dot{border:2px solid var(--panel)}.card .ends{display:flex;justify-content:space-between;font-size:10px}.card .leg{margin-top:4px}.card .grp{display:grid;grid-template-columns:1fr auto 1fr auto;gap:4px 10px;margin-bottom:3px}.card .grp b.d{color:var(--dem)}.card .grp b.r{color:var(--gop)}.card .big{font-size:20px;font-weight:800}.listhead input{background:var(--bg);color:var(--text);border:1px solid var(--line);font:inherit;border-radius:6px;flex:1;min-width:180px;padding:6px 10px;font-size:12px}.mrow{cursor:default}.mrow .who{white-space:normal}.prob.yn{background:#b45309}.prob.yn>div{background:#16a34a}.badge.Y{color:#fff;background:#16a34a}.badge.N{color:#fff;background:#b45309}.card .mrow{grid-template-columns:40px 1fr 70px;padding:6px 0}.opt{display:grid;grid-template-columns:1fr auto;gap:0 8px;margin-top:4px;font-size:12px}.opt .prob{grid-column:1/-1;margin-top:2px}.mcount{padding:6px 16px;font-size:11px}#map .arrow{pointer-events:none}a.src{text-decoration:none}:root{--ongoing:#f59e0b;--recent:#14b8a6;--soon:#6366f1;--later:#3b3f78;--past:#2b333f;--none:#1a1f27}.small{font-size:11px}.search{background:var(--panel);color:var(--text);border:1px solid var(--line);font:inherit;border-radius:6px;width:260px;margin-left:auto;padding:6px 10px;font-size:13px}#map .country{fill:var(--none);stroke:var(--bg);stroke-width:.3;cursor:pointer}#map .speck{fill:none;stroke:none;cursor:pointer}#map [data-heat=ongoing]{fill:var(--ongoing)}#map [data-heat=recent]{fill:var(--recent)}#map [data-heat=soon]{fill:var(--soon)}#map [data-heat=later]{fill:var(--later)}#map [data-heat=past]{fill:var(--past)}#map .speck[data-heat]:not([data-heat=none]){stroke:var(--bg);stroke-width:.6}#map .speck[data-heat=none]{fill:none}#map .country:hover,#map .speck:hover{filter:brightness(1.35)}.wlegend{display:flex;flex-wrap:wrap;gap:12px}.wlegend span{display:flex;align-items: center;gap:5px}.sw{display:inline-block;border-radius:2px;flex:none;width:10px;height:10px}.sw[data-heat=ongoing]{background:var(--ongoing)}.sw[data-heat=recent]{background:var(--recent)}.sw[data-heat=soon]{background:var(--soon)}.sw[data-heat=later]{background:var(--later)}.sw[data-heat=past]{background:var(--past)}.wtip,.selector{position:absolute;z-index:5;background:var(--panel);border:1px solid var(--line);border-radius:8px;top:0;left:0;box-shadow:0 8px 24px #00000073}.wtip{pointer-events:none;max-width:280px;padding:8px 10px;font-size:12px}.wtip b{display:block;margin-bottom:2px}.selector{overflow-y:auto;width:340px;max-height:70%;padding:6px 0}.sel-hd{display:flex;border-bottom:1px solid var(--line);align-items: center;gap:8px;padding:6px 12px 8px;font-size:15px}.sel-hd .x{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:13px}.selector .opt{display:grid;grid-template-columns:112px 1fr auto;color:var(--text);text-decoration:none;align-items: center;gap:8px;padding:8px 12px;font-size:13px}.selector .opt:hover{background:#ffffff0d}.selector .dt{font-family:var(--mono);color:var(--muted);font-size:11px}.fl{font-size:18px;line-height:1}.chip{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.chip.ongoing{background:var(--ongoing);color:#111}.chip.recent{background:var(--recent);color:#04201d}.chip.upcoming{background:var(--soon);color:#fff}.chip.past{background:var(--past);color:var(--muted)}.chip.live{background:var(--dem);color:#fff}.chip.won{background:var(--ok);color:#04210f}#list .listhead{position:sticky;background:var(--panel);border-bottom:1px solid var(--line);z-index:1;padding:10px 12px;top:0}.tabs{width:100%}.tabs button{white-space:nowrap;flex:1;padding:6px 8px;font-size:12px}.erow{display:grid;grid-template-columns:28px 1fr auto;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none;align-items: center;gap:8px;padding:9px 14px}.erow:hover{background:#ffffff0a}.erow .nm{display:flex;flex-direction:column;min-width:0}.erow .nm>span{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.erow .dt{font-family:var(--mono);color:var(--muted);text-align:right;font-size:11px}.empty{padding:16px}body.page{display:block;height:auto;min-height:100vh}.back{color:var(--muted);text-decoration:none;margin-left:auto}.hero{display:flex;border-bottom:1px solid var(--line);align-items: center;gap:16px;padding:20px 24px}.hero h1{letter-spacing:-.02em;margin:0;font-size:24px}.hero .meta{color:var(--muted);display:flex;flex-wrap:wrap;align-items: center;gap:6px;margin-top:4px}.bigflag{font-size:44px;line-height:1}.btn{background:var(--dem);color:#fff;text-decoration:none;white-space:nowrap;border-radius:6px;margin-left:auto;padding:8px 14px;font-weight:600}.epage{display:grid;grid-template-columns:minmax(0,1fr)380px;gap:0}#results{padding:8px 24px 32px}#side{border-left:1px solid var(--line);background:var(--panel);min-height:calc(100vh - 140px);padding:16px 24px 32px}.epage h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:18px 0 10px;font-size:11px}.results .res{display:grid;grid-template-columns:minmax(0,1fr)70px 110px;align-items:baseline;column-gap:12px;padding:8px 0 4px}.results.seats .res{grid-template-columns:minmax(0,1fr)70px 110px 90px}.results .res.head{color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:6px;font-size:11px}.results .who{display:flex;flex-wrap:wrap;align-items: center;gap:8px}.results .who .muted{font-size:12px}.results .num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--mono);font-size:13px}.results .win .num:first-of-type{font-weight:700}.rbar{grid-column:1/-1;overflow:hidden;background:#222831;border-radius:3px;height:6px;margin-top:6px}.rbar>div{border-radius:3px;height:100%}.cand{display:flex;border-bottom:1px solid var(--line);align-items: center;gap:8px;padding:6px 0}.cand .muted{font-size:12px}.thumb{object-fit:cover;background:#fff;border-radius:6px;width:100%;max-height:220px;margin-bottom:12px}.summary{margin:0 0 8px;line-height:1.55}.facts{display:grid;grid-template-columns:90px 1fr;gap:6px 10px;margin:0;font-size:13px}.facts dt{color:var(--muted)}.facts dd{margin:0}.series{display:flex;flex-direction:column;gap:6px}.series a,.src a{color:var(--dem);text-decoration:none}.src{margin-top:24px;font-size:11px}@media (max-width:900px){body:not(.page) .mapwrap{aspect-ratio:960/620;height:auto}#stamp{display:none}.search{width:100%;margin-left:0}header{flex-wrap:wrap}.epage{grid-template-columns:1fr}#side{border-left:0;border-top:1px solid var(--line);min-height:0}.selector{width:calc(100% - 16px)}.hero{flex-wrap:wrap}.btn{margin-left:0}}
