:root{color-scheme:light;--navy:#112a42;--ink:#172c3b;--muted:#566674;--paper:#f5f3ed;--line:#d5dcd9;--mint:#157c71;--mint-light:#d7eee7;--amber:#aa651e;--amber-light:#f0d9b9;--red:#b53744;--blue:#3666a5}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--navy)}button,input,select{font:inherit}button,select{cursor:pointer}button{border:1px solid #bbc9c6;background:white;color:var(--navy);padding:9px 15px;border-radius:4px}button:hover{background:#e6efeb}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:3px solid #137fce;outline-offset:3px}.skip{position:absolute;top:-80px;z-index:20;background:white;padding:12px}.skip:focus{top:0}.masthead{padding:17px max(24px,calc((100vw - 1450px)/2));border-top:5px solid var(--navy);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fffdf8}.wordmark{font:bold 29px/1 Georgia,serif;letter-spacing:-1px;text-decoration:none}.masthead>span{font-size:12px;text-transform:uppercase;letter-spacing:1.3px}main{max-width:1500px;margin:auto;padding:0 25px}.intro{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:35px 0 27px}h1,h2,h3,p{margin-top:0}h1{font:normal clamp(30px,3.5vw,48px)/1.14 Georgia,serif;letter-spacing:-1.5px;margin-bottom:12px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:1.8px;margin-bottom:10px}.deck{font-size:16px;color:var(--muted);max-width:730px;margin-bottom:0}.edition{flex-shrink:0;background:white;border:1px solid var(--line);border-radius:4px;padding:16px 18px;max-width:340px;font-size:13px}.edition small{display:block;color:var(--muted);margin-top:5px}.status-dot{display:inline-block;border-radius:50%;height:8px;width:8px;background:var(--mint);margin-right:8px}.section-line{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:15px 0}.section-line h2{font-size:15px;margin:0}.section-line>span{font-size:13px;color:var(--muted)}.candidate-grid{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr 1fr;gap:10px;margin-bottom:24px}.candidate{background:#fffdf9;border:1px solid var(--line);border-top:3px solid #819091;padding:15px 18px}.candidate.rep{border-top-color:var(--red)}.candidate.dem{border-top-color:var(--blue)}.candidate>span{font-size:10px;letter-spacing:1px;color:var(--muted);font-weight:bold}.candidate h3{font-size:15px;margin:4px 0 8px}.candidate strong{font-size:26px;display:block;font-variant-numeric:tabular-nums;line-height:1.2}.candidate small{color:var(--muted);font-size:12px}.workspace{border:1px solid var(--line);background:white;border-radius:5px;overflow:hidden}.toolbar{background:var(--navy);display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:10px}.tabs{display:flex;gap:8px}.tabs button{background:transparent;border-color:#74818d;color:white}.tabs button[aria-pressed=true]{color:var(--navy);background:#e2f3ec;border-color:#e2f3ec}.toolbar>.quiet{color:white;background:transparent;border-color:#728191}.filters{display:flex;gap:18px;padding:17px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}.filters label{display:flex;flex-direction:column;gap:4px;font-size:11px;text-transform:uppercase;letter-spacing:.7px;font-weight:650}.filters select{padding:8px 32px 8px 10px;min-width:190px;max-width:100%;border:1px solid #c8d1ce;border-radius:3px;background:#fff;color:var(--ink);font-size:13px;letter-spacing:0}.comparison-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 22px;background:#edf4f0;border-bottom:1px solid var(--line)}.comparison-strip .eyebrow{margin-bottom:8px}.comparison-numbers{display:flex;gap:35px}.comparison-numbers span{display:flex;flex-direction:column;white-space:nowrap}.comparison-numbers small{font-size:12px;color:var(--muted)}.comparison-numbers strong{font-size:29px;font-variant-numeric:tabular-nums;line-height:1.3}.delta strong{color:var(--mint)}#coverage{max-width:360px;font-size:12px;color:var(--muted);margin:0}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;min-height:535px}.map-shell{position:relative;min-width:0;background:#e8eeeb}#map{width:100%;height:535px}.map-message{position:absolute;left:14px;top:12px;max-width:80%;padding:8px 12px;background:#fffffff0;font-size:12px;pointer-events:none}.legend{position:absolute;bottom:22px;left:16px;padding:10px 13px;background:#fffffff0;border:1px solid #d5dcd9;border-radius:3px;font-size:11px;max-width:90%;box-shadow:0 2px 8px #142c4210}.legend strong{display:block;margin-bottom:5px}.legend span{display:inline-flex;align-items:center;margin-right:12px;gap:5px}.swatch{width:11px;height:11px;border:1px solid #0002}.detail{padding:23px 20px;border-left:1px solid var(--line)}.detail h2{font:normal 25px/1.2 Georgia,serif;margin-bottom:8px}.detail p{font-size:12px;color:var(--muted)}.detail .eyebrow{color:var(--ink)}.detail table{width:100%;margin:12px 0 16px;font-size:12px}.detail th,.detail td{padding:5px 1px;text-align:left;border-bottom:1px solid #e3e8e6}.detail td{text-align:right;font-variant-numeric:tabular-nums}.detail .swing{font-size:28px;color:var(--mint);margin-bottom:3px;font-weight:650}.quiet{font-size:12px;padding:7px 10px}.method-note{font-size:12px;color:var(--muted);padding:12px 20px;margin:0;border-top:1px solid var(--line)}.precinct-table-section{margin-top:28px}.search-label{font-size:11px;display:flex;align-items:center;gap:10px;color:var(--muted)}input{padding:9px 11px;background:white;border:1px solid #bfcac7;border-radius:3px;width:230px}.table-scroll{overflow-x:auto;border:1px solid var(--line);background:white}.table-scroll table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:13px}caption{text-align:left;padding:10px 14px;font-size:12px;color:var(--muted);background:#f0f3ef}th{background:#f6f8f4;font-size:11px;text-transform:uppercase;letter-spacing:.3px}td,th{padding:10px 14px;text-align:right;border-bottom:1px solid #e4e8e5;font-variant-numeric:tabular-nums}th:first-child,th:nth-child(2),td:first-child,td:nth-child(2){text-align:left}.table-scroll tr:hover td{background:#f5f8f4}.table-scroll th button{font-size:11px;padding:1px 4px;border:0;background:none;text-transform:uppercase;font-weight:bold}.precinct-link{border:0;background:none;padding:0;color:var(--navy);font-size:13px;text-decoration:underline}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:15px;margin-top:12px;font-size:12px}.pagination button{padding:6px 12px}footer{border-top:1px solid var(--line);margin-top:30px;padding:20px 0 35px;font-size:11px;color:var(--muted)}footer p{max-width:1200px;margin-bottom:9px}.notice,.bulletin{padding:12px 16px;border-left:4px solid var(--amber);background:#fbecd3;margin-bottom:15px;font-size:13px}.bulletin{border-color:var(--mint);background:#dcf1e6}.rehearsal{position:sticky;top:0;z-index:10;text-align:center;font-size:13px;letter-spacing:1.1px;font-weight:bold;background:#f0be63;color:#302715;padding:10px}.workspace:fullscreen{overflow:auto;display:flex;flex-direction:column}.workspace:fullscreen .map-layout{flex:1}.workspace:fullscreen #map{height:calc(100vh - 290px);min-height:400px}[hidden]{display:none!important}@media(max-width:1000px){.candidate-grid{grid-template-columns:repeat(3,1fr)}.map-layout{grid-template-columns:minmax(0,1fr) 250px}.comparison-strip{align-items:flex-start}.comparison-numbers{gap:23px}.comparison-numbers strong{font-size:25px}#coverage{max-width:270px}.edition{max-width:275px}.masthead>span{font-size:10px}}@media(max-width:700px){main{padding:0 13px}.masthead{padding:15px;display:block}.wordmark{font-size:25px}.masthead>span{display:block;margin-top:8px}.intro{display:block;padding:25px 0 20px}.edition{margin-top:18px;max-width:none;padding:10px 14px}.candidate-grid{grid-template-columns:1fr 1fr;gap:7px}.candidate:last-child{grid-column:1/-1}.candidate{padding:12px}.candidate strong{font-size:23px}.candidate h3{font-size:14px}.toolbar{align-items:stretch;padding:10px;flex-wrap:wrap}.tabs{gap:5px;flex:1}.tabs button{padding:8px;font-size:11px;flex:1}.toolbar>.quiet{font-size:11px}.filters{gap:10px;padding:12px}.filters label{flex:1;min-width:130px}.filters select{min-width:0;width:100%;font-size:12px;padding-left:6px}.comparison-strip{display:block;padding:16px 13px}.comparison-numbers{justify-content:space-between;gap:10px}.comparison-numbers strong{font-size:24px}.comparison-numbers small{font-size:10px}#coverage{margin-top:12px;max-width:none}.map-layout{display:block}#map{height:380px}.detail{border-left:0;border-top:1px solid var(--line);padding:18px}.detail h2{font-size:23px}.detail table{max-width:500px}.detail .swing{font-size:25px}.section-line{align-items:flex-start}.section-line>span{text-align:right;font-size:11px}.precinct-table-section .section-line{display:block}.search-label{display:block;margin-top:10px}.search-label input{display:block;margin-top:4px;width:100%}.workspace:fullscreen #map{height:50vh;min-height:260px}.legend{bottom:25px;left:8px;padding:8px}.legend span{margin-right:7px}.method-note{padding:12px}.pagination{justify-content:space-between}}

.maps-backlink{padding-top:18px;font-size:12px}.maps-backlink a{font-weight:650;text-decoration:underline;text-underline-offset:3px}.maps-backlink+.intro{padding-top:22px}
/* Statewide race navigation and Election Day arrival tracking. */
.race-lineup{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 22px}.race-lineup button{text-align:left;background:#fffdf8;padding:10px 13px;border-color:var(--line)}.race-lineup button[aria-pressed=true]{border-color:var(--mint);background:#e3f1eb;box-shadow:inset 3px 0 var(--mint)}.race-lineup strong,.race-lineup small{display:block}.race-lineup strong{font-size:12px}.race-lineup small{font-size:10px;color:var(--muted);margin-top:3px}.candidate-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.toolbar{align-items:flex-start}.tabs{flex-wrap:wrap}.tabs button{font-size:12px}.reporting-panel{padding:17px 21px;background:#f5f8f4;border-bottom:1px solid var(--line)}.reporting-heading{display:flex;gap:20px;justify-content:space-between;align-items:flex-start}.reporting-heading h2{font-size:15px;margin:0}.reporting-heading .eyebrow{margin-bottom:5px}.reporting-controls{display:flex;gap:12px}.reporting-controls label{display:flex;flex-direction:column;gap:4px;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.reporting-controls select{padding:7px 10px;border:1px solid #c8d1ce;border-radius:3px;color:var(--ink);background:white;font-size:12px}.reporting-counts{display:grid;grid-template-columns:1fr 1fr 1.5fr 1.5fr;gap:18px;margin-top:17px}.reporting-counts>div{border-left:3px solid var(--line);padding-left:11px}.reporting-counts>div:first-child{border-color:var(--mint)}.reporting-counts>div:nth-child(3){border-color:#ddb56d}.reporting-counts strong{display:block;font-size:30px;font-variant-numeric:tabular-nums;line-height:1.2}.reporting-counts span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.reporting-counts>p{font-size:11px;color:var(--muted);margin:0;align-self:center}.reporting-explanation{font-size:11px;margin:13px 0 0;color:var(--muted)}.report-tag{display:inline-block;padding:4px 8px;border-radius:3px;background:#e5e9e6;font-weight:650}.report-tag.election_day_received{background:#d7eee5;color:#125b4b}.report-tag.mail_early_only{background:#f1dfbd;color:#78501b}.arrival-section{margin-top:24px}.arrival-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.arrival-list>p{grid-column:1/-1;font-size:13px;color:var(--muted);padding:15px;background:white;border:1px solid var(--line);margin:0}.arrival-list button{text-align:left;font-size:11px;padding:10px 12px;background:#fffdf9}.arrival-list strong,.arrival-list span,.arrival-list small{display:block}.arrival-list span{color:var(--muted);margin-top:3px}.arrival-list small{font-size:10px;color:var(--mint);margin-top:3px}.comparison-numbers strong{font-size:26px}.operator-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0 0;background:var(--navy);color:white;padding:15px;border-radius:5px}.operator-bar>div{margin-right:auto}.operator-bar strong,.operator-bar small{display:block}.operator-bar small{font-size:11px;color:#c1d5d3;margin-top:4px}.operator-bar label{font-size:11px;display:flex;flex-direction:column;gap:4px}.operator-bar select{padding:7px;color:var(--ink);font-size:12px}.operator-bar a{color:#d7eee7;font-size:12px}.operator-bar #take-status{font-size:11px;max-width:150px}.operator-bar button{background:#c9ebdf;font-weight:750}.workspace:fullscreen #map{height:calc(100vh - 390px)}
body[data-output=program] .operator-bar,body[data-output=map-program] .operator-bar,body[data-output=program] .maps-backlink,body[data-output=map-program] .maps-backlink,body[data-output=program] .race-overview,body[data-output=map-program] .race-overview,body[data-output=program] .filters,body[data-output=map-program] .filters,body[data-output=program] .tabs,body[data-output=map-program] .tabs,body[data-output=program] .reporting-controls,body[data-output=map-program] .reporting-controls,body[data-output=program] #fullscreen,body[data-output=map-program] #fullscreen,body[data-output=program] #reset,body[data-output=map-program] #reset,body[data-output=program] .precinct-table-section,body[data-output=map-program] .precinct-table-section,body[data-output=program] footer,body[data-output=map-program] footer{display:none}body[data-output=program] .toolbar,body[data-output=map-program] .toolbar{min-height:5px;padding:0}body[data-output=map-program] .masthead,body[data-output=map-program] .intro,body[data-output=map-program] .candidate-grid,body[data-output=map-program] #pre-results-note,body[data-output=map-program] .arrival-section{display:none}body[data-output=map-program] .workspace{margin-top:10px}body[data-output=map-program] #map{height:calc(100vh - 270px);min-height:400px}body[data-output=map-program] #results .section-line{margin-top:12px}
@media(max-width:1000px){.reporting-heading{display:block}.reporting-controls{margin-top:12px}.reporting-counts{grid-template-columns:1fr 1fr 1.5fr}.reporting-counts>p{grid-column:1/-1}.comparison-numbers{gap:23px}.tabs button{padding:8px 10px}}
@media(max-width:700px){.race-lineup{grid-template-columns:repeat(2,minmax(0,1fr))}.race-lineup strong{font-size:11px}.candidate-grid{grid-template-columns:1fr 1fr}.candidate:last-child{grid-column:auto}.candidate:nth-child(5):last-child{grid-column:1/-1}.reporting-panel{padding:14px 12px}.reporting-controls{flex-wrap:wrap;gap:8px}.reporting-controls label{flex:1;min-width:140px}.reporting-counts{gap:9px;grid-template-columns:1fr 1fr 1.2fr}.reporting-counts strong{font-size:25px}.reporting-counts span{font-size:10px}.reporting-counts>div{padding-left:7px}.arrival-list{grid-template-columns:1fr 1fr}.arrival-section .section-line{display:block}.arrival-section .section-line>span{display:block;text-align:left;margin-top:5px}.tabs{flex-wrap:wrap}.tabs button{flex:1 1 30%;font-size:10px}.comparison-numbers{gap:12px}.comparison-numbers strong{font-size:22px}.reporting-heading h2{font-size:13px}.operator-bar{padding:12px}.operator-bar>div{flex-basis:100%}body[data-output=map-program] #map{height:50vh;min-height:300px}}
/* Keep the broadcast legend inside the map canvas, including short displays. */
body[data-output=map-program] .map-layout{min-height:0;align-items:start}body[data-output=map-program] .map-shell{height:calc(100vh - 300px);min-height:350px}body[data-output=map-program] #map{height:100%;min-height:0}@media(max-width:700px){body[data-output=map-program] .map-shell{height:50vh;min-height:300px}}

/* Keep polling-place names legible in selected precincts and compact result rows. */
.detail h2{font-size:21px;overflow-wrap:anywhere}.precinct-link{text-align:left;text-decoration:none}.precinct-link strong{text-decoration:underline;font-weight:600}.precinct-place{display:block;white-space:normal;max-width:250px;font-size:11px;line-height:1.35;color:var(--muted);margin-top:4px}.arrival-list strong{overflow-wrap:anywhere}
/* Explicit vote-method denominators, shared by statewide/county and precinct views. */
.vote-breakdown{margin:0 0 22px;border:1px solid var(--line);background:#fffdf8;border-radius:4px;padding:14px 16px}.method-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.method-totals>div+div{border-left:1px solid var(--line);padding-left:16px}.method-totals span,.method-totals small{display:block;font-size:11px;color:var(--muted)}.method-totals strong{display:block;font-size:23px;font-variant-numeric:tabular-nums;margin:4px 0}.method-components,.breakdown-note{font-size:11px;color:var(--muted);line-height:1.5}.vote-breakdown summary{cursor:pointer;font-size:12px;font-weight:650;padding:5px 0}.breakdown-scroll{overflow-x:auto;max-width:100%}.vote-breakdown table{border-collapse:collapse;width:100%;min-width:700px;font-size:12px}.vote-breakdown th,.vote-breakdown td{padding:10px 9px;border-bottom:1px solid var(--line);text-align:right;vertical-align:top;white-space:nowrap}.vote-breakdown th:first-child{text-align:left;white-space:normal;min-width:135px}.vote-breakdown td strong,.vote-breakdown td small{display:block}.vote-breakdown td small{font-size:10px;color:var(--muted);margin-top:3px}.vote-breakdown caption{text-align:left;font-size:12px;font-weight:650;padding:10px 0}.vote-breakdown tfoot th,.vote-breakdown tfoot td,.vote-table tfoot th,.vote-table tfoot td{border-top:2px solid var(--line);font-weight:700}.detail .vote-table{table-layout:fixed;width:100%}.detail .vote-table th:first-child{width:48%;text-align:left}.detail .vote-table td,.detail .vote-table th{font-size:11px;padding:7px 3px}.detail .vote-table thead th{font-size:10px;color:var(--muted)}.detail .vote-table td{text-align:right}.detail .vote-breakdown{padding:10px;margin:12px 0 20px;min-width:0}.compact .method-totals{grid-template-columns:1fr;gap:7px}.compact .method-totals>div{border-left:0;padding-left:0;display:grid;grid-template-columns:1fr auto;column-gap:7px}.compact .method-totals strong{font-size:17px;margin:0}.compact .method-totals small{grid-column:1/-1}.compact .method-components{font-size:10px}.detail .vote-breakdown table{table-layout:auto;min-width:700px}.detail .vote-breakdown td,.detail .vote-breakdown th{padding:8px}.reporting-counts .precinct-share{font-size:11px;color:var(--muted);display:block;margin-top:4px}.county-key{border-top:2px solid #193b4a;border-bottom:1px solid #fffdf5;height:4px!important;border-radius:0!important}body[data-output=map-program] #method-breakdown{display:none}@media(max-width:700px){.vote-breakdown{padding:11px}.method-totals{gap:9px}.method-totals>div+div{padding-left:9px}.method-totals span,.method-totals small{font-size:10px}.method-totals strong{font-size:19px}.reporting-counts .precinct-share{font-size:10px}}
.map-layout{align-items:start}.detail{min-width:0}

/* Precinct links return to the map without changing the map camera. */
.map-layout{scroll-margin-top:58px}.other-precinct-results{border-top:1px solid var(--line);padding-top:12px;margin-top:15px}.other-precinct-results h3{font-size:13px;margin:0 0 5px}.other-results-note{font-size:10px;color:var(--muted);line-height:1.5}.other-precinct-results details{border-bottom:1px solid var(--line);padding:9px 0}.other-precinct-results summary{cursor:pointer;font-size:11px;line-height:1.45}.other-precinct-results summary strong{font-weight:700}.other-precinct-results summary span{display:block;margin:3px 0 0 13px;color:var(--muted)}.other-precinct-results .vote-table{margin-top:9px}

/* Keep all contest results alongside the map on desktop; let mobile flow below it. */
.map-layout{--precinct-panel-height:535px}.detail{max-height:var(--precinct-panel-height);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.precinct-panel-hint{font-size:10px;color:var(--muted);margin:7px 0 12px}.workspace:fullscreen .map-layout{--precinct-panel-height:max(400px,calc(100vh - 390px))}body[data-output=map-program] .map-layout{--precinct-panel-height:max(350px,calc(100vh - 300px))}@media(max-width:700px){.detail{max-height:none;overflow:visible;scrollbar-gutter:auto}.precinct-panel-hint{display:none}}

/* Stack method cells when their container is narrow, including the precinct sidebar. */
.vote-breakdown{container:vote-methods / inline-size}.vote-breakdown .method-value{display:block;min-width:0;max-width:100%}.vote-breakdown .method-totals>div{min-width:0}.vote-breakdown .method-totals span,.vote-breakdown .method-totals small,.vote-breakdown .method-components,.vote-breakdown .breakdown-note{overflow-wrap:anywhere}
@container vote-methods (max-width:900px){
 .vote-breakdown .breakdown-scroll{overflow:visible;min-width:0;width:100%}
 .vote-breakdown .breakdown-scroll table,.detail .vote-breakdown .breakdown-scroll table{display:block;table-layout:auto;min-width:0;max-width:100%;width:100%}
 .vote-breakdown .breakdown-scroll caption{display:block;white-space:normal;overflow-wrap:anywhere;padding:9px 0}
 .vote-breakdown .breakdown-scroll thead{display:none}
 .vote-breakdown .breakdown-scroll tbody,.vote-breakdown .breakdown-scroll tfoot{display:block}
 .vote-breakdown .breakdown-scroll tr{display:block;margin:10px 0;border:1px solid var(--line);border-radius:3px;overflow:visible}
 .vote-breakdown .breakdown-scroll th:first-child,.detail .vote-breakdown .breakdown-scroll th:first-child{display:block;min-width:0;width:auto;padding:9px;white-space:normal;overflow-wrap:anywhere;text-align:left}
 .vote-breakdown .breakdown-scroll td,.detail .vote-breakdown .breakdown-scroll td{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8px;min-width:0;padding:8px;white-space:normal;text-align:right}
 .vote-breakdown .breakdown-scroll td:before{content:attr(data-label);text-align:left;font-size:11px;color:var(--muted);overflow-wrap:anywhere}
 .vote-breakdown .breakdown-scroll td strong,.vote-breakdown .breakdown-scroll td small{white-space:normal;overflow-wrap:anywhere}
 .vote-breakdown .breakdown-scroll td:last-child{border-bottom:0}
}
@container vote-methods (max-width:480px){
 .vote-breakdown .method-totals{grid-template-columns:minmax(0,1fr);gap:9px}
 .vote-breakdown .method-totals>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3px 8px;border-left:0;padding-left:0}
 .vote-breakdown .method-totals strong{font-size:19px;margin:0;text-align:right;overflow-wrap:anywhere}
 .vote-breakdown .method-totals small{grid-column:1/-1}
}

/* Keep selection and results together beneath the display tabs. */
.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}
.filters .race-filter{flex:1 1 280px;min-width:0;max-width:450px}.filters .race-filter select{width:100%;min-width:0}
.workspace #results{padding:18px 20px 0;border-bottom:1px solid var(--line)}.results-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.results-heading h2{font-size:15px;margin:0 0 5px}.results-heading #reporting{font-size:12px;color:var(--muted);margin:0}.results-heading .edition{padding:10px 12px;font-size:12px}.workspace #results>.notice,.workspace #results>.bulletin{margin:0 0 16px}body[data-output=map-program] .results-heading .edition{display:none}
@media(max-width:700px){.filters .race-filter{flex-basis:100%;max-width:none}.workspace #results{padding:14px 12px 0}.results-heading{display:block;margin-bottom:12px}.results-heading h2{font-size:14px}.results-heading .edition{margin-top:10px;padding:8px 10px}.results-heading .edition small{font-size:11px}}

/* Results and precinct reporting are separate views; Governor adds its own result selector. */
.report-detail-counts{margin:16px 0}.report-detail-counts>div{padding:10px 0;border-bottom:1px solid var(--line)}.report-detail-counts dt{font-size:11px;color:var(--muted)}.report-detail-counts dd{font-size:25px;font-weight:650;margin:4px 0 0;font-variant-numeric:tabular-nums}
@media(max-width:700px){.filters #governor-view-label{flex-basis:100%}}

/* Schematic countywide vote inset in the open space below the panhandle. */
.central-buckets{position:absolute;top:30%;left:4%;z-index:2;width:172px;pointer-events:none}.central-buckets h2{font-size:10px;letter-spacing:.6px;text-transform:uppercase;text-align:center;margin:0 0 9px;color:#3e524d;text-shadow:0 1px 2px #fff}.central-bucket-buttons{display:grid;grid-template-columns:repeat(2,76px);gap:12px 20px}.central-bucket{pointer-events:auto;width:76px;height:76px;border:2px dashed #9c793b;border-radius:50%;background:#fffaf0f5;padding:6px 2px;box-shadow:0 2px 5px #172c3b20;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2}.central-bucket:hover{background:#f9edcf}.central-bucket[aria-pressed=true]{border:3px solid #71541f;background:#f6e3b5;padding:5px 1px;box-shadow:0 0 0 3px #fff9,0 2px 5px #172c3b20}.central-bucket .central-county{font-size:10px;font-weight:600}.central-bucket strong{font-size:13px;margin:2px 0}.central-bucket small{font-size:10px;font-variant-numeric:tabular-nums;color:var(--muted)}.central-detail-note{border-left:3px solid #ad8d4f;padding-left:8px}
@media(max-width:700px){.central-buckets{left:10px;top:29%;width:124px}.central-buckets h2{font-size:8px;letter-spacing:.2px;margin-bottom:6px}.central-bucket-buttons{grid-template-columns:repeat(2,58px);gap:8px}.central-bucket{width:58px;height:58px;padding:3px 1px}.central-bucket[aria-pressed=true]{padding:2px 0}.central-bucket .central-county{font-size:8px}.central-bucket strong{font-size:11px;margin:1px 0}.central-bucket small{font-size:8px}}

.filters #legislative-label{flex:1 1 250px;max-width:450px}.filters #legislative-race{width:100%}@media(max-width:700px){.filters #legislative-label{flex-basis:100%;max-width:none}}

/* Teal identifies the precinct-arrival view; navy remains the results view. */
.tabs button[data-mode=reporting]{background:#e0f3ed;color:#145a4d;border:2px solid #70c5b0}
.tabs button[data-mode=reporting][aria-pressed=true]{background:#15745f;color:#fff;border-color:#b6eadb;box-shadow:inset 0 -3px #b6eadb}
body[data-map-view=reporting] .toolbar{background:#123f37}
body[data-map-view=reporting] .filters{background:#eaf6f1;border-bottom-color:#badbd0}
body[data-map-view=reporting] .reporting-panel{background:#edf7f2;border-top:3px solid #15745f}

/* Keep the reporting-view notice and rehearsal label together above a scrolled page. */
.view-notices{position:sticky;top:0;z-index:15}
.view-notices .rehearsal{position:static}
.reporting-view-notice{padding:12px 20px;text-align:center;background:#123f37;color:#fff;border-bottom:3px solid #70c5b0;font-size:14px;line-height:1.5}
.reporting-view-notice button{display:inline;padding:0;border:0;border-radius:0;background:none;color:#fff;text-decoration:underline;text-underline-offset:3px;font-weight:750;font-size:inherit}
.reporting-view-notice button:hover{color:#b6eadb;background:none}
.reporting-view-notice button:focus-visible{outline-color:#b6eadb}
.toolbar{scroll-margin-top:55px}
@media(max-width:700px){.reporting-view-notice{padding:10px 13px;font-size:12px}}

/* Results have an explicit selected state before JavaScript starts. */
.tabs button[data-mode=live]{display:inline-flex;align-items:center;justify-content:center;gap:9px}
.active-view-marker{display:none;font-size:8px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:3px 6px;border-radius:3px;background:#174871;color:#fff}
.tabs button[data-mode=live][aria-pressed=true]{background:#e1f0ff;color:#102f4d;border:2px solid #79bfff;box-shadow:inset 0 -3px #4597d0,0 0 0 1px #79bfff20;font-weight:750}
.tabs button[data-mode=live][aria-pressed=true] .active-view-marker{display:inline-block}
body[data-map-view=results] .filters{background:#edf4fb;border-bottom-color:#bed5e5}
/* Animate both the notice and its space, preserving the rehearsal banner above it. */
.reporting-notice-slot{display:grid;grid-template-rows:0fr;transition:grid-template-rows 320ms cubic-bezier(.22,.61,.36,1)}
.reporting-notice-slot.is-visible{grid-template-rows:1fr}
.reporting-notice-clip{min-height:0;overflow:hidden}
.reporting-notice-slot .reporting-view-notice{opacity:0;transform:translateY(-10px);transition:opacity 260ms ease,transform 320ms cubic-bezier(.22,.61,.36,1)}
.reporting-notice-slot.is-visible .reporting-view-notice{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.reporting-notice-slot,.reporting-notice-slot .reporting-view-notice{transition:none}}

/* A persistent, explicit reminder whenever the entire results view is filtered. */
.vote-method-notice{display:flex;align-items:center;justify-content:center;gap:24px;padding:11px 20px;background:#fff0c9;color:#473008;border-bottom:3px solid #ba790c;box-shadow:0 3px 12px #172c3b18}
.vote-method-notice>div{min-width:0}.vote-method-kicker{display:block;font-size:9px;font-weight:800;letter-spacing:1.5px;color:#865a13}.vote-method-title{display:block;font-size:17px;line-height:1.35}.vote-method-description{display:block;font-size:11px;line-height:1.4;margin-top:2px}
.vote-method-notice .all-votes-link{flex-shrink:0;padding:10px 14px;border:1px solid #704b0d;border-radius:5px;background:#473008;color:#fff9ea;font-size:12px;font-weight:750;white-space:normal}.vote-method-notice .all-votes-link:hover{background:#704b0d}.all-votes-link span{margin-left:8px}
.command-vote-notice{display:none}.vote-method-filtered .map-layout{scroll-margin-top:118px}
@media(max-width:700px){.vote-method-notice{justify-content:space-between;gap:10px;padding:9px 12px}.vote-method-title{font-size:14px}.vote-method-description{font-size:10px}.vote-method-notice .all-votes-link{font-size:11px;padding:9px 10px;max-width:140px}.vote-method-filtered .map-layout{scroll-margin-top:145px}}

.comparison-detail{margin-top:16px}.comparison-candidate{padding:14px 0;border-bottom:1px solid var(--line)}.comparison-candidate:first-child{padding-top:0}.comparison-candidate h3{font-size:16px;margin:0 0 3px}.detail .comparison-candidate p{font-size:11px;margin:0 0 9px}.comparison-candidate>strong{display:block;font-size:30px;line-height:1.15;font-variant-numeric:tabular-nums}.comparison-candidate>strong small{font-size:11px;font-weight:500;color:var(--muted)}.comparison-candidate>span{display:block;margin-top:5px;font-size:14px;font-weight:650;font-variant-numeric:tabular-nums}.comparison-gap{padding:14px 0}.comparison-gap span{display:block;font-size:11px;color:var(--muted)}.comparison-gap strong{display:block;font-size:25px;color:var(--gap-color,var(--mint));font-variant-numeric:tabular-nums}.detail .comparison-context{font-size:11px;line-height:1.5;margin-bottom:10px}

.legend-scale-note{display:block;margin:0 0 6px;font-size:10px;line-height:1.4;color:#455d65}

/* Each result hue spans the same all-candidate share scale. */
.legend.results-shares .swatch:not(.county-key){width:34px}

/* A reported mail/early total is not an Election Day arrival. */
.opening-votes-note[hidden]{display:none!important}
.opening-votes-note{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;padding:12px 15px;background:#fff1cf;border:1px solid #dcae55;border-left:4px solid #bd7900;border-radius:4px;color:#513805;font-size:12px;line-height:1.45}
.opening-votes-note strong,.opening-votes-note span,.opening-votes-note small{display:block}.opening-votes-note strong{font-size:13px}.opening-votes-note small{font-size:11px;margin-top:3px}.opening-votes-note button{background:#fffaf0;border-color:#b07a1f;color:#513805;flex-shrink:0;font-size:12px;font-weight:700;padding:8px 11px}
.legend .pending-ed-key .swatch{background:transparent!important;border:2px dashed #bd7900;border-radius:0;width:24px;height:12px}
@media(max-width:700px){.opening-votes-note{align-items:stretch;flex-direction:column;gap:9px}.opening-votes-note button{align-self:start}}
