:root{color-scheme:light;--bg:#e9e9e3;--panel:rgba(248,249,245,.43);--line:rgba(49,55,45,.13);--text:#141812;--muted:#596054;--accent:#d0ff00;--d:#83a9dc;--r:#dc9686;--i:#b5a0d5;--u:#cdd2ce}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;padding:26px;background:#c7c9c3;color:var(--text);font-family:"Helvetica Neue",Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,select{font:inherit;cursor:pointer;color:inherit;background:#ffffff26;border:1px solid var(--line);border-radius:30px;padding:9px 14px}button:hover,select:hover{background:#ffffff8c}a:hover{color:#000}button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:3px solid #244a91;outline-offset:4px}.app-shell{position:relative;max-width:1680px;min-height:calc(100vh - 52px);margin:auto;background:radial-gradient(ellipse at 3% 4%,#e3dced,transparent 47%),radial-gradient(ellipse at 98% 25%,#dde6dc,transparent 43%),radial-gradient(ellipse at 36% 89%,#e8dfd2,transparent 40%),#e5e7e2;border:1px solid #ffffffb3;box-shadow:0 22px 75px #20261612}
header{display:flex;align-items:center;gap:16px;padding:22px 24px 16px;min-height:76px}.brand{display:flex;gap:9px;align-items:center;font-size:15px;letter-spacing:-.6px;font-weight:650;white-space:nowrap}.brandmark{font-size:34px;line-height:1;font-weight:400}.edition{font:10px ui-monospace,monospace;margin-left:3px;color:var(--muted)}.top-nav{display:flex;gap:5px;align-items:center;margin:auto;font-size:11px}.top-nav a{padding:9px 16px;border-radius:28px}.top-nav a.active{background:#10130f;color:#fff;box-shadow:0 2px 6px #0001}#refresh{font-size:11px;white-space:nowrap}.header-menu{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#111510;color:#fff}.header-menu:hover{color:var(--accent)}.header-menu svg{width:14px;fill:none;stroke:currentColor;stroke-width:1.5}.side-rail{position:absolute;left:13px;top:145px;bottom:80px;width:38px;display:flex;flex-direction:column;align-items:center;gap:13px}.side-rail a{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;color:#555d53}.side-rail a:hover{background:#ffffff70}.side-rail a.active{background:#111510;color:#fff}.side-rail svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.rail-year{margin-top:25px;writing-mode:vertical-rl;font:11px ui-monospace,monospace;color:#747c70;letter-spacing:2px}main{padding:0 24px 16px 64px}.status-line{display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:10px;color:var(--muted);padding:3px 5px 14px}.live{display:flex;align-items:center;gap:7px}#status-dot,.pulse-dot{width:6px;height:6px;background:#a36915;border-radius:50%;flex-shrink:0}#status-dot.good{background:#477327}.notice{border:1px solid #98773a66;background:#fff3cb;color:#644812;border-radius:16px;padding:13px 18px;margin-bottom:12px;font-size:12px}.notice:empty{display:none}
.overview{display:grid;grid-template-columns:minmax(240px,.87fr) minmax(0,2fr);gap:12px;margin-bottom:12px}.intro{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;padding:25px 25px 20px;border-radius:24px;background:linear-gradient(135deg,#e2e7d9b0 8%,#cee5e6a8 48%,#e3d6dfb3 97%);border:1px solid #ffffff60}.eyebrow{font-size:9px;letter-spacing:1.05px;font-weight:500;color:var(--muted)}h1{font-size:clamp(27px,2.3vw,40px);font-weight:500;letter-spacing:-1.5px;line-height:1.06;margin:18px 0 17px;position:relative;z-index:1}h1 span{font-weight:400}.intro p{font-size:11px;line-height:1.6;color:#404b40;margin:0 0 25px;position:relative;z-index:1}.explore-link{display:flex;align-items:center;gap:22px;margin-top:auto;font-size:11px;font-weight:500;position:relative;z-index:1}.explore-link span{width:30px;height:30px;background:#111510;color:var(--accent);border-radius:50%;display:grid;place-items:center;font-size:18px}.intro-orbit{position:absolute;bottom:-34px;right:-25px;width:140px;height:140px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 8px,#4a62572b 8.7px 9.3px,transparent 10px 15px);z-index:-1}.intro-orbit:before{content:"";position:absolute;width:48px;height:84px;bottom:35px;left:22px;background:var(--accent);border-radius:25px 25px 10px 10px;transform:rotate(32deg);z-index:-1}.totals{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}.panel,.count-card{background:var(--panel);border:1px solid #ffffff55;border-radius:24px;box-shadow:inset 0 0 0 1px #ffffff12}.count-card{display:flex;flex-direction:column;min-width:0;padding:25px 22px 20px}.count-top{display:flex;justify-content:space-between;align-items:center;gap:10px}h2{font-size:22px;letter-spacing:-.8px;font-weight:500;line-height:1.2;margin:5px 0 0}h3{font-size:20px;letter-spacing:-.6px;font-weight:500;margin:8px 0 20px}.tag{font-size:9px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:5px 9px;line-height:1.4;text-align:center}.numbers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 15px;margin:28px 0 20px;align-items:end}.number{min-width:0}.number b{display:block;font-size:clamp(62px,6.2vw,98px);letter-spacing:-4px;line-height:1.1;font-weight:500;font-variant-numeric:tabular-nums}.number small{font-size:9px;color:var(--muted);white-space:nowrap}.number.dem b{color:#2d5590}.number.rep b{color:#923f2b}.number.ind b{color:#654188}.number.pending{margin-left:0;align-self:end}.number.pending:nth-child(3){grid-column:1/-1;text-align:right}.number.pending b{color:#596054;font-size:52px;letter-spacing:-2.5px}.bar-wrap{position:relative;margin:8px 0 14px}.bar{display:flex;gap:2px;height:17px;border-radius:10px;overflow:hidden;background:var(--u)}.bar span{min-width:0}.dem-bg{background:var(--d)}.rep-bg{background:var(--r)}.ind-bg{background:var(--i)}.unknown-bg{background:repeating-linear-gradient(125deg,#c6ccc2 0 1px,transparent 1px 4px)}.threshold{position:absolute;top:-5px;bottom:-5px;width:1px;background:#3c4635}.threshold:before{content:"";position:absolute;top:-2px;left:-2px;width:5px;height:5px;background:#111510;border-radius:50%}.count-foot{font-size:9px;color:var(--muted);display:flex;justify-content:space-between;gap:12px}.count-note{font-size:10px;color:var(--muted);line-height:1.6;margin:22px 0 0}.freshness{font-size:9px;color:var(--muted);margin-top:auto;padding-top:13px}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:12px}.main-column,aside{display:flex;flex-direction:column;gap:12px;min-width:0}.panel{padding:24px}.panel-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.segmented{display:flex;background:#ffffff20;border:1px solid var(--line);border-radius:28px;padding:3px}.segmented button{border:0;border-radius:25px;padding:7px 15px;font-size:11px}.segmented button.active{background:#111510;color:#fff}.legend{display:flex;flex-wrap:wrap;gap:15px;margin:22px 0 10px;font-size:10px;color:var(--muted)}.legend>span{display:flex;align-items:center;gap:6px}.swatch{width:9px;height:9px;border:1px solid #0000001a;border-radius:3px;display:inline-block}.map-panel{background:linear-gradient(150deg,#ffffff50,#e1e9dc38)}#map{width:100%;max-width:900px;margin:5px auto}#map svg{width:100%;height:auto;display:block}.state{stroke:#e9ebe5;stroke-width:2;cursor:pointer;transition:opacity .12s;fill:var(--u)}.state:hover,.state.selected{stroke:#242c20;stroke-width:3}.state.selected{stroke-width:4}.state-label{fill:#192318;font-size:12px;font-weight:550;pointer-events:none;text-anchor:middle;dominant-baseline:middle}.map-bottom{display:flex;gap:14px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px}.map-bottom p{font-size:10px;color:var(--muted);max-width:60%;margin:0}.state-picker{font-size:10px;color:var(--muted)}select{display:block;background:#ffffff5c;font-size:11px;margin-top:5px;padding:8px 12px;max-width:180px}.state-detail{margin-top:20px}.state-detail:empty{display:none}.state-detail h3{margin:0 0 12px}.state-summary{font-size:12px;color:var(--muted);margin:0 0 14px}.race-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;max-height:480px;overflow:auto;padding:4px}.race{border:1px solid var(--line);border-radius:16px;padding:15px;font-size:11px;background:#ffffff30}.race-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;font-weight:600}.race-candidate{display:flex;justify-content:space-between;gap:10px;line-height:1.9}.race-candidate.win{font-weight:700;color:#203e16}.race-meta{font-size:10px;color:var(--muted);margin-top:7px}.muted{font-size:11px;color:var(--muted)}.filter-row{display:flex;flex-wrap:wrap;gap:5px;margin:19px 0 9px}.filter-row button{border:0;font-size:11px;padding:7px 14px;color:var(--muted)}.filter-row button.active{background:#111510;color:#fff}.call{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;border-top:1px solid var(--line);padding:16px 0;align-items:center}.call:hover .call-name{text-decoration:underline;text-underline-offset:3px}.call-badge{font-size:11px;font-weight:650;color:#264b80;background:#83a9dc38;border:1px solid #83a9dc55;border-radius:13px;text-align:center;padding:9px 3px}.call-badge.rep{color:#803622;background:#dc968637;border-color:#dc968655}.call-badge.ind{color:#61417c;background:#b5a0d535;border-color:#b5a0d555}.call-name{font-size:14px;font-weight:500;letter-spacing:-.2px}.call-meta{font-size:10px;color:var(--muted);margin-top:4px}.call-right{text-align:right;font-size:9px;color:var(--muted);max-width:110px}.call-right b{color:#2e4426;font-size:9px;letter-spacing:.7px;display:block;margin-bottom:4px;font-weight:500}.more{display:block;width:max-content;margin:14px auto 0;font-size:11px;background:#ffffff26}.more[hidden]{display:none}.empty{padding:24px 0;color:var(--muted);font-size:13px}
.update-card{position:relative;isolation:isolate;overflow:hidden;background:var(--accent);border-color:#dcff3f;min-height:230px;padding:22px}.update-card:after{content:"";position:absolute;right:-35px;bottom:-30px;width:180px;height:180px;z-index:-1;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 14px,#4c650514 15px 16px,transparent 17px 23px)}.update-card .panel-head{font-size:11px}.update-card .panel-head a{display:grid;place-items:center;border:1px solid #62770038;border-radius:50%;width:27px;height:27px}.update-frequency{font-size:64px;line-height:1;letter-spacing:-4px;margin:28px 0 13px;font-weight:400}.update-frequency span{font-size:24px;letter-spacing:-1px}.update-card p{font-size:12px;line-height:1.6;margin:0}.update-footer{display:flex;align-items:center;gap:7px;border-top:1px solid #35490029;margin-top:25px;padding-top:12px;font-size:9px}.pulse-dot{background:#263d0e}.news-symbol{display:grid;place-items:center;font-size:19px;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;flex-shrink:0}.news-item{display:block;padding:18px 0;border-bottom:1px solid var(--line)}.news-item:first-child{padding-top:8px}.news-meta{font-size:9px;color:var(--muted);display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;margin-bottom:8px}.news-title{font-size:15px;font-weight:500;line-height:1.4;letter-spacing:-.3px}.news-item:hover .news-title{text-decoration:underline;text-underline-offset:3px}.news-title>span{font-size:12px}.source-button{display:block;font-size:11px;border:1px solid var(--line);padding:10px 14px;border-radius:25px;margin-top:12px}.source-button:hover{background:#ffffff55}.guide{position:relative;overflow:hidden;background:#121610;color:#f4f5ee;border-color:#121610}.guide:after{content:"";position:absolute;right:-80px;bottom:-80px;width:190px;height:190px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 13px,#d0ff0012 14px 15px,transparent 16px 21px);pointer-events:none}.guide .eyebrow{color:#b7c1af}.guide h3{color:var(--accent);font-size:22px}.guide p{font-size:11px;color:#c2c9bc;line-height:1.7;position:relative;z-index:1}.guide b{color:#f3f4ec;font-size:12px;font-weight:500}.sources{margin-top:12px}.sources p{color:var(--muted);font-size:12px;max-width:1100px}.feed-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}.feed{background:#ffffff27;border:1px solid var(--line);padding:15px;border-radius:16px;font-size:10px;color:var(--muted);overflow-wrap:anywhere}.feed b{display:block;color:var(--text);font-weight:500;margin-bottom:9px;font-size:12px}.feed .ok{color:#355821}.feed .bad{color:#874d10}.feed time{display:block;margin-top:4px}.feed a{display:inline-block;font-size:10px;text-decoration:underline;text-underline-offset:3px;margin-top:8px}details{border-top:1px solid var(--line);padding-top:15px;font-size:12px}summary{cursor:pointer;color:var(--text)}.flag{color:#874d10}.disclaimer{margin-top:25px;padding:20px 4px 0;border-top:1px solid var(--line);color:var(--muted)}.disclaimer h2{font-size:12px;letter-spacing:0;margin:0 0 9px}.disclaimer p{font-size:10px;line-height:1.7;max-width:1100px}.legal-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:15px 4px 8px;font-size:10px;color:var(--muted)}.footer-credit{position:relative;display:flex;align-items:center;justify-content:flex-start;flex:0 0 138px;width:138px;height:44px;margin:-12px 0 -12px auto}.footer-credit-text{position:absolute;left:24px;width:max-content;font:10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap;visibility:hidden;clip-path:inset(0 100% 0 0);pointer-events:none}.footer-credit:is(:hover,:focus) .footer-credit-text{visibility:visible;clip-path:inset(0);animation:footer-typewriter .75s steps(19,end) both}.footer-mark{flex:0 0 auto;width:15.64px;height:10px;background:currentColor;mask:url(assets/internauts-mark.svg) center/contain no-repeat;-webkit-mask:url(assets/internauts-mark.svg) center/contain no-repeat}@keyframes footer-typewriter{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.skip-link{position:absolute;left:20px;top:-100px;background:#111510;color:#fff;padding:12px;z-index:10;border-radius:20px}.skip-link:focus{top:10px}
@media(min-width:1500px){body{padding:38px}.workspace{grid-template-columns:minmax(0,1fr) 330px}.overview{grid-template-columns:minmax(280px,.9fr) minmax(0,2fr)}.intro,.count-card{padding:30px}.numbers{gap:24px}.number small{font-size:10px}.number.pending b{font-size:68px}.news-title{font-size:17px}.panel{padding:28px}}
@media(max-width:1200px){body{padding:16px}header{gap:10px;padding:18px}.brand{font-size:13px}.top-nav a{padding:8px 11px}.overview{grid-template-columns:1fr}.intro{min-height:185px;padding:23px 26px}.intro h1{font-size:33px;margin:14px 0}.intro h1 br{display:none}.intro h1 span{display:block}.intro p{margin:0}.explore-link{position:absolute;right:26px;bottom:24px}.intro-orbit{right:80px;width:180px;height:180px;bottom:-45px}.count-card{padding:23px 25px}.numbers{margin:22px 0 12px;gap:25px}.number b{font-size:86px}.number.pending b{font-size:60px}.count-note{margin-top:15px}.workspace{grid-template-columns:minmax(0,1fr) 270px}.feed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){body{padding:10px}.brand .edition{display:none}.top-nav{gap:0}.top-nav a{padding:8px 10px;font-size:10px}.workspace{grid-template-columns:1fr}aside{display:grid;grid-template-columns:1fr 1fr;align-items:start}.update-card{grid-column:1;grid-row:1}.guide{grid-column:2;grid-row:1}.news-panel{grid-column:1/-1;grid-row:2}.news-panel #news{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.count-card{padding:21px}.numbers{gap:18px}.number b{font-size:78px}.number.pending b{font-size:56px}}
@media(max-width:680px){body{padding:0}.app-shell{border:0;box-shadow:none;min-height:100vh}header{flex-wrap:wrap;gap:10px;padding:18px 18px 10px}.brand{font-size:14px}.brandmark{font-size:29px}.top-nav{order:4;justify-content:space-between;width:100%;margin:7px 0 0;border-top:1px solid var(--line);padding-top:12px}.top-nav a{font-size:11px;padding:8px 13px}#refresh{margin-left:auto;font-size:10px;padding:8px 12px}.header-menu{width:30px;height:30px}.side-rail{display:none}main{padding:0 14px 14px}.status-line{flex-wrap:wrap;font-size:9px;gap:5px;padding:7px 5px 15px}.status-line #checked{margin-left:auto}.intro{padding:24px;min-height:230px;border-radius:22px}.intro h1{font-size:32px;max-width:280px;line-height:1.09}.intro p{font-size:11px;max-width:210px}.explore-link{position:static;margin-top:20px}.intro-orbit{right:-20px;bottom:-30px}.overview,.totals,.workspace{gap:10px}.totals{grid-template-columns:1fr}.count-card{padding:23px 24px}.numbers{gap:23px;margin-top:25px}.number b{font-size:90px}.number.pending b{font-size:60px}.number small{font-size:10px}.count-note{font-size:10px}.count-foot{font-size:10px}.panel{padding:21px;border-radius:22px}.panel-head{gap:10px}h2{font-size:21px}.map-panel{padding:20px 15px}.legend{gap:10px;font-size:9px;margin-top:20px}.segmented button{padding:7px 11px;font-size:10px}.map-bottom{display:block}.map-bottom p{max-width:none}.state-picker{display:flex;gap:9px;align-items:center;margin-top:12px}.state-picker select{display:inline-block;margin:0;max-width:210px}.state-label{font-size:14px}.call{grid-template-columns:38px minmax(0,1fr) 72px;gap:10px}.call-name{font-size:13px}.call-meta,.call-right{font-size:9px}.call-right b{font-size:8px}.call-badge{border-radius:11px;font-size:10px}.filter-row{gap:3px}.filter-row button{padding:7px 12px}aside{display:flex}.update-card{min-height:220px}.update-frequency{font-size:68px;margin-top:21px}.news-panel #news{display:block}.news-title{font-size:16px}.guide{display:block}.feed-grid{grid-template-columns:1fr;gap:9px}.feed{font-size:11px}.sources .panel-head{align-items:start}.sources p{font-size:11px}.tag{font-size:9px}.legal-footer{gap:8px;font-size:9px}.footer-credit{flex-basis:134px;width:134px}.disclaimer p{font-size:10px}}
@media(max-width:360px){.numbers{gap:18px}.number b{font-size:78px}.number small{font-size:9px}.count-card{padding:21px}.status-line #checked{margin-left:0}.top-nav a{padding:8px 10px}.brand{font-size:13px}.header-menu{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.footer-credit:is(:hover,:focus) .footer-credit-text{animation:none}}
/* Keep the primary counts and map together in the first desktop viewport. */
@media(min-width:1100px){
 main{display:grid;grid-template-columns:minmax(350px,.94fr) minmax(0,1.8fr);grid-template-areas:"status status" "notice notice" "overview map" "calls news" "sources sources" "disclaimer disclaimer" "footer footer";gap:12px}
 .status-line{grid-area:status;padding-bottom:2px}.notice{grid-area:notice;margin:0}.notice:empty{display:none}
 .overview{grid-area:overview;display:flex;flex-direction:column;gap:10px;margin:0}.intro{padding:14px 18px;min-height:0;border-radius:20px}.intro h1{font-size:26px;line-height:1.05;margin:8px 0 0;letter-spacing:-1px}.intro h1 br{display:none}.intro h1 span{display:block}.intro .eyebrow{font-size:8px}.intro p,.intro .explore-link,.intro-orbit{display:none}
 .totals{display:flex;flex-direction:column;gap:10px}.count-card{padding:14px 18px;border-radius:20px}.count-top h2{font-size:20px}.numbers{display:flex;gap:12px;margin:10px 0 8px;align-items:end}.number b{font-size:80px;line-height:.9;letter-spacing:-4px}.number small{font-size:9px;display:block;margin-top:6px}.number.pending{margin-left:auto;text-align:left}.number.pending b{font-size:52px;letter-spacing:-3px}.bar-wrap{margin:8px 0}.bar{height:9px}.threshold{top:-3px;bottom:-3px}.count-foot{font-size:9px;line-height:1.2}.count-note{font-size:9px;line-height:1.3;margin:8px 0 0}.freshness{font-size:8px;line-height:1.3;padding-top:6px;margin:0}
 .workspace,.main-column{display:contents}.map-panel{grid-area:map;align-self:start;padding:22px}#map{margin:5px auto 10px}#map svg{height:clamp(280px,42vh,430px);width:100%}.map-panel .legend{margin:16px 0 8px}.map-bottom p{font-size:10px}
 .calls-panel{grid-area:calls;align-self:start}aside{grid-area:news;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.65fr);align-items:start;gap:12px}.news-panel{grid-column:1;grid-row:1/3}.update-card{grid-column:2;grid-row:1}.guide{grid-column:2;grid-row:2}.sources{grid-area:sources;margin-top:0}.disclaimer{grid-area:disclaimer;margin-top:10px}.legal-footer{grid-area:footer}
}
@media(min-width:1500px){main{grid-template-columns:minmax(410px,1fr) minmax(0,2fr)}.number b{font-size:96px}.number.pending b{font-size:64px}.count-card{padding:16px 22px}}
@media(min-width:1100px){body{padding:18px}header{padding:16px 24px 12px;min-height:64px}main:has(.notice:empty){grid-template-areas:"status status" "overview map" "calls news" "sources sources" "disclaimer disclaimer" "footer footer"}.intro{padding:10px 18px}.intro h1{font-size:24px;margin-top:6px}.count-card{padding-top:12px;padding-bottom:12px}}
@media(min-width:1100px) and (max-height:800px){header{min-height:58px;padding-top:12px;padding-bottom:10px}.intro{padding:8px 18px}.intro .eyebrow{display:none}.intro h1{font-size:22px;margin:0}.count-card{padding-top:10px;padding-bottom:10px}}
/* The news list spans both rows; keep the first support row at its content height. */
@media(min-width:1100px){aside{grid-template-rows:max-content 1fr}}
