:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1116;--panel:#111b22;--border:#25323b;--muted:#97a8b5;--accent:#64e1be}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 70% 0,#142c30 0,transparent 45%),var(--bg);color:#edf3f6;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:14px}main{max-width:1480px;margin:auto;padding:0 48px}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.masthead{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:88px;display:flex}.brand{letter-spacing:2px;align-items:center;gap:8px;font-size:12px;display:flex}.brand-mark{background:var(--accent);color:#10251e;border-radius:8px;margin-right:6px;padding:4px 9px;font-size:26px}.brand b{color:var(--muted);font-weight:400}.edition{letter-spacing:2px;color:var(--muted);font-size:10px}.heading{justify-content:space-between;align-items:center;gap:20px;padding:44px 0 32px;display:flex}.eyebrow{letter-spacing:1.8px;color:var(--accent);font-size:10px;font-weight:700;line-height:1.8}.dot{background:var(--accent);border-radius:100%;width:6px;height:6px;margin-right:6px;display:inline-block;box-shadow:0 0 10px #64e1be55}h1{letter-spacing:-1.3px;margin:12px 0;font-size:clamp(26px,2.7vw,40px)}h1 span{color:var(--muted);font-weight:400}.heading p{color:var(--muted);margin:0}.scope{border:1px solid var(--border);color:var(--accent);white-space:nowrap;border-radius:8px;padding:12px 16px;font-weight:700}.scope span{color:#c2cdd5;margin-left:10px;font-size:12px;font-weight:400}.toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.tabs{border:1px solid var(--border);border-radius:8px;gap:4px;padding:4px;display:flex}button{color:var(--muted);background:0 0;border:0;border-radius:5px;padding:10px 14px}.tabs .selected{color:#fff;background:#24343b}.controls{align-items:center;gap:16px;display:flex}.controls label{color:var(--muted);font-size:12px}select{background:var(--panel);color:#fff;border:1px solid var(--border);border-radius:5px;margin-left:6px;padding:8px}.refresh{background:var(--accent);color:#0a2921;font-weight:700}.stats{grid-template-columns:1.35fr repeat(4,1fr);gap:12px;margin-bottom:32px;display:grid}.stats article{background:var(--panel);border:1px solid var(--border);border-radius:10px;min-width:0;padding:22px 18px}.card-label{letter-spacing:1.2px;color:var(--muted);justify-content:space-between;gap:4px;font-size:10px;display:flex}.card-label span{letter-spacing:0;color:var(--accent)}.stats strong{letter-spacing:-1px;margin:18px 0 12px;font-size:clamp(20px,2vw,30px);display:block}.stats p{color:var(--muted);margin:0;font-size:10px;line-height:1.6}.stats .progress-card{background:linear-gradient(115deg,#193730,#14262a);border-color:#31594c}.progress-card strong{color:var(--accent)}small{font-size:12px}.track,.vote-bar{background:#24323b;border-radius:6px;height:5px;overflow:hidden}.track{margin-bottom:10px}.track div,.vote-bar div{background:var(--accent);border-radius:6px;height:100%;transition:width .5s}.content{grid-template-columns:minmax(0,1fr) 290px;gap:28px;display:grid}.ranking{border:1px solid var(--border);background:#101920;border-radius:12px;overflow:hidden}.section-heading{justify-content:space-between;align-items:center;padding:26px;display:flex}.section-heading>span{color:var(--muted);font-size:12px}h2{letter-spacing:-.6px;margin:6px 0 0;font-size:23px}.list-label{color:var(--muted);letter-spacing:1.2px;background:#0d151b;justify-content:space-between;padding:14px 26px;font-size:9px;display:flex}.candidate{border-top:1px solid #213039;align-items:center;gap:16px;padding:24px;display:flex}.candidate.leader{background:linear-gradient(90deg,#18312c66,#0000)}.candidate.leader:nth-of-type(2){background:linear-gradient(90deg,#25315266,#0000)}.rank{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.portrait{width:52px;height:58px;color:var(--muted);background:#28383f;border-radius:10px;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.portrait img{object-fit:cover;width:100%;height:100%}.candidate-main{flex:1;min-width:0}.candidate-top{justify-content:space-between;align-items:center;gap:12px;display:flex}h3{margin:0 0 7px;font-size:15px;font-weight:600}.party{color:var(--muted);font-size:11px}.party b{padding:0 5px}.party em{letter-spacing:.6px;color:var(--accent);background:#64e1be12;border-radius:4px;margin-left:10px;padding:4px 6px;font-size:8px;font-style:normal}.vote-percent{letter-spacing:-.8px;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.vote-percent small{color:var(--muted);letter-spacing:0;margin-top:4px;font-size:11px;font-weight:400;display:block}.vote-bar{margin-top:14px}.candidate:nth-of-type(2) .vote-bar div{background:#8fa6ff}.candidate:not(.leader) .vote-bar div{background:#76939f}.movement{color:var(--muted);flex-wrap:wrap;gap:12px;margin-top:9px;font-size:10px;display:flex}.source-card,.evolution{border:1px solid var(--border);background:var(--panel);border-radius:12px;margin-bottom:18px;padding:25px}.source-card h2,.evolution h2{font-size:21px}.source-card p,.evolution p{color:var(--muted);font-size:12px;line-height:1.7}.source-card dl{margin:24px 0}dt{color:var(--muted);margin-top:18px;font-size:10px}dd{font-variant-numeric:tabular-nums;margin:7px 0;font-size:12px}.healthy{color:var(--accent)}.warning{color:#f6c886}.source-card a{border-top:1px solid var(--border);color:var(--accent);padding-top:18px;font-size:12px;display:block}.footnote{color:var(--muted);margin:22px 0;padding:0 24px;line-height:1.7;font-size:11px!important}.content+.footnote{padding:0}svg{width:100%;margin-top:20px}svg text{fill:var(--muted);font-size:9px}.evolution small{color:var(--muted);font-size:10px}footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;gap:20px;margin-top:32px;padding:25px 0 30px;font-size:10px;line-height:1.8;display:flex}footer b{color:var(--accent);padding:0 10px}.notice{color:#ffe4b3;background:#45371e;border:1px solid #82663a;border-radius:8px;margin-bottom:22px;padding:18px;line-height:1.6}.notice.demo{color:#e3d1ff;background:#332b4a;border-color:#615076}.empty{border:1px solid var(--border);text-align:center;border-radius:12px;padding:60px 24px}.empty p{color:var(--muted)}.skeleton{gap:20px;display:grid}.skeleton div{background:linear-gradient(100deg,#142129,#20323c,#142129) 0 0/200%;border-radius:12px;height:130px;animation:2s infinite shimmer}@keyframes shimmer{to{background-position:-200%}}@media (max-width:1150px){main{padding:0 24px}.stats{grid-template-columns:repeat(4,1fr)}.stats .progress-card{grid-column:1/-1}.content{grid-template-columns:minmax(0,1fr) 260px}.scope{display:none}.candidate{gap:10px;padding:20px 16px}.party em{display:none}}@media (max-width:780px){main{padding:0 16px}.masthead{height:70px}.brand{letter-spacing:1px;font-size:10px}.edition{display:none}.heading{padding:30px 0}h1{line-height:1.2}h1 span{margin-top:6px;display:block}.toolbar{flex-direction:column;align-items:stretch}.controls{justify-content:space-between;gap:8px}.stats{grid-template-columns:1fr 1fr;gap:8px}.stats article{padding:18px 14px}.content{grid-template-columns:1fr}.candidate{gap:8px;padding:20px 12px}.portrait{width:38px;height:46px}.rank{font-size:11px}h3{font-size:12px}.vote-percent{font-size:22px}.candidate-top{gap:5px}.vote-percent small{font-size:9px}.section-heading{padding:20px 16px}h2{font-size:21px}.list-label{padding:14px 16px;font-size:8px}footer{flex-direction:column;gap:8px}.movement{font-size:9px}aside{grid-template-columns:1fr;display:grid}.eyebrow{font-size:9px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.live-status{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px;margin:0 0 16px;font-size:11px;line-height:1.6;display:flex}.state-section{border:1px solid var(--border);background:#101920;border-radius:12px;margin-bottom:30px;overflow:hidden}.state-picker{color:var(--muted);font-size:11px}.state-picker select{max-width:210px}.state-layout{border-top:1px solid var(--border);grid-template-columns:minmax(0,1.2fr) minmax(310px,1fr);display:grid}.map-canvas{background:radial-gradient(#17312c55,#0000 70%);padding:22px;position:relative}.map-instructions{color:var(--muted);margin:0;font-size:12px}.brazil-map{width:100%;max-height:510px;margin:8px auto;display:block}.state-shape{fill:#25423e;stroke:#0d1e22;stroke-width:1.4px;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .16s}.state-shape:hover,.state-shape:focus-visible,.state-shape.active{fill:#64e1be;stroke:#d2fff0;stroke-width:2px;outline:none}.map-label{fill:#e5f2ed;pointer-events:none;text-anchor:middle;paint-order:stroke;stroke:#193730;stroke-width:2px;font-size:10px;font-weight:700}.map-label.df-label{pointer-events:auto;cursor:pointer;font-size:12px}.map-legend{color:var(--muted);justify-content:space-between;gap:12px;font-size:10px;display:flex}.map-legend span:first-child{color:var(--accent)}.map-credit{color:var(--muted);margin:16px 0 0;font-size:10px}.map-credit a{color:var(--accent)}.state-details{border-left:1px solid var(--border);background:#142129;min-height:430px;padding:24px}.state-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:300px;min-height:420px;margin:auto;display:flex}.state-empty>span{color:var(--accent);margin-bottom:20px;font-size:50px}.state-empty h3{font-size:20px;line-height:1.4}.state-empty p,.state-empty small{color:var(--muted);line-height:1.8}.state-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.state-title h3{margin-top:8px;font-size:24px}.state-title h3 span{color:var(--muted);margin-left:6px;font-size:12px}.state-title button{font-size:24px}.unpin{color:var(--accent);margin:3px 0 16px;padding:0;font-size:10px}.state-progress{grid-template-columns:1fr auto;align-items:center;gap:10px;margin:18px 0;display:grid}.state-progress>span{color:var(--muted);font-size:12px}.state-progress strong{color:var(--accent);font-size:26px}.state-progress .track,.state-progress small{grid-column:1/-1;margin:0}.state-progress small{color:var(--muted);font-size:10px}.state-totals{border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:8px;padding:15px 0;display:grid}.state-totals span{color:var(--muted);font-size:9px}.state-totals b{color:#eef6f8;font-variant-numeric:tabular-nums;margin-top:5px;font-size:12px;display:block}.state-votes{scrollbar-width:thin;max-height:250px;padding-right:6px;overflow:auto}.state-votes:focus-visible{outline:1px solid var(--accent)}.state-candidate{border-top:1px solid var(--border);align-items:center;gap:10px;padding:13px 0;display:flex}.state-place{color:var(--muted);font-size:11px}.state-candidate>div{flex:1;min-width:0}.state-candidate strong{font-size:11px;line-height:1.4;display:block}.state-candidate small{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.6;display:block}.state-candidate>b{white-space:nowrap;font-size:16px}.state-candidate:first-child>b{color:var(--accent)}.state-time{color:var(--muted);margin:14px 0 8px;font-size:10px;line-height:1.8}.state-source{color:var(--accent);font-size:11px}.state-refresh{border:1px solid var(--border);margin-top:14px;font-size:11px;display:block}.state-error{color:#ffe4b3;background:#45371e;border-radius:6px;padding:12px;font-size:12px;line-height:1.5}.state-loading{color:var(--muted);padding:35px 0;line-height:1.8}@media (max-width:780px){.state-section .section-heading{flex-direction:column;align-items:stretch;gap:14px}.state-picker{justify-content:space-between;align-items:center;display:flex}.state-layout{grid-template-columns:1fr}.map-canvas{padding:16px}.state-details{border-left:0;border-top:1px solid var(--border);min-height:0;padding:20px}.state-empty{min-height:180px}.state-empty>span{display:none}.state-votes{max-height:300px}.state-section .footnote{margin:15px}.map-instructions{font-size:11px}.map-legend{font-size:9px}}
