:root{color-scheme:dark;--bg:#0b121c;--panel:#121c29;--panel-soft:#152131;--line:#253244;--text:#edf2f7;--muted:#9cabbc;--faint:#728397;--accent:#a9e875;--cyan:#72d7de;--orange:#f4aa78;--red:#f99494;--radius:18px;--font:'Avenir Next',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--heading:'Avenir Next',var(--font)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}button,input,select{color:inherit}button{border:0}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h2{font-family:var(--heading);font-weight:750;letter-spacing:-.7px;font-size:25px;line-height:1.3}h3{font-size:18px;font-family:var(--heading);letter-spacing:-.3px}strong{font-weight:650}button{transition:background .15s,border-color .15s,opacity .15s}::selection{background:#35523a;color:white}[hidden]{display:none!important}.skip-link{position:absolute;left:20px;top:-70px;padding:12px;background:var(--accent);color:#102017;z-index:20}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{height:91px;border-bottom:1px solid var(--line);background:#0d1520}.header-inner{max-width:1352px;padding:0 40px;margin:auto;height:100%;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:12px;color:#f2f6fb;font-family:var(--heading);font-size:21px;font-weight:800;line-height:1.1;letter-spacing:-.7px}.brand:hover{text-decoration:none}.brand-light{font-weight:500}.brand small{display:block;font-family:var(--font);font-size:8px;font-weight:600;letter-spacing:2.1px;margin-top:7px;color:var(--muted)}.brand-mark{display:flex;gap:3px;height:28px;align-items:flex-end;transform:skewY(-12deg)}.brand-mark i{display:block;width:7px;background:var(--accent);border-radius:2px}.brand-mark i:nth-child(1){height:14px}.brand-mark i:nth-child(2){height:21px}.brand-mark i:nth-child(3){height:28px}.header-badges{display:flex;gap:10px;align-items:center}.edition-badge{font-family:var(--heading);font-size:16px;font-weight:750;letter-spacing:1px;display:flex;gap:10px;align-items:center}.edition-badge span{font:600 9px var(--font);letter-spacing:1.5px;color:var(--muted);border-left:1px solid var(--line);padding-left:10px}.beta-badge{font-size:9px;color:var(--accent);border:1px solid #46583c;background:#1c2a21;letter-spacing:1.3px;border-radius:4px;padding:3px 6px}.header-method{margin-left:auto;font-size:12px;color:var(--muted)}.header-method span{color:var(--accent);margin-left:12px}.page-shell{max-width:1352px;padding:0 40px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;padding:47px 0 30px;gap:28px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:650;color:var(--muted);display:flex;align-items:center;gap:9px;margin-bottom:11px}.eyebrow-line{width:24px;height:2px;background:var(--accent)}h1{font-family:var(--heading);font-size:54px;font-weight:800;letter-spacing:-2.8px;line-height:1.15;margin-bottom:15px}h1 em{font-style:normal;color:var(--accent)}.intro-copy{font-size:14px;line-height:1.65;color:var(--muted)}.sync-box{padding:17px 20px;border:1px solid var(--line);border-radius:12px;min-width:290px;background:#101a26}.sync-status{display:flex;gap:9px;align-items:center;font-size:12px}.status-dot{display:inline-block;flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--faint);box-shadow:0 0 0 4px #72839715}.status-dot.replay{background:var(--cyan);box-shadow:0 0 0 4px #72d7de12}.status-dot.live{background:var(--accent);box-shadow:0 0 0 4px #a9e87512}.status-dot.warning{background:var(--orange);box-shadow:0 0 0 4px #f4aa7812}.status-dot.error{background:var(--red);box-shadow:0 0 0 4px #f9949412}.sync-detail{margin:8px 0 12px;color:var(--muted);font-size:11px;line-height:1.7}.sync-actions{border-top:1px solid var(--line);padding-top:10px;display:flex;gap:15px;align-items:center;justify-content:space-between;font-size:9px;color:var(--faint)}.icon-button{background:none;display:flex;gap:6px;align-items:center;font-size:10px;color:var(--cyan);padding:3px 0}.icon-button svg{height:13px;width:13px}.icon-button.loading svg{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.notice{display:flex;align-items:flex-start;gap:12px;padding:15px 18px;border:1px solid #2d444d;background:#14242c;border-radius:10px;color:#bdcfd6;line-height:1.6;font-size:12px}.notice strong{color:#e7f3f6}.notice-icon{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border:1px solid #789da8;color:var(--cyan);font-size:11px;flex-shrink:0;border-radius:50%;margin-top:1px}.error-banner{margin-top:12px;padding:14px 18px;border-radius:10px;background:#362129;border:1px solid #60323c;color:#ffbaba;font-size:12px}.tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);margin-top:24px;margin-bottom:24px}.tab{padding:16px 0;background:none;color:var(--muted);font-size:12px;font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px;display:flex;align-items:center;gap:8px;white-space:nowrap}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-count{color:var(--muted);font-size:10px;background:#243142;border-radius:4px;padding:0 5px}.filter-region{border:1px solid var(--line);border-radius:12px;background:#101a26;margin-bottom:34px}.filter-form{padding:18px 20px;display:flex;align-items:flex-end;gap:12px}.filter-heading{min-width:120px;display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);align-self:center}.filter-heading svg{color:var(--accent);width:17px}.filter-field{display:flex;flex-direction:column;gap:6px;min-width:0}.filter-field label{font-size:9px;letter-spacing:.2px;color:var(--muted)}input,select{background:#0c1520;border:1px solid #2d3a4c;border-radius:7px;min-height:37px;font-size:11px;width:100%;padding:9px 11px}input::placeholder{color:#738297}select{padding-right:23px}.uf-field{flex:1.1}.municipality-field{flex:1.5}.small-field{width:64px}.button{min-height:37px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:9px 16px;border-radius:7px;font-size:11px;font-weight:650;white-space:nowrap}.button-primary{background:var(--accent);color:#15261a}.button-primary:hover{background:#bef28f}.button-primary span{font-size:15px;line-height:1}.button-secondary{background:#182433;border:1px solid #324156;color:#d2dce7}.button-secondary:hover:not(:disabled){background:#223247}.button svg{width:15px;height:15px}.reset-button{font-size:10px;color:var(--muted);background:transparent;height:37px;padding:0 4px}.reset-button:hover{color:var(--text)}.scope-line{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;padding:9px 20px;color:var(--faint);font-size:9px}.scope-line span:first-child{color:var(--cyan)}.filter-feedback{padding:0 20px 12px;color:var(--orange);font-size:11px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:19px}.section-heading .eyebrow{margin-bottom:7px}.data-chip{color:var(--faint);font-size:8px;font-weight:650;letter-spacing:1.4px;border:1px solid var(--line);border-radius:5px;padding:7px 9px;white-space:nowrap}.ballot-status-notice{margin:-3px 0 14px;font-size:11px;color:#e7b889;display:flex;align-items:center;gap:8px}.ballot-status-notice:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--orange);flex-shrink:0}.scoreboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.candidate-card{position:relative;overflow:hidden;min-height:216px;padding:25px 28px 24px;background:linear-gradient(135deg,#182b2c 0%,#14212a 55%,#121c29 100%);border:1px solid #334940;border-radius:var(--radius);--candidate:var(--accent)}.candidate-card.orange{background:linear-gradient(135deg,#2a2427 0%,#1c202b 55%,#121c29 100%);border-color:#4d3c35;--candidate:var(--orange)}.candidate-card:after{position:absolute;top:-75px;right:-80px;content:'';height:230px;width:230px;border:1px solid #ffffff06;border-radius:50%;box-shadow:0 0 0 32px #ffffff02,0 0 0 64px #ffffff02;pointer-events:none}.candidate-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.candidate-identity{display:flex;gap:11px;align-items:center}.candidate-number{width:37px;height:37px;display:flex;align-items:center;justify-content:center;color:var(--candidate);font-family:var(--heading);font-size:16px;font-weight:750;border:1px solid color-mix(in srgb,var(--candidate),transparent 65%);background:color-mix(in srgb,var(--candidate),transparent 94%);border-radius:10px}.candidate-name{font-size:16px;font-family:var(--heading);font-weight:700;letter-spacing:-.4px}.candidate-party{font-size:9px;letter-spacing:1px;color:var(--muted);margin-top:1px}.rank-label{font-size:8px;color:var(--candidate);border:1px solid color-mix(in srgb,var(--candidate),transparent 68%);border-radius:4px;padding:3px 6px;letter-spacing:.6px}.candidate-values{display:flex;align-items:baseline;gap:16px;margin-top:20px;position:relative;z-index:1}.candidate-share{font-family:var(--heading);font-size:49px;letter-spacing:-2.2px;font-weight:750;line-height:1.15}.candidate-share small{font-size:25px;letter-spacing:-1px;margin-left:2px}.candidate-votes{color:var(--muted);font-size:12px}.candidate-votes strong{color:var(--text);font-weight:500}.candidate-bar{height:5px;background:#ffffff09;border-radius:10px;margin-top:19px;overflow:hidden;position:relative;z-index:1}.candidate-bar span{display:block;height:100%;background:var(--candidate);border-radius:10px;transition:width .3s}.candidate-bottom{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:9px}.candidate-bottom b{color:var(--candidate);font-weight:500}.score-caption{color:var(--faint);font-size:9px;margin-top:12px;display:flex;justify-content:space-between;gap:16px;line-height:1.7}.score-caption strong{color:var(--muted);font-weight:500}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:23px 0 30px}.metric-card{background:#101a26;border:1px solid var(--line);border-radius:11px;padding:17px 20px;min-height:113px}.metric-label{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px}.metric-label svg{height:14px;width:14px;color:var(--faint)}.metric-value{font-family:var(--heading);font-size:29px;font-weight:750;letter-spacing:-1px;line-height:1.3;margin-top:6px}.metric-value.small{font-size:22px;margin-top:10px}.metric-note{font-size:9px;color:var(--faint);margin-top:4px}.metric-note .accent{color:var(--accent)}.analysis-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:20px;margin-bottom:28px}.panel{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:25px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:10px}.panel-heading h2{font-size:21px}.panel-heading .eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:7px}.mini-label{font-size:8px;letter-spacing:1px;color:var(--faint);white-space:nowrap}.panel-description{font-size:11px;color:var(--muted);line-height:1.7}.panel-description strong{color:#c7d4e3;font-weight:500}.comparison-content{margin-top:23px;min-height:191px}.comparison-row+.comparison-row{margin-top:22px}.comparison-label{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px;font-size:11px;font-weight:600}.delta{color:var(--accent);font-weight:650;font-size:12px}.delta.negative{color:var(--orange)}.delta.neutral{color:var(--muted)}.comparison-bar-row{display:flex;align-items:center;gap:8px;margin-top:6px}.round-label{color:var(--faint);font-size:8px;width:16px}.comparison-track{height:7px;flex:1;background:#253142;border-radius:2px;overflow:hidden}.comparison-fill{height:100%;width:0;background:var(--candidate,var(--accent));border-radius:2px}.comparison-fill.first{opacity:.38}.bar-value{min-width:43px;text-align:right;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.bar-value.second{color:var(--text)}.comparison-meta{display:flex;gap:8px;justify-content:space-between;padding-top:19px;margin-top:21px;border-top:1px solid var(--line);font-size:9px;color:var(--faint);line-height:1.7}.comparison-meta strong{color:var(--muted);font-weight:500}.panel-footnote{border-top:1px solid var(--line);padding-top:16px;margin-top:19px;display:flex;gap:7px;font-size:8px;color:var(--faint);align-items:center;flex-wrap:wrap}.panel-footnote>span:last-child{flex-basis:100%;margin-top:3px}.legend-square{height:6px;width:6px;display:inline-block;background:var(--muted);border-radius:1px}.legend-square.first{opacity:.4}.legend-square.second{margin-left:8px}.outline-icon{border:1px solid var(--line);border-radius:10px;width:35px;height:35px;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--faint)}.trend-state{display:inline-flex;gap:6px;align-items:center;background:#2d2925;border:1px solid #4b3c32;color:#e1b591;border-radius:5px;font-size:8px;letter-spacing:.5px;padding:5px 8px;margin-top:10px}.trend-state:before{content:'';width:4px;height:4px;background:var(--orange);border-radius:50%}.trend-title{font-size:21px;line-height:1.4;font-family:var(--heading);letter-spacing:-.6px;margin-top:16px;max-width:300px}.trend-description{color:var(--muted);font-size:11px;line-height:1.8;margin-top:12px}.coverage-track{display:flex;gap:4px;height:20px;margin-top:22px}.coverage-track i{display:block;flex:1;background:#293647;border-radius:3px}.coverage-track i.on{background:#66886b}.trend-coverage-caption{display:flex;justify-content:space-between;color:var(--faint);font-size:8px;margin-top:7px}.trend-footnote{font-size:9px;line-height:1.7;color:var(--faint);border-top:1px solid var(--line);padding-top:15px;margin-top:22px}.trend-footnote a{color:var(--cyan)}.trend-result{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.trend-result b{font-family:var(--heading);font-size:24px}.geography-panel{margin-bottom:10px}.segmented{display:flex;gap:3px;background:#0c1520;border:1px solid #283649;border-radius:7px;padding:3px}.segmented button{font-size:9px;color:var(--muted);padding:7px 10px;border-radius:4px;background:none;white-space:nowrap}.segmented button.active{background:#2a384a;color:var(--text)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:11px}th{font-size:8px;letter-spacing:.9px;text-transform:uppercase;color:var(--faint);font-weight:500;white-space:nowrap;padding:13px 12px;border-bottom:1px solid var(--line)}td{padding:15px 12px;border-bottom:1px solid #25324499;color:#becbda;vertical-align:middle}td:first-child,th:first-child{padding-left:0}td:last-child,th:last-child{padding-right:0}tbody tr:last-child td{border-bottom:0}td.numeric,th.numeric{text-align:right;font-variant-numeric:tabular-nums}td .delta{font-size:10px}.row-place{background:transparent;text-align:left;padding:0;color:var(--text);font-size:11px;font-weight:600}.row-place:hover{color:var(--accent)}.row-sub{display:block;font-size:8px;color:var(--faint);font-weight:400;margin-top:3px}.table-candidate-name{display:block;color:var(--muted);font-size:7px;letter-spacing:.4px;max-width:125px;white-space:normal;margin-bottom:2px}.table-votes{font-weight:600;font-size:12px;color:var(--text)}.table-votes small{font-size:9px;font-weight:400;color:var(--faint);margin-left:5px}.table-mini-bar{width:62px;height:3px;background:#2c394b;margin:5px 0 0 auto;border-radius:4px;overflow:hidden}.table-mini-bar span{display:block;height:100%;background:var(--candidate,var(--accent))}.row-arrow{background:transparent;color:var(--faint);padding:6px 8px;font-size:18px;line-height:1}.row-arrow:hover{color:var(--accent)}.geography-panel .table-wrap{margin-top:16px}.empty-state{padding:38px 20px;text-align:center;border:1px dashed #344356;border-radius:10px;color:var(--muted);font-size:12px;margin:14px 0}.empty-state strong{display:block;color:var(--text);font-size:15px;font-weight:500;margin-bottom:7px}.sections-panel{padding-bottom:15px}.section-list-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:11px;color:var(--muted);padding-bottom:10px}.status-pill{display:inline-flex;align-items:center;gap:4px;font-size:8px;padding:3px 6px;border:1px solid #395044;color:#b2d9af;background:#1c2c26;border-radius:4px;white-space:nowrap}.status-pill.pending{border-color:#4d4135;color:#dfb78c;background:#2a2622}.status-pill.unknown{border-color:#39465a;color:var(--muted);background:#1b2634}.pagination{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:16px;margin-top:7px;font-size:10px;color:var(--faint);gap:16px}.pagination>div{display:flex;gap:8px}.pagination .button{min-height:32px;padding:6px 11px;font-size:10px}.below-note{font-size:10px;color:var(--faint);margin-top:15px;max-width:760px;line-height:1.8}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.method-number{font-size:10px;font-family:var(--heading);color:var(--accent);border:1px solid #3c4e3b;background:#1d2b24;padding:5px 8px;display:inline-block;border-radius:6px;margin-bottom:15px}.method-card h3{margin-bottom:12px}.method-card p{font-size:12px;color:var(--muted);line-height:1.8}.method-card p+p{margin-top:12px}.method-card strong{color:#d8e2ec;font-weight:500}.provenance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}.provenance-item{padding-bottom:14px;border-bottom:1px solid var(--line);min-width:0}.provenance-item dt{font-size:9px;color:var(--faint);margin-bottom:5px}.provenance-item dd{margin:0;font-size:12px;overflow-wrap:anywhere}.provenance-note{font-size:11px;color:var(--muted);line-height:1.8;margin-top:16px}.official-links{display:flex;flex-wrap:wrap;gap:22px;border-top:1px solid var(--line);padding-top:19px;margin-top:20px;font-size:11px}.warning-list{color:var(--muted);font-size:11px;padding-left:18px;line-height:1.8;margin:16px 0 0}.warning-list li+li{margin-top:7px}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 0 30px;margin-top:38px;border-top:1px solid var(--line);color:var(--faint);font-size:9px}.footer-brand{font-family:var(--heading);font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap}.footer-brand span{font-family:var(--font);font-size:9px;font-weight:400;color:var(--faint)}.site-footer p{max-width:470px}.site-footer>span{white-space:nowrap}.section-dialog{padding:0;max-width:770px;width:calc(100% - 32px);max-height:90vh;border-radius:18px;border:1px solid #3b4d63;background:#121c29;color:var(--text);box-shadow:0 20px 100px #0009}.section-dialog::backdrop{background:#040a13cc;backdrop-filter:blur(5px)}.dialog-header{padding:25px 26px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-header h2{font-size:22px}.close-button{height:32px;width:32px;border-radius:8px;border:1px solid var(--line);background:#1a2838;font-size:22px;color:var(--muted);line-height:1}.close-button:hover{color:var(--text);background:#283a4e}#dialog-content{padding:24px 26px}.dialog-footer{padding:16px 26px;border-top:1px solid var(--line);display:flex;justify-content:flex-end}.dialog-summary{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:20px}.detail-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}.detail-kpi{border:1px solid var(--line);padding:13px;border-radius:9px}.detail-kpi span{font-size:9px;color:var(--muted);display:block}.detail-kpi strong{font-family:var(--heading);font-size:23px;display:block;margin-top:5px;letter-spacing:-.6px}.source-block{padding:17px;border:1px solid var(--line);background:#0c1520;border-radius:10px;margin-top:12px}.source-block h3{font-size:13px;margin-bottom:11px}.source-block dl{display:grid;grid-template-columns:110px 1fr;gap:7px 12px;font-size:10px;margin:0;line-height:1.6}.source-block dt{color:var(--faint)}.source-block dd{margin:0;color:var(--muted);overflow-wrap:anywhere}.source-block dd code{font-size:9px;word-break:break-all}.source-link{display:inline-block;font-size:10px;margin-top:12px}.dialog-comparison table th{font-size:8px}.dialog-comparison h3{font-size:14px;margin:10px 0 6px}.detail-note{font-size:10px;color:var(--muted);line-height:1.8;margin-top:15px}.loading-copy{font-size:12px;color:var(--muted);padding:20px 0}.skeleton{background:linear-gradient(110deg,#131f2d 10%,#1b293a 30%,#131f2d 50%);background-size:220% 100%;animation:shimmer 2s infinite;border-color:var(--line)}@keyframes shimmer{to{background-position:-200% 0}}.export-status{font-size:10px;color:var(--muted)}

.paired-card{min-height:270px}.paired-rounds{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:9px;align-items:center;margin-top:24px;position:relative;z-index:1}.paired-round-label{font-size:8px;letter-spacing:1.7px;color:var(--muted);display:block;margin-bottom:5px}.paired-share{font-family:var(--heading);font-size:38px;font-weight:750;line-height:1.2;letter-spacing:-1.8px;display:block}.paired-share small{font-size:21px;letter-spacing:-.5px;margin-left:2px}.paired-round.first .paired-share{color:#a8b8bf}.paired-round.second .paired-share{color:var(--candidate)}.paired-votes{display:block;font-size:10px;color:var(--muted);margin-top:5px}.paired-votes strong{font-weight:550;color:#d4dee6}.paired-round .candidate-bar{margin-top:11px;height:4px}.paired-round.first .candidate-bar span{opacity:.4}.round-arrow{font-size:24px;color:var(--faint);text-align:center;margin-top:-4px}.paired-gain{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:16px;margin-top:18px;border-top:1px solid #ffffff0e;position:relative;z-index:1}.paired-gain>span{display:flex;align-items:baseline;gap:7px}.paired-gain strong{color:var(--accent);font-size:18px;font-family:var(--heading);letter-spacing:-.5px}.paired-gain strong.negative{color:var(--orange)}.paired-gain strong.neutral{color:var(--muted)}.paired-gain b{font-size:14px;font-weight:600}.paired-gain small{font-size:8px;color:var(--muted)}.all-ballot-score{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:17px 20px;background:#101a26;border:1px solid var(--line);border-radius:10px;margin:-12px 0 29px}.all-score-label .eyebrow{font-size:7px;letter-spacing:1.4px;margin-bottom:5px}.all-score-label p{font-size:9px;color:var(--faint)}.all-score-candidates{display:flex;gap:35px}.all-score-candidates>div{display:grid;grid-template-columns:1fr auto;gap:2px 14px;align-items:baseline}.all-score-candidate{font-size:10px;color:var(--muted)}.all-score-candidate:before{content:'';width:5px;height:5px;border-radius:50%;display:inline-block;background:var(--candidate);margin-right:7px;vertical-align:middle}.all-score-candidates strong{font-family:var(--heading);font-size:16px;font-weight:650;letter-spacing:-.4px}.all-score-candidates small{grid-column:2;text-align:right;font-size:8px;color:var(--faint)}
@media(min-width:1450px){.page-shell,.header-inner{max-width:1400px}.intro{padding-top:53px}h1{font-size:59px}.candidate-share{font-size:55px}.candidate-card{min-height:225px}.paired-card{min-height:275px}.paired-share{font-size:42px}.analysis-grid{grid-template-columns:1.5fr 1fr}.comparison-content{min-height:196px}}
@media(max-width:1100px){.page-shell,.header-inner{padding-left:26px;padding-right:26px}.filter-form{flex-wrap:wrap;gap:12px}.filter-heading{width:100%;min-width:0}.uf-field{flex:1}.municipality-field{flex:1.4}.filter-form .button{padding-left:13px;padding-right:13px}.analysis-grid{grid-template-columns:1.3fr 1fr}.candidate-share{font-size:42px}.candidate-card{padding:22px}.candidate-values{gap:12px}.candidate-votes{font-size:10px}.metric-card{padding:16px}.panel{padding:22px}.segmented button{font-size:8px;padding:7px}.geography-panel .panel-heading{gap:12px}.site-footer p{max-width:340px}.sync-box{min-width:270px}.intro{gap:20px}h1{font-size:47px}.intro-copy{font-size:13px}}
@media(max-width:800px){.header-inner{gap:22px}.brand{font-size:19px}.header-method{font-size:10px}.intro{padding-top:32px;align-items:flex-start}.sync-box{min-width:230px;padding:15px}.sync-status{font-size:10px}.sync-actions{font-size:8px;gap:5px}.sync-detail{font-size:9px}.icon-button{font-size:9px}.intro-copy{font-size:12px}h1{font-size:40px;letter-spacing:-2px}.intro .eyebrow{font-size:8px;letter-spacing:1.3px}.eyebrow-line{width:18px}.filter-form{padding:16px;gap:10px}.filter-heading{margin-bottom:2px}.uf-field{flex-basis:30%}.municipality-field{flex-basis:45%}.small-field{width:calc(18% - 5px)}.filter-form .button{margin-left:auto;flex:1;max-width:130px}.scope-line{padding:9px 16px}.candidate-card{padding:20px;min-height:209px}.candidate-name{font-size:14px}.candidate-number{width:32px;height:32px;font-size:14px}.candidate-identity{gap:8px}.rank-label{font-size:7px}.candidate-share{font-size:38px}.candidate-share small{font-size:21px}.candidate-values{display:block;margin-top:16px}.candidate-votes{font-size:9px;display:block;margin-top:3px}.candidate-bar{margin-top:15px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-card{min-height:105px}.analysis-grid{grid-template-columns:1fr 1fr;gap:14px}.panel{padding:19px}.panel-heading{gap:12px}.panel-heading h2{font-size:19px}.panel-heading .eyebrow{font-size:7px;letter-spacing:1.2px}.comparison-panel .mini-label{font-size:7px}.comparison-content{min-height:220px}.comparison-label{font-size:10px}.delta{font-size:11px}.trend-title{font-size:19px}.trend-description,.panel-description{font-size:10px}.comparison-meta{display:block}.comparison-meta>span{display:block}.comparison-meta>span+span{margin-top:5px}.geography-panel .panel-heading{align-items:flex-start}.segmented button{padding:6px 7px;font-size:8px}.section-heading h2{font-size:22px}.method-grid{gap:14px}.method-card p{font-size:11px}.provenance-grid{grid-template-columns:1fr 1fr}.site-footer{flex-wrap:wrap;gap:12px}.site-footer p{order:3;flex-basis:100%;max-width:none}.site-footer>span{margin-left:auto}.data-chip{font-size:7px;padding:6px 8px}td,th{padding-left:10px;padding-right:10px}.score-caption{display:block}.score-caption>span{display:block}.score-caption>span+span{margin-top:3px}}
@media(max-width:600px){.site-header{height:76px}.page-shell,.header-inner{padding-left:19px;padding-right:19px}.header-inner{gap:15px}.brand{font-size:17px;gap:9px}.brand small{font-size:6px;letter-spacing:1.6px}.brand-mark{gap:2px;height:24px}.brand-mark i{width:6px}.brand-mark i:nth-child(1){height:11px}.brand-mark i:nth-child(2){height:17px}.brand-mark i:nth-child(3){height:24px}.header-badges{gap:6px;margin-left:auto}.edition-badge{font-size:13px;gap:7px}.edition-badge span{font-size:7px;letter-spacing:1px;padding-left:7px}.beta-badge{font-size:7px;padding:2px 4px}.header-method{display:none}.intro{display:block;padding-top:30px;padding-bottom:20px}h1{font-size:45px;margin-bottom:13px}.intro-copy{font-size:12px}.sync-box{margin-top:23px;padding:13px 14px;min-width:0;display:grid;grid-template-columns:1fr auto;gap:5px 12px}.sync-status{font-size:10px}.sync-detail{grid-column:1;grid-row:2;margin:0;font-size:8px}.sync-actions{grid-column:2;grid-row:1 / 3;border:0;padding:0;display:flex;flex-direction:column-reverse;align-items:flex-end;justify-content:center;gap:4px}.sync-actions>span{font-size:7px}.icon-button{font-size:9px}.notice{padding:13px 14px;font-size:10px;gap:10px}.notice-icon{width:15px;height:15px;font-size:9px}.tabs{gap:22px;margin-top:18px;margin-bottom:19px;overflow-x:auto}.tab{font-size:10px;padding:14px 0;gap:5px}.tab-count{font-size:8px}.filter-form{padding:15px;gap:11px}.filter-heading{font-size:10px}.uf-field,.municipality-field{flex:1 1 calc(50% - 6px)}.filter-field label{font-size:8px}.filter-field input,.filter-field select{font-size:10px;min-height:35px;padding:8px}.small-field{width:calc(22% - 8px)}.filter-form .button{min-height:35px;max-width:none;margin-left:0;flex:1;padding:8px 11px;font-size:10px}.reset-button{height:35px;font-size:9px;padding:0 3px}.scope-line{font-size:8px;display:block;padding:9px 15px}.scope-line span{display:block}.scope-line span+span{margin-top:3px}.filter-region{margin-bottom:27px}.section-heading{margin-bottom:15px;gap:12px}.section-heading h2{font-size:21px;letter-spacing:-.6px}.section-heading .eyebrow{font-size:7px;letter-spacing:1.4px}.data-chip{font-size:6px;letter-spacing:1px;padding:5px;white-space:nowrap}.scoreboard{gap:12px}.candidate-card{padding:16px;min-height:203px;border-radius:13px}.candidate-top{gap:5px}.candidate-identity{display:block}.candidate-number{width:29px;height:29px;font-size:12px;border-radius:7px;margin-bottom:10px}.candidate-name{font-size:13px;letter-spacing:-.4px}.candidate-party{font-size:7px;margin-top:2px}.rank-label{font-size:6px;padding:2px 4px;margin-top:3px;position:absolute;right:13px;top:17px}.candidate-values{margin-top:13px}.candidate-share{font-size:34px;letter-spacing:-1.8px}.candidate-share small{font-size:18px}.candidate-votes{font-size:8px;margin-top:4px}.candidate-bar{margin-top:13px;height:4px}.candidate-bottom{font-size:7px;gap:5px}.candidate-bottom span:last-child{display:none}.ballot-status-notice{font-size:9px;margin-bottom:12px}.score-caption{font-size:8px}.metric-grid{gap:10px;margin:19px 0 23px}.metric-card{padding:14px 15px;min-height:101px;border-radius:10px}.metric-label{font-size:9px}.metric-value{font-size:27px}.metric-value.small{font-size:20px}.metric-note{font-size:8px}.analysis-grid{grid-template-columns:1fr;gap:17px;margin-bottom:23px}.panel{padding:20px;border-radius:14px}.panel-heading h2{font-size:21px}.panel-heading .eyebrow{font-size:7px;letter-spacing:1.5px}.panel-description{font-size:11px}.comparison-panel .mini-label{font-size:8px}.comparison-content{min-height:0;margin-top:22px}.comparison-label{font-size:11px}.delta{font-size:12px}.comparison-row+.comparison-row{margin-top:22px}.comparison-meta{display:flex;font-size:8px;margin-top:20px;padding-top:15px}.comparison-meta>span+span{margin-top:0}.panel-footnote{font-size:8px;margin-top:16px;padding-top:15px}.trend-title{font-size:21px;max-width:none}.trend-description{font-size:11px}.coverage-track{height:17px}.trend-footnote{font-size:9px}.geography-panel .panel-heading{display:block}.segmented{margin-top:17px;width:max-content}.segmented button{padding:7px 10px;font-size:9px}.geography-panel .panel-description{margin-top:12px;font-size:10px}.geography-panel{padding-bottom:12px}.table-wrap{margin-right:-5px}.geography-panel table{min-width:590px}.sections-panel{padding:17px}.sections-panel table{min-width:740px}.section-list-heading{font-size:10px;align-items:flex-start}.section-list-heading .mini-label{font-size:7px}.pagination{font-size:8px;flex-wrap:wrap}.pagination>div{margin-left:auto}.pagination .button{font-size:9px;padding:6px 10px}.below-note{font-size:9px}.method-grid{grid-template-columns:1fr;gap:16px}.method-card p{font-size:11px}.method-card h3{font-size:17px}.provenance-grid{gap:15px;grid-template-columns:1fr 1fr}.provenance-item dd{font-size:10px}.provenance-item dt{font-size:8px}.provenance-note,.warning-list{font-size:10px}.official-links{font-size:10px;gap:12px}.site-footer{margin-top:30px;padding:24px 0;font-size:8px}.footer-brand{font-size:11px}.footer-brand span{font-size:8px}.section-heading .button{font-size:9px;padding:8px 10px;min-height:34px;gap:6px}.section-heading .button svg{width:13px;height:13px}.dialog-header{padding:20px}.dialog-header h2{font-size:19px}#dialog-content{padding:20px}.dialog-footer{padding:14px 20px}.detail-kpis{gap:7px}.detail-kpi{padding:10px}.detail-kpi span{font-size:8px}.detail-kpi strong{font-size:20px}.source-block{padding:14px}.source-block dl{grid-template-columns:1fr;gap:3px}.source-block dd{margin-bottom:5px}.dialog-comparison table{font-size:10px;min-width:370px}.dialog-comparison .table-wrap{margin-right:0}.detail-note{font-size:9px}.error-banner{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:1100px){.paired-share{font-size:33px}.paired-share small{font-size:18px}.paired-gain{gap:10px}.paired-gain>span{display:block}.paired-gain small{display:block;margin-top:2px}.paired-gain strong{font-size:17px}.paired-gain b{font-size:13px}.all-score-candidates{gap:23px}.all-score-candidates>div{gap:2px 8px}.all-score-candidate{font-size:9px}.all-score-candidates strong{font-size:14px}}
@media(max-width:800px){.paired-rounds{gap:5px;grid-template-columns:minmax(0,1fr) 17px minmax(0,1fr)}.paired-share{font-size:29px;letter-spacing:-1.4px}.paired-share small{font-size:15px;margin-left:1px}.paired-round-label{font-size:7px;letter-spacing:1px}.paired-votes{font-size:9px}.round-arrow{font-size:20px}.paired-card{min-height:270px}.all-ballot-score{display:block}.all-score-candidates{margin-top:13px;justify-content:space-between;gap:18px}.all-score-candidates>div{grid-template-columns:1fr auto;flex:1}.all-score-candidate{font-size:10px}.all-score-candidates strong{font-size:15px}}
@media(max-width:600px){.paired-card{min-height:0;padding:17px}.paired-card .candidate-identity{display:flex;gap:9px}.paired-card .candidate-number{margin:0}.paired-card .candidate-name{font-size:14px}.paired-card .rank-label{font-size:6px;top:21px;right:15px}.paired-card .candidate-party{font-size:7px}.scoreboard{grid-template-columns:1fr}.paired-rounds{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:12px;margin-top:20px}.paired-share{font-size:40px;letter-spacing:-1.7px}.paired-share small{font-size:22px}.paired-round-label{font-size:8px;letter-spacing:1.5px}.paired-votes{font-size:10px}.round-arrow{font-size:26px}.paired-gain{padding-top:13px;margin-top:15px;justify-content:flex-start;gap:30px}.paired-gain>span{display:flex;gap:7px;align-items:baseline}.paired-gain small{font-size:7px;margin-top:0;display:inline}.paired-gain strong{font-size:17px}.paired-gain b{font-size:12px}.all-ballot-score{padding:15px;margin-top:-8px;margin-bottom:23px}.all-score-candidates{gap:17px}.all-score-candidates>div{display:block}.all-score-candidate{display:block;font-size:9px;margin-bottom:5px}.all-score-candidates strong{font-size:17px}.all-score-candidates small{display:block;text-align:left;font-size:8px;margin-top:2px}}

.filter-toggle{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 19px;width:100%;background:transparent;border-radius:12px;text-align:left;font-size:11px;color:#c9d5e2}.filter-toggle>span:first-child{display:flex;align-items:center;gap:9px}.filter-toggle svg{color:var(--accent);height:16px;width:16px}.filter-toggle-hint{color:var(--faint);font-size:9px;margin-left:7px}.filter-toggle-action{font-size:10px;color:var(--accent);display:flex;gap:12px;align-items:center}.filter-toggle-action b{font-size:17px;font-weight:400}.filter-toggle:hover{background:#152131}.filter-toggle[aria-expanded="true"]{border-bottom:1px solid var(--line);border-radius:12px 12px 0 0}.filter-region{margin-top:23px;margin-bottom:25px}.filter-region .filter-form{padding-top:17px}.pending-row .row-place{color:var(--faint)}.pending-row .table-mini-bar{opacity:.35}.pending-row .table-votes{color:var(--faint)}#panel-overview>.notice{margin-top:18px}.site-header{height:80px}.intro{padding-top:30px;padding-bottom:26px}.intro h1{font-size:47px}.tabs{margin-top:10px;margin-bottom:25px}
@media(max-width:600px){.filter-toggle{font-size:10px;padding:13px 15px}.filter-toggle-hint{display:none}.filter-toggle-action{font-size:9px}.site-header{height:72px}.intro{padding-top:25px;padding-bottom:21px}.intro h1{font-size:43px}.tabs{margin-top:0;margin-bottom:23px}.filter-region{margin-top:21px;margin-bottom:22px}#panel-overview>.notice{font-size:9px;margin-top:14px}.sync-box{margin-top:18px}.scoreboard .empty-state{margin-top:0}}
.ad-banner{max-width:1272px;margin:14px auto;border:1px dashed #344355;border-radius:8px;min-height:63px;background:#101923;display:flex;align-items:center;justify-content:center;gap:24px;padding:12px 20px}.ad-banner>span{font-size:7px;color:var(--faint);letter-spacing:1.3px;border-right:1px solid var(--line);padding-right:24px}.ad-banner p{font-size:11px;color:#b4c1d0}.ad-banner a{color:var(--cyan)}.header-right{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:7px}.header-right .header-method{margin-left:0}.online-count{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--faint)}.online-count i{height:4px;width:4px;border-radius:50%;background:var(--accent)}#geography-table{max-height:550px;overflow:auto}#geography-table thead th{position:sticky;top:0;background:var(--panel);z-index:2}
@media(max-width:1352px){.ad-banner{margin-left:40px;margin-right:40px}}
@media(max-width:1100px){.ad-banner{margin-left:26px;margin-right:26px}}
@media(max-width:600px){.ad-banner{margin:12px 19px;min-height:62px;padding:10px 13px;display:block;text-align:center}.ad-banner>span{display:block;border:0;padding:0;margin-bottom:5px;font-size:6px}.ad-banner p{font-size:9px;line-height:1.7}.site-header{height:88px}.header-inner{display:grid;grid-template-columns:1fr auto;gap:4px 14px;padding-top:11px;padding-bottom:11px}.brand{align-self:end}.header-badges{margin-left:0;grid-row:2;align-self:start;gap:6px}.edition-badge{font-size:10px}.edition-badge span{font-size:6px}.beta-badge{font-size:6px}.header-right{grid-column:2;grid-row:1/3;gap:9px;align-self:center}.header-right .header-method{display:block;font-size:8px}.header-right .header-method span{margin-left:6px}.online-count{font-size:8px}.intro h1{font-size:41px}.intro{padding-top:23px}.sync-box{margin-top:16px}.paired-rounds{margin-top:18px}.paired-share{font-size:37px}.paired-gain{gap:22px}.paired-gain small{font-size:6px}#geography-table{max-height:480px}}

/* The comparison is the first useful content below the advertising slot. */
.ad-banner{min-height:56px;margin-top:10px;margin-bottom:10px;padding:10px 16px}
.site-header{height:64px}.brand small{font-size:7px}.header-inner{gap:26px}
.intro{padding:12px 0 7px;gap:16px;align-items:center;min-height:48px}
.intro h1{font-size:17px;letter-spacing:-.35px;white-space:nowrap;margin:0;line-height:1.25}
.intro h1 span{color:var(--muted);font-size:13px;font-weight:500}
.sync-box{background:transparent;border:0;border-radius:0;min-width:0;display:flex;align-items:center;gap:15px;padding:0;margin:0}
.sync-status{font-size:10px}.sync-detail{font-size:9px;line-height:1.35;margin:0}.sync-actions{border:0;padding:0;font-size:8px;gap:12px;display:flex;flex-direction:row;align-items:center}
.sync-detail br{display:none}.sync-detail{max-width:310px}.tabs{margin:0 0 12px;gap:24px}.tab{padding:9px 0;font-size:11px}
.compact-score-heading{margin-bottom:8px}.compact-score-heading h2{font-size:18px;letter-spacing:-.4px}
.ballot-status-notice{font-size:10px;margin:0 0 8px}.paired-card{min-height:0;padding:18px 22px}.paired-rounds{margin-top:15px}
.paired-gain{margin-top:14px;padding-top:11px}.paired-gain strong{font-size:30px;line-height:1.1;letter-spacing:-1px}.paired-gain b{font-size:16px}.paired-gain small{font-size:9px}.paired-gain>span{gap:8px}
.paired-share{font-size:37px}.candidate-party{font-size:8px}.rank-label{font-size:7px}.candidate-bar{margin-top:9px}.score-caption{margin-top:8px;font-size:9px}
.metric-grid{margin-top:14px;margin-bottom:19px}.metric-card{min-height:93px;padding:12px 16px}.metric-value{font-size:27px}.notice{padding:9px 13px;font-size:10px}
@media(max-width:900px){.sync-detail{display:none}.sync-box{gap:10px}.sync-actions>span{display:none}.intro h1{font-size:15px}.paired-gain strong{font-size:27px}}
@media(max-width:600px){.ad-banner{margin:8px 14px;min-height:54px}.ad-banner>span{display:none}.ad-banner p{font-size:10px}.site-header{height:63px}.header-inner{display:flex;padding-top:0;padding-bottom:0;gap:12px}.header-badges{display:none}.header-right{margin-left:auto;gap:6px}.brand small{font-size:6px}.page-shell{padding-left:14px;padding-right:14px}.intro{padding:10px 0 5px;display:flex;gap:8px}.intro h1{font-size:14px}.intro h1 span{font-size:11px}.sync-box{display:flex;gap:9px}.sync-status{font-size:8px}.sync-status strong{max-width:120px;line-height:1.3}.sync-actions{display:flex;gap:0}.sync-actions>span{display:none}.icon-button{font-size:8px}.icon-button span{display:none}.tabs{gap:20px;margin-bottom:10px}.tab{font-size:10px;padding:9px 0}.compact-score-heading h2{font-size:16px}.ballot-status-notice{font-size:9px;line-height:1.4}.paired-card{padding:15px}.paired-rounds{margin-top:12px}.paired-gain{margin-top:12px;padding-top:10px}.paired-gain strong{font-size:29px}.paired-gain b{font-size:14px}.paired-gain small{font-size:8px}.scoreboard{gap:11px}.paired-share{font-size:37px}.metric-grid{margin-top:13px}.metric-card{min-height:91px}.score-caption{font-size:8px}#panel-overview>.notice{font-size:9px;margin-top:10px}}
.candidate-portrait{width:52px;height:62px;object-fit:cover;object-position:center 18%;border-radius:11px;border:1px solid color-mix(in srgb,var(--candidate),transparent 55%);background:#26323b;box-shadow:0 4px 14px #0003;flex-shrink:0}.paired-card .candidate-identity{display:flex;align-items:center;gap:12px}.paired-card .candidate-name{font-size:17px}.paired-card .rank-label{position:static}.paired-gain strong{color:var(--candidate)}
@media(max-width:600px){.candidate-portrait{width:46px;height:55px;border-radius:10px}.paired-card .candidate-name{font-size:15px}.paired-card .rank-label{font-size:6px}}
/* Main-only beta: prepared comparisons and client-side territorial sorting. */
.scope-strip{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 0 9px;color:var(--cyan);font-size:10px}.scope-strip button{background:none;padding:3px 0;color:var(--muted);font-size:10px}.scope-strip button:hover{color:var(--accent)}.overview-panel>.notice{margin-top:13px}.indicators-section{margin:28px 0}.indicators-section h2{font-size:21px}.indicators-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.indicator-card{min-width:0;background:#121c29;border:1px solid var(--line);border-radius:12px;padding:17px 15px}.indicator-card h3{font-size:11px;letter-spacing:-.1px;line-height:1.4;min-height:31px}.indicator-rates{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-top:10px}.indicator-rates>span{min-width:0}.indicator-rates small{display:block;font-size:6px;letter-spacing:1px;color:var(--faint);margin-bottom:3px}.indicator-rates b{font-family:var(--heading);font-size:21px;letter-spacing:-.8px}.indicator-rates>span:last-child b{color:var(--cyan)}.indicator-rates i{color:var(--faint);font-size:15px;font-style:normal;margin-top:9px}.indicator-delta{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);flex-wrap:wrap}.indicator-delta strong{font-size:11px;font-weight:650;color:#c6d8e1}.indicator-delta span{font-size:8px;color:var(--faint)}.indicator-card p{color:var(--faint);font-size:8px;line-height:1.6;margin-top:10px}.flip-value{font-family:var(--heading);font-size:37px;letter-spacing:-1.5px;line-height:1.2;margin-top:10px;color:var(--candidate)}.flip-value small{display:block;font-family:var(--font);font-size:8px;letter-spacing:.2px;color:var(--muted);margin-top:3px}.flip-sections{font-size:8px;color:var(--faint);margin-top:14px;padding-top:9px;border-top:1px solid var(--line)}.flip-sections strong{color:var(--text);font-size:12px;font-weight:550}.methodology-disclosure{margin-top:26px;padding:0}.methodology-disclosure>summary{padding:17px 21px;font-size:12px;font-weight:600;cursor:pointer;color:var(--muted)}.methodology-disclosure[open]>summary{border-bottom:1px solid var(--line);color:var(--text)}.methodology-copy{padding:18px 21px}.methodology-copy p{font-size:11px;color:var(--muted);line-height:1.85}.methodology-copy p+p{margin-top:12px}.methodology-copy strong{color:var(--text);font-weight:550}.sort-description{font-size:9px;color:var(--faint);margin-top:13px}.sort-button{display:block;background:transparent;color:var(--muted);padding:0;font-size:8px;text-align:inherit;width:100%;font-weight:500;letter-spacing:.1px}.sort-button>span:last-child{display:inline-flex;align-items:center;gap:4px}.sort-button b{font-size:11px;color:var(--faint);font-weight:400}th[aria-sort=ascending] .sort-button,th[aria-sort=descending] .sort-button,th[aria-sort=ascending] .sort-button b,th[aria-sort=descending] .sort-button b{color:var(--accent)}.sort-button:hover{color:var(--text)}.sort-button .table-candidate-name{font-size:7px;font-weight:500;line-height:1.5;min-height:21px;letter-spacing:0;max-width:105px}#geography-table table{min-width:970px}#geography-table td,#geography-table th{padding-left:9px;padding-right:9px}#geography-table td:first-child,#geography-table th:first-child{padding-left:0;min-width:155px}#geography-table .table-votes{font-size:11px}.geography-panel{margin-bottom:0}.site-footer{margin-top:24px}
@media(max-width:1100px){.indicators-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.flip-card{grid-column:auto}.indicator-card h3{min-height:0}.indicator-rates{margin-top:14px}.indicator-rates b{font-size:25px}.indicator-card p{font-size:9px}}
@media(max-width:600px){.scope-strip{font-size:9px;padding-top:3px;padding-bottom:9px}.scope-strip button{font-size:9px}.indicators-section{margin-top:23px;margin-bottom:23px}.indicators-section h2{font-size:18px}.indicators-section .mini-label{font-size:7px}.indicators-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.indicator-card{padding:14px 12px}.indicator-card h3{font-size:10px;min-height:27px}.indicator-rates{gap:4px;margin-top:10px}.indicator-rates b{font-size:20px}.indicator-rates small{font-size:6px}.indicator-rates i{font-size:14px}.indicator-delta{gap:4px}.indicator-delta strong{font-size:10px}.indicator-delta span{font-size:7px}.indicator-card p{font-size:8px}.flip-value{font-size:34px}.flip-sections{font-size:7px}.methodology-copy{padding:16px}.methodology-copy p{font-size:10px}.methodology-disclosure>summary{padding:15px 16px;font-size:11px}.sort-description{font-size:8px}.geography-panel .panel-description{font-size:9px}#geography-table table{min-width:910px}#geography-table .table-votes{font-size:10px}}
/* Candidate identity: 22 green, 13 red, across both rounds and indicators. */
.paired-card{--candidate:#f07178;background:linear-gradient(135deg,#2b222c 0%,#20202d 55%,#121c29 100%);border-color:#543a47}.paired-card.orange{--candidate:#a9e875;background:linear-gradient(135deg,#1c2d29 0%,#17272b 55%,#121c29 100%);border-color:#3c5142}.paired-card .paired-gain strong,.paired-card .paired-gain strong.negative,.paired-card .paired-gain strong.neutral{color:var(--candidate)}
.trend-overview{padding:15px 18px;margin:-8px 0 25px;border:1px solid var(--line);border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#101a26}.trend-overview h3{font-size:12px;letter-spacing:0;margin-bottom:5px}.trend-overview p{color:var(--muted);font-size:10px;line-height:1.7}.trend-overview .scenario-shares{display:flex;gap:24px;white-space:nowrap;font-size:11px}.scenario-shares strong{font-size:19px;font-family:var(--heading);margin-left:5px}
@media(max-width:600px){.paired-gain{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;align-items:start}.paired-gain>span{display:block}.paired-gain strong{white-space:nowrap;font-size:28px}.paired-gain b{white-space:nowrap;font-size:15px}.paired-gain small{display:block;margin-top:4px;font-size:8px}.trend-overview{display:block;padding:14px}.trend-overview p{font-size:9px}.trend-overview .scenario-shares{margin-top:12px;gap:16px;font-size:9px}.scenario-shares strong{font-size:17px}}
@media(max-width:400px){.paired-share{font-size:32px;letter-spacing:-1.3px}.paired-share small{font-size:17px}.paired-rounds{gap:9px;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)}.paired-gain strong{font-size:26px}}
/* Readability is the default: large type, large targets, explicit light theme. */
:root{--candidate-red:#f07178;--candidate-green:#a9e875}
html[data-theme="light"]{color-scheme:light;--bg:#f4f6f8;--panel:#ffffff;--panel-soft:#eef2f6;--line:#cbd5e1;--text:#16222f;--muted:#536174;--faint:#5a6878;--accent:#176b3a;--cyan:#1463a5;--orange:#965008;--red:#b4232c;--candidate-red:#b4232c;--candidate-green:#176b3a}
body{font-size:16px;line-height:1.6}.page-shell{padding-bottom:4px}.eyebrow{font-size:13px;letter-spacing:.4px}.site-header{height:84px}.header-inner{gap:24px}.brand{font-size:23px}.brand small{font-size:10px;letter-spacing:.7px}.edition-badge{font-size:19px}.edition-badge span{font-size:13px;letter-spacing:.2px}.beta-badge{font-size:12px;letter-spacing:.4px}.header-right{margin-left:0;gap:3px}.header-method,.header-right .header-method{font-size:14px;min-height:26px;display:flex;align-items:center}.online-count{font-size:13px}.theme-toggle{min-height:44px;min-width:116px;padding:10px 15px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);font-size:14px;font-weight:600;margin-left:auto}.theme-toggle:hover{background:var(--panel-soft)}.ad-banner{min-height:60px}.ad-banner>span{font-size:11px;letter-spacing:.3px}.ad-banner p{font-size:14px}.intro{padding:14px 0 8px;gap:20px;flex-wrap:wrap}.intro h1{font-size:21px}.intro h1 span{font-size:17px}.sync-box{gap:16px;flex-wrap:wrap;justify-content:flex-end}.sync-status{font-size:13px}.sync-detail{font-size:13px;line-height:1.5;max-width:440px;display:block}.sync-actions{font-size:13px;gap:14px}.sync-actions>span{font-size:12px}.icon-button{font-size:14px;min-height:44px;min-width:44px;gap:8px}.icon-button svg{width:18px;height:18px}.scope-strip{font-size:14px;padding:4px 0 12px}.scope-strip button{font-size:14px;min-height:44px;padding:8px}.compact-score-heading h2{font-size:23px}.data-chip{font-size:12px;letter-spacing:.3px;padding:6px 9px}.ballot-status-notice{font-size:13px;line-height:1.6;margin-bottom:12px}.paired-card{padding:20px 22px;--candidate:var(--candidate-red)}.paired-card.orange{--candidate:var(--candidate-green)}.candidate-portrait{width:64px;height:76px}.paired-card .candidate-name{font-size:21px;line-height:1.3}.candidate-party{font-size:14px;margin-top:4px;letter-spacing:.2px}.rank-label{font-size:12px;letter-spacing:0;padding:5px 7px}.paired-rounds{margin-top:17px;gap:14px;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)}.paired-round-label{font-size:13px;letter-spacing:.4px}.paired-share{font-size:46px;letter-spacing:-1.6px;white-space:nowrap}.paired-share small{font-size:24px}.paired-votes{font-size:15px;margin-top:7px}.paired-votes strong{font-weight:650}.paired-round .candidate-bar{height:6px;margin-top:13px}.round-arrow{font-size:28px}.paired-gain{padding-top:15px;margin-top:18px;gap:20px}.paired-gain>span{display:block}.paired-gain strong{font-size:33px;white-space:nowrap}.paired-gain b{font-size:21px}.paired-gain small{font-size:13px;display:block;margin-top:5px}.score-caption{font-size:13px;line-height:1.7;display:block}.score-caption>span{display:block}.score-caption>span+span{margin-top:4px}.notice{font-size:14px;line-height:1.7;padding:12px 16px}.notice-icon{font-size:12px;width:20px;height:20px;margin-top:3px}.error-banner{font-size:14px}.metric-grid{gap:15px;margin-top:20px;margin-bottom:23px}.metric-card{min-height:132px;padding:16px 18px}.metric-label{font-size:14px;line-height:1.4}.metric-value{font-size:34px}.metric-note{font-size:13px;line-height:1.5;margin-top:6px}.all-ballot-score{padding:17px 20px}.all-score-label .eyebrow{font-size:12px;letter-spacing:.2px}.all-score-label p{font-size:13px}.all-score-candidate{font-size:14px}.all-score-candidates strong{font-size:22px}.all-score-candidates small{font-size:13px}.all-score-candidates{gap:26px}.section-heading .eyebrow{font-size:13px;letter-spacing:.4px}.section-heading h2,.indicators-section h2,.panel-heading h2{font-size:25px}.mini-label{font-size:13px;letter-spacing:0}.indicators-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.indicator-card{grid-column:span 2;padding:21px}.indicator-card.flip-card{grid-column:span 3}.indicator-card h3{font-size:18px;min-height:0}.indicator-rates{margin-top:18px;gap:16px}.indicator-rates small{font-size:13px;letter-spacing:.2px;margin-bottom:6px}.indicator-rates b{font-size:31px;letter-spacing:-.7px}.indicator-rates i{font-size:23px}.indicator-delta{font-size:14px;gap:10px;padding-top:14px;margin-top:17px}.indicator-delta strong{font-size:17px}.indicator-delta span{font-size:13px}.indicator-card p{font-size:13px;line-height:1.6;margin-top:13px}.flip-value{font-size:46px;margin-top:17px}.flip-value small{font-size:14px;letter-spacing:0;margin-top:5px}.flip-sections{font-size:14px;margin-top:16px;padding-top:14px}.flip-sections strong{font-size:19px}.trend-overview{padding:18px 21px;gap:25px}.trend-overview h3{font-size:18px}.trend-overview p{font-size:14px}.trend-overview .scenario-shares{font-size:15px;gap:22px}.scenario-shares strong{font-size:25px}.geography-panel .eyebrow,.panel-heading .eyebrow{font-size:13px;letter-spacing:.4px}.geography-panel .panel-description,.panel-description{font-size:15px;line-height:1.6}.segmented{padding:4px}.segmented button{font-size:15px;min-height:44px;padding:9px 14px}.sort-description{font-size:14px;margin-top:15px}.sort-button{font-size:14px;min-height:48px;line-height:1.4;letter-spacing:0}.sort-button .table-candidate-name{font-size:13px;font-weight:650;max-width:none;min-height:22px;line-height:1.5}.sort-button b{font-size:17px}.sort-button>span:last-child{gap:6px}#geography-table{max-height:650px;margin-top:18px}#geography-table table{min-width:1510px;font-size:15px}#geography-table td,#geography-table th{padding:17px 14px}#geography-table .table-votes{font-size:15px}#geography-table td .delta{font-size:15px;font-weight:650}#geography-table td:first-child,#geography-table th:first-child{position:sticky;left:0;background:var(--panel);min-width:230px;max-width:280px;padding-left:10px;z-index:2}#geography-table thead th:first-child{z-index:4}.row-place{font-size:15px;min-height:44px;line-height:1.5}.row-sub{font-size:13px;line-height:1.5;margin-top:5px}.pending-row .row-place{color:var(--muted)}.methodology-disclosure>summary{font-size:17px;min-height:54px;padding:16px 21px}.methodology-copy p{font-size:16px;line-height:1.75}.official-links{font-size:15px}.official-links a{min-height:44px;display:flex;align-items:center}.site-footer{font-size:13px;line-height:1.7}.site-footer p{max-width:570px}.footer-brand{font-size:16px}.footer-brand span{font-size:13px}.empty-state{font-size:15px}.empty-state strong{font-size:18px}
html[data-theme="light"] .site-header{background:#fff}html[data-theme="light"] .brand{color:var(--text)}html[data-theme="light"] .ad-banner{background:#fff;border-color:#b8c5d3}html[data-theme="light"] .ad-banner p{color:var(--muted)}html[data-theme="light"] .beta-badge{background:#e9f5ec;border-color:#9bc8a8;color:#176b3a}html[data-theme="light"] .edition-badge span{border-color:#cbd5e1}html[data-theme="light"] .paired-card{background:linear-gradient(135deg,#fff3f4,#fff 85%);border-color:#e5adb3}html[data-theme="light"] .paired-card.orange{background:linear-gradient(135deg,#eff8f1,#fff 85%);border-color:#aacdb5}html[data-theme="light"] .paired-card:after{border-color:#16222f05;box-shadow:0 0 0 32px #16222f02,0 0 0 64px #16222f02}html[data-theme="light"] .paired-round.first .paired-share{color:#536174}html[data-theme="light"] .paired-votes strong{color:#263849}html[data-theme="light"] .paired-votes{color:#536174}html[data-theme="light"] .candidate-bar{background:#16222f12}html[data-theme="light"] .rank-label{border-color:color-mix(in srgb,var(--candidate),white 55%);background:#fff9}html[data-theme="light"] .paired-gain{border-top-color:#cbd5e1}html[data-theme="light"] .candidate-portrait{background:#dbe4e9;box-shadow:none}html[data-theme="light"] .metric-card,html[data-theme="light"] .all-ballot-score,html[data-theme="light"] .indicator-card,html[data-theme="light"] .trend-overview{background:#fff}html[data-theme="light"] .indicator-delta strong,html[data-theme="light"] .flip-sections strong{color:var(--text)}html[data-theme="light"] .notice{background:#eaf3f8;border-color:#b3cbdc;color:#3c566b}html[data-theme="light"] .notice strong{color:#173f5b}html[data-theme="light"] .notice-icon{border-color:#537d9c}html[data-theme="light"] .segmented{background:#eaf0f5;border-color:#bdcbd8}html[data-theme="light"] .segmented button.active{background:#fff;color:#16222f;box-shadow:0 1px 4px #16222f15}html[data-theme="light"] .segmented button{color:#536174}html[data-theme="light"] td{color:#263849}html[data-theme="light"] .table-votes{color:#16222f}html[data-theme="light"] .error-banner{background:#fff0f1;border-color:#e8a8af;color:#8b1c24}html[data-theme="light"] .skeleton{background:linear-gradient(110deg,#e4eaf0 10%,#f5f7fa 30%,#e4eaf0 50%);background-size:220% 100%}html[data-theme="light"] .site-footer{color:var(--muted)}html[data-theme="light"] .empty-state{border-color:#b8c7d6}html[data-theme="light"] .row-place{color:#16222f}html[data-theme="light"] .pending-row .row-place{color:#536174}
@media(max-width:1100px){.header-badges{gap:8px}.edition-badge span{display:none}.header-inner{gap:18px}.sync-box{justify-content:flex-start}.sync-detail{max-width:410px}.sync-actions>span{display:none}.all-ballot-score{display:block}.all-score-candidates{margin-top:15px;justify-content:space-between}.indicator-card{padding:18px}.indicator-rates{gap:10px}.indicator-rates b{font-size:28px}.site-footer{flex-wrap:wrap}}
@media(max-width:800px){.intro{display:block}.intro h1{font-size:21px;margin-bottom:10px}.sync-box{display:flex;gap:10px 16px;justify-content:flex-start}.sync-status,.sync-detail{font-size:13px}.sync-detail{display:block;max-width:none;flex:1;min-width:220px}.sync-actions{display:flex}.icon-button{font-size:14px}.scoreboard{grid-template-columns:1fr}.paired-share{font-size:46px}.paired-gain{display:flex}.paired-gain strong{font-size:33px}.paired-gain b{font-size:21px}.paired-gain small{font-size:13px}.paired-card .candidate-name{font-size:21px}.indicator-card{grid-column:span 3}.indicator-card.flip-card{grid-column:span 3}.indicator-rates b{font-size:29px}.trend-overview{display:block}.trend-overview .scenario-shares{margin-top:16px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented button{font-size:15px}.geography-panel .panel-heading{display:block}.segmented{margin-top:15px}.header-method span{margin-left:7px}}
@media(max-width:600px){.ad-banner{margin:10px 14px;padding:12px 16px;min-height:70px}.ad-banner p{font-size:13px;line-height:1.6}.ad-banner>span{display:none}.site-header{height:auto;min-height:100px}.header-inner{display:grid;grid-template-columns:1fr auto;gap:7px 12px;padding:9px 14px}.brand{font-size:20px;align-self:center}.brand small{font-size:9px;letter-spacing:.3px}.brand-mark{height:28px}.theme-toggle{grid-column:2;grid-row:1;min-width:110px;min-height:44px;margin:0;padding:9px 12px;font-size:14px}.header-badges{display:none}.header-right{grid-column:1/3;grid-row:2;display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin:0;gap:15px}.header-right .header-method{font-size:14px;min-height:35px}.online-count{font-size:13px}.page-shell{padding-left:14px;padding-right:14px}.intro{padding:15px 0 7px;min-height:0}.intro h1{font-size:20px;margin-bottom:10px}.intro h1 span{font-size:16px}.sync-box{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:5px 10px;justify-content:stretch;align-items:center}.sync-status{grid-column:1;font-size:13px;line-height:1.5}.sync-status strong{max-width:none}.sync-detail{grid-column:1;grid-row:2;display:block;font-size:13px;line-height:1.5;min-width:0}.sync-actions{grid-column:2;grid-row:1/3;margin:0}.icon-button{height:44px;width:44px}.icon-button span{display:none}.icon-button svg{width:21px;height:21px}.sync-actions>span{display:none}.scope-strip{font-size:14px;align-items:flex-start;padding-bottom:13px}.scope-strip button{font-size:14px}.compact-score-heading h2{font-size:21px}.data-chip{font-size:11px;padding:5px 6px}.compact-score-heading{align-items:flex-start;gap:10px}.ballot-status-notice{font-size:13px;line-height:1.55;margin-bottom:13px}.paired-card{padding:18px 16px}.candidate-portrait{width:56px;height:67px}.paired-card .candidate-name{font-size:19px}.candidate-party{font-size:13px}.paired-card .candidate-identity{gap:12px}.paired-card .candidate-top{display:block}.paired-card .rank-label{display:none}.paired-rounds{grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;position:relative}.round-arrow{position:absolute;left:calc(50% - 10px);top:40px;width:20px;margin:0;font-size:23px}.paired-round-label{font-size:13px;letter-spacing:.1px}.paired-share{font-size:40px;letter-spacing:-1.6px}.paired-share small{font-size:20px;margin-left:1px}.paired-votes{font-size:14px;margin-top:7px}.paired-gain{display:grid;grid-template-columns:1.45fr 1fr;gap:12px;margin-top:18px;padding-top:15px}.paired-gain strong{font-size:30px;letter-spacing:-1px}.paired-gain b{font-size:19px}.paired-gain small{font-size:13px;line-height:1.5;display:block;margin-top:5px}.scoreboard{gap:17px}.score-caption{font-size:13px;margin-top:13px}.notice,.overview-panel>.notice{font-size:14px;padding:13px 14px;line-height:1.65}.notice-icon{width:19px;height:19px;font-size:12px}.metric-grid{gap:12px;margin-top:19px}.metric-card{padding:15px 13px;min-height:145px}.metric-label{font-size:14px}.metric-value{font-size:32px}.metric-note{font-size:13px}.all-ballot-score{padding:16px}.all-score-label .eyebrow{font-size:12px}.all-score-label p{font-size:13px}.all-score-candidates{gap:16px}.all-score-candidate{font-size:13px}.all-score-candidates strong{font-size:23px}.all-score-candidates small{font-size:13px}.section-heading .eyebrow,.panel-heading .eyebrow,.geography-panel .eyebrow{font-size:13px;letter-spacing:.2px}.section-heading h2,.indicators-section h2,.panel-heading h2{font-size:23px}.mini-label{font-size:12px;white-space:normal}.indicators-grid{grid-template-columns:1fr;gap:14px}.indicator-card,.indicator-card.flip-card{grid-column:auto;padding:20px}.indicator-card h3{font-size:18px;min-height:0}.indicator-rates{margin-top:18px;gap:18px}.indicator-rates small{font-size:13px}.indicator-rates b{font-size:34px}.indicator-rates i{font-size:24px}.indicator-delta strong{font-size:17px}.indicator-delta span{font-size:13px}.indicator-card p{font-size:14px}.flip-value{font-size:45px}.flip-value small{font-size:14px}.flip-sections{font-size:14px}.flip-sections strong{font-size:19px}.trend-overview{padding:18px}.trend-overview h3{font-size:18px}.trend-overview p{font-size:14px}.trend-overview .scenario-shares{font-size:14px;white-space:normal;flex-wrap:wrap}.scenario-shares strong{font-size:25px}.geography-panel{padding:19px 16px}.geography-panel .panel-description{font-size:15px;margin-top:13px}.segmented{margin-top:17px}.segmented button{font-size:15px;min-height:44px;padding:9px 14px}.sort-description{font-size:14px;line-height:1.6}.sort-button{font-size:14px;min-height:48px}.sort-button .table-candidate-name{font-size:13px}#geography-table table{min-width:1450px;font-size:15px}#geography-table td,#geography-table th{padding:16px 12px}#geography-table td:first-child,#geography-table th:first-child{min-width:200px;max-width:230px;padding-left:8px}#geography-table .table-votes,#geography-table td .delta{font-size:15px}.row-place{font-size:15px;min-height:44px}.row-sub{font-size:13px}.methodology-disclosure>summary{font-size:17px;min-height:54px;padding:16px}.methodology-copy{padding:17px}.methodology-copy p{font-size:16px}.official-links{font-size:15px}.site-footer{font-size:13px;display:block}.footer-brand{font-size:16px;margin-bottom:10px}.footer-brand span{font-size:13px}.site-footer p{margin-bottom:9px}.error-banner{font-size:14px}.empty-state{font-size:15px}}
.paired-card .candidate-party{font-size:13px;letter-spacing:.1px}html[data-theme="light"] .ballot-status-notice{color:#875006}html[data-theme="light"] .ballot-status-notice:before{background:#875006}
@media(max-width:600px){.paired-rounds>.round-arrow{top:3px}}

/* Collected totals remain beside the matched second-round percentage. */
.paired-rounds{grid-template-columns:minmax(0,.88fr) 28px minmax(0,1.12fr)}.paired-share-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 7px}.paired-share-line>.paired-share{flex:0 0 auto}.collected-share{display:inline-block;white-space:nowrap;font-family:var(--font);font-size:20px;font-weight:550;line-height:1.35;letter-spacing:-.3px;color:var(--muted)}.collected-share sup{font-size:15px;line-height:0;vertical-align:super;margin-left:1px}.score-totalizer-footnote{color:var(--text);margin-top:8px}.score-totalizer-footnote strong{color:var(--text);font-size:16px}
@media(max-width:1100px){.collected-share{font-size:18px}}
@media(max-width:600px){.paired-rounds{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.paired-share-line{display:flex;gap:4px 0}.collected-share{flex-basis:100%;font-size:18px;line-height:1.4}.collected-share sup{font-size:14px}.score-totalizer-footnote{margin-top:9px}}

.paired-share .totalizer-star{font-size:20px;vertical-align:super;line-height:0;letter-spacing:0;margin-left:2px}

/* Four primary indicators; collection and coverage cards follow the territories. */
.indicators-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.indicator-card{grid-column:auto}.indicator-counts{display:grid;gap:7px}.indicator-counts>span{display:flex;align-items:baseline;justify-content:space-between;gap:4px;flex-wrap:wrap}.indicator-counts small{margin:0}.indicator-counts b{font-size:25px;overflow-wrap:anywhere}.indicator-counts>span:last-child b{color:var(--cyan)}
@media(max-width:1100px){.indicators-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.indicators-grid{grid-template-columns:1fr}.indicator-counts b{font-size:30px}}

/* Coverage measures collected BUs against the known section catalog. */
.ballot-progress{margin-top:18px;padding:17px 20px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.ballot-progress-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}.ballot-progress-heading h3{font-size:16px;line-height:1.5;letter-spacing:0}.ballot-progress-heading strong{font-family:var(--heading);font-size:24px;line-height:1.3;color:var(--cyan);text-align:right;white-space:nowrap}.ballot-progress-track{height:12px;background:var(--panel-soft);border:1px solid var(--line);border-radius:999px;overflow:hidden}.ballot-progress-fill{display:block;height:100%;max-width:100%;background:var(--cyan);border-radius:999px}.ballot-progress-fill.has-progress{min-width:5px}.ballot-progress p{font-size:14px;line-height:1.6;color:var(--muted);margin-top:10px}
@media(max-width:600px){.ballot-progress{padding:16px;margin-top:16px}.ballot-progress-heading{align-items:flex-start;flex-wrap:wrap;gap:6px 12px}.ballot-progress-heading h3{font-size:16px;flex:1 1 160px}.ballot-progress-heading strong{font-size:22px;white-space:normal}.ballot-progress p{font-size:14px}}

/* Keep the four percentage cards readable without overlapping the arrow. */
.indicator-rates{gap:6px}.indicator-rates b{font-size:26px}.indicator-rates i{font-size:18px}.indicator-counts b{font-size:25px}
@media(max-width:600px){.indicator-rates{gap:16px}.indicator-rates b{font-size:34px}.indicator-rates i{font-size:24px}.indicator-counts b{font-size:30px}}

@media(max-width:600px){.indicator-rates:not(.indicator-counts){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.indicator-rates:not(.indicator-counts) i{display:none}.indicator-rates:not(.indicator-counts) b{font-size:32px}.indicator-rates:not(.indicator-counts)>span:last-child{text-align:right}}

/* Section coverage uses the same catalog denominators as the main progress bar. */
#geography-table .row-place{width:100%;min-height:0;cursor:default}#geography-table .territory-title{display:block;font-weight:650}#geography-table .row-sub{white-space:normal;font-size:14px;line-height:1.5;margin-top:5px}.territory-progress{display:block;width:100%;height:7px;max-width:270px;margin-top:9px;border-radius:999px;overflow:hidden;background:var(--panel-soft);border:1px solid var(--line)}.territory-progress>span{display:block;height:100%;max-width:100%;border-radius:999px;background:var(--cyan)}

/* Keep the seven public territory columns readable, including national vote totals. */
#geography-table{max-width:100%;overflow:auto;overscroll-behavior-inline:contain}#geography-table table{min-width:1060px;width:100%;font-variant-numeric:tabular-nums}#geography-table td.numeric,#geography-table th.numeric{white-space:nowrap}#geography-table td:first-child,#geography-table th:first-child{min-width:250px;max-width:300px}#geography-table .sort-button .table-candidate-name{white-space:nowrap}
@media(max-width:600px){#geography-table table{min-width:1030px}#geography-table td:first-child,#geography-table th:first-child{min-width:220px;max-width:250px}}

/* Compact coverage: the section counts sit inside the track. */
.ballot-progress{padding:12px 16px;margin-top:15px}.ballot-progress-heading{margin-bottom:7px}.ballot-progress-heading strong{font-size:22px}.ballot-progress-track{position:relative;isolation:isolate;height:auto;min-height:34px;display:grid;align-items:center;border-radius:8px}.ballot-progress-fill{position:absolute;left:0;top:0;bottom:0;height:100%;z-index:0;background:color-mix(in srgb,var(--cyan) 23%,transparent);border-radius:7px}.ballot-progress-text{position:relative;z-index:1;display:block;padding:6px 10px;font-size:14px;line-height:1.45;color:var(--text);text-align:center}
/* Preserve full vote counts while letting their labels and groups wrap. */
.paired-round{min-width:0}.paired-votes strong,.paired-gain b,.metric-value,.indicator-counts b{white-space:nowrap;font-variant-numeric:tabular-nums}.paired-votes{overflow-wrap:normal;word-break:normal}.paired-gain{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px 20px}.paired-gain>span{display:block;min-width:0;max-width:100%;flex:0 1 auto}.paired-gain small{display:block}.indicator-counts b{overflow-wrap:normal;word-break:normal}.indicator-delta span{max-width:100%;overflow-wrap:anywhere}.metric-value{letter-spacing:-.7px}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ballot-progress{padding:11px 13px;margin-top:14px}.ballot-progress-heading{flex-wrap:nowrap;gap:8px}.ballot-progress-heading h3{flex:1 1 auto;font-size:16px}.ballot-progress-heading strong{flex:0 0 auto;font-size:20px}.ballot-progress-text{font-size:14px;padding:6px 9px}.paired-gain{display:flex;gap:14px 18px}.paired-gain b{font-size:19px}}
@media(max-width:480px){.metric-grid{grid-template-columns:1fr}}

/* Candidate names span their three sortable indicators in two sticky header rows. */
#geography-table thead tr:first-child>th{top:0;height:44px;padding:8px 14px;z-index:4;line-height:24px}#geography-table thead .candidate-group{font-size:17px;font-weight:750;text-align:center;white-space:nowrap;border-bottom:1px solid var(--line)}#geography-table thead tr:nth-child(2)>th{top:44px;left:auto;min-width:0;max-width:none;height:60px;padding:4px 14px;z-index:3}#geography-table thead .territory-name-header{left:0;z-index:6;vertical-align:middle;min-width:250px;max-width:300px}#geography-table thead .territory-name-header .sort-button{min-height:76px}#geography-table thead tr:nth-child(2) .sort-button{min-height:48px}#geography-table thead .sort-button>span{display:flex;align-items:center;justify-content:flex-end;gap:6px}#geography-table .territory-name-header .sort-button>span{justify-content:flex-start}
@media(max-width:600px){#geography-table thead .territory-name-header{min-width:220px;max-width:250px}#geography-table thead .candidate-group{font-size:17px}}

/* Keep the pinned territory column narrow enough to read numbers on phones. */
@media(max-width:600px){#geography-table table{table-layout:fixed}#geography-table colgroup:first-of-type col{width:150px}#geography-table .territory-name-header,#geography-table tbody td:first-child{width:150px;min-width:150px;max-width:150px}}

/* Fit both presidential comparisons and section progress in the desktop viewport. */
@media(min-width:801px){
  .ad-banner{min-height:54px;margin-top:8px;margin-bottom:8px;padding-top:8px;padding-bottom:8px}
  .site-header{height:68px}
  .intro{padding-top:10px;padding-bottom:6px;gap:12px}
  .compact-score-heading{margin-bottom:8px}
  .compact-score-heading h2{font-size:22px}
  .paired-card{padding:16px 18px}
  .candidate-portrait{width:48px;height:57px;border-radius:9px}
  .paired-card .candidate-identity{gap:11px}
  .paired-card .candidate-name{font-size:21px}
  .paired-rounds{margin-top:12px;gap:12px}
  .paired-share{font-size:44px}
  .paired-share small{font-size:23px}
  .paired-votes{font-size:15px;margin-top:5px}
  .paired-round .candidate-bar{height:5px;margin-top:8px}
  .paired-gain{margin-top:12px;padding-top:10px;gap:10px 16px;align-items:baseline}
  .paired-gain>span{display:flex;align-items:baseline;gap:7px}
  .paired-gain strong{font-size:30px;line-height:1.2}
  .paired-gain b{font-size:20px;line-height:1.4}
  .paired-gain small{display:inline;font-size:13px;line-height:1.5;margin:0}
  .ballot-progress{margin-top:12px;padding:10px 14px}
  .ballot-progress-heading{margin-bottom:5px}
}
@media(min-width:801px) and (max-width:1100px){
  .paired-gain>span{display:block}
  .paired-gain small{display:block;margin-top:2px}
}
