:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#253c39;background:#f7f9f9;font-synthesis:none;font-weight:400;font-size:16px;--green: #246c5e;--muted: #80908c;--line: #e6ece9}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #69ad96;outline-offset:4px}button{color:inherit}svg{display:block}button svg,.country-tag svg,.search-box svg,.selection-symbol svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}a{color:inherit}.site-header{height:86px;max-width:1600px;margin:auto;display:flex;align-items:center;padding:0 5%;border-bottom:1px solid var(--line);gap:32px}.brand{display:flex;gap:10px;align-items:center;font-size:26px;letter-spacing:-1px;font-weight:720;text-decoration:none}.brand-icon{display:grid;place-items:center;position:relative;background:#214f46;color:#fff;width:35px;height:35px;font-size:23px;border-radius:10px;font-weight:500;letter-spacing:-4px;padding-right:5px}.brand-icon span{color:#b0ddb2;font-size:30px;position:absolute;right:6px;bottom:1px}.header-caption{font-size:14px;color:#87938f;border-left:1px solid #dce4e0;padding-left:28px}.local-badge{margin-left:auto;display:flex;gap:7px;align-items:center;border:1px solid #e0e8e3;background:#fff;padding:7px 11px;border-radius:6px;color:#65776e;font-size:13px}.local-badge>span,.live-dot{display:inline-block;width:6px;height:6px;background:#75a88d;border-radius:50%}main{max-width:1600px;margin:auto;padding:48px 5% 25px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:650;color:#629580;margin-bottom:12px}h1{font-size:clamp(25px,2.5vw,36px);font-weight:550;letter-spacing:-1.25px;line-height:1.2;margin:0 0 12px}.page-heading p{margin:0;color:#82908b;font-size:15px}.country-tag{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:11px 14px;font-size:14px}.country-tag svg{width:17px;height:17px;color:#78988c}.workspace{display:grid;grid-template-columns:255px minmax(0,1fr);border:1px solid #e0e8e3;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 5px 18px #1c443204;min-height:610px}.sidebar{padding:26px 22px 18px;display:flex;flex-direction:column;border-right:1px solid var(--line);z-index:2}.sidebar-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}h2{font-size:16px;font-weight:600;margin:0;letter-spacing:-.2px}.small-tag{font-size:11px;color:#899891;border:1px solid #e2e8e4;border-radius:4px;padding:3px 5px;letter-spacing:1px}.search-wrap{position:relative}.search-box{display:flex;align-items:center;gap:9px;border:1px solid #e3e9e5;background:#fafbfa;border-radius:7px;padding:10px}.search-box:focus-within{border-color:#5b9c84;box-shadow:0 0 0 3px #5b9c8412}.search-box svg{width:16px;height:16px;color:#8a9b93;flex-shrink:0}.search-box input{min-width:0;width:100%;background:transparent;border:0;outline:0!important;font-size:13px;color:#344c42}.search-box input::placeholder{color:#8b9892}.search-box kbd{font:10px inherit;background:#fff;border:1px solid #e2e8e4;border-radius:3px;padding:1px 4px;color:#9da9a2}.search-results{position:absolute;left:0;right:0;top:47px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 28px #2440391c;padding:5px;max-height:260px;overflow-y:auto;z-index:5}.search-results button{border:0;background:#fff;text-align:left;padding:9px 7px;border-radius:4px;width:100%;font-size:14px;display:flex;justify-content:space-between;gap:5px}.search-results button:hover,.search-results button:focus-visible{background:#edf5ef}.search-results button span{color:#8a9b93}.no-results{padding:8px;font-size:14px;color:#82918a}.section-label{font-size:11px;letter-spacing:1.4px;color:#8c9a94;font-weight:600;margin:29px 0 11px}.region-list{display:flex;flex-direction:column;gap:3px}.region-button{display:flex;align-items:center;width:100%;border:0;border-radius:6px;background:transparent;text-align:left;padding:11px 10px;font-size:14px;color:#718078;gap:10px}.region-button:hover{background:#f6f8f6}.region-button.active{background:#edf4ef;color:#356551;font-weight:600}.region-dot{width:7px;height:7px;border-radius:50%;background:#a9c5ae}.region-dot.all{background:#4e876e}.region-dot.west{background:#8eaf9e}.region-dot.midwest{background:#bacbab}.region-dot.south{background:#d2cbb0}.region-dot.northeast{background:#acbcc4}.region-count{margin-left:auto;font-size:12px;color:#96a49a;font-weight:400}.selection-card{margin-top:28px;border-top:1px solid var(--line);padding-top:23px;min-height:173px}.selection-symbol{width:30px;height:30px;background:#f0f5f1;display:grid;place-items:center;border-radius:8px;color:#678c75;font-size:14px;font-weight:600}.selection-symbol svg{width:17px;height:17px}.selection-card .section-label{margin:16px 0 8px;font-size:10px}h3{font-size:22px;letter-spacing:-.6px;font-weight:550;margin:0 0 8px}.selection-card p{font-size:13px;line-height:1.8;color:#8a978f;margin:0}.text-button{padding:12px 0 0;background:none;border:0;font-size:12px;color:#38705b}.text-button span{padding-left:6px}.sidebar-foot{font-size:11px;color:#9ca79f;margin-top:auto;padding-top:24px;display:flex;gap:6px;align-items:center}.tiny-compass{font-size:17px;color:#789a84}.map-panel{align-self:start;background:#f4f7f4;display:flex;flex-direction:column;min-width:0;position:relative;background-image:radial-gradient(#6a8c6e1e .65px,transparent .65px);background-size:14px 14px}.map-topline{display:flex;align-items:center;justify-content:space-between;padding:21px 24px;gap:12px}.map-topline>span{display:flex;align-items:center;gap:7px;color:#7e9486;letter-spacing:1.3px;font-size:10px;font-weight:600}.labels-button{border:1px solid #e0e8df;background:#fbfdfb;padding:7px 9px;border-radius:6px;font-size:12px;color:#819184;display:flex;align-items:center;gap:8px}.labels-button>span{font-size:13px;font-weight:600;color:#50755a}.labels-button[aria-pressed=false]{opacity:.6}.map-stage{position:relative;flex:1;display:flex;align-items:center;overflow:hidden;min-height:400px}#us-map{width:100%;height:100%;min-height:400px;max-height:650px;touch-action:none;cursor:grab;overflow:hidden}#us-map:active{cursor:grabbing}.state{fill:#cbdcca;stroke:#f8fbf6;stroke-width:1.1;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .16s,opacity .16s;outline:none}.state:hover,.state:focus-visible{fill:#94b89c;stroke:#699676;stroke-width:1.7}.state.dimmed{opacity:.24}.state.selected{fill:#3d7a5e;stroke:#255c44;stroke-width:1.7;opacity:1}.state-label{font-size:8px;fill:#759478;pointer-events:none;text-anchor:middle;dominant-baseline:central;font-weight:550;letter-spacing:.4px;transition:opacity .16s}.state-label.selected{fill:#fff}.state-label.dimmed{opacity:.25}.hide-labels #state-labels{visibility:hidden}.map-controls{position:absolute;bottom:30px;right:23px;display:flex;flex-direction:column;align-items:center;background:#fff;border:1px solid #e0e8df;border-radius:8px;box-shadow:0 2px 7px #26433206;padding:3px}.map-controls button{display:grid;place-items:center;background:none;border:0;width:31px;height:31px;font-size:23px;color:#667e6b;border-radius:4px}.map-controls button:hover{background:#eef4ed}.map-controls button:disabled{opacity:.3;cursor:default}.map-controls>span{height:1px;width:18px;background:#e7ece5;margin:2px}.map-controls svg{width:15px;height:15px}.map-compass{position:absolute;top:15px;right:32px;display:grid;justify-items:center;gap:6px;pointer-events:none}.map-compass span{font-size:10px;color:#839b88}.map-compass svg{width:16px;height:23px;fill:#afc2ad;stroke:#849f85;stroke-width:.7}.inset-note{position:absolute;bottom:25px;left:24px;font-size:10px;color:#93a28f;pointer-events:none}.map-bottomline{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:17px 24px;border-top:1px solid #e0e8dd;background:#f7faf6c4;font-size:11px;color:#92a18e}.map-bottomline>span:first-child{display:flex;align-items:center;gap:7px}.key-swatch{width:7px;height:7px;border-radius:2px;background:#b6ceb4}.footer-divider{padding:0 7px}.page-footer{display:flex;justify-content:space-between;gap:10px;padding:19px 1px;font-size:11px;color:#99a59c}.page-footer a{text-decoration:none}.page-footer a:hover{text-decoration:underline}.header-actions{margin-left:auto;display:flex;align-items:center;gap:18px}.header-actions .local-badge{margin-left:0;text-decoration:none;white-space:nowrap}.support-nav{color:var(--green);font-size:14px;font-weight:650;text-decoration:none;white-space:nowrap}.support-nav:hover{text-decoration:underline}.page-heading>div{min-width:0}.page-heading .country-tag{margin-top:10px;width:fit-content}.header-support{flex:0 0 320px;display:grid;grid-template-columns:144px minmax(0,1fr);align-items:center;gap:14px;padding:12px;margin-left:24px;background:#fff;border:1px solid #dce5df;border-radius:12px}.header-support img{display:block;width:144px;height:auto;border-radius:7px}.header-support:has(#header-support-qr[hidden]){grid-template-columns:minmax(0,1fr)}.header-support-heading{font-size:16px;color:#246c5e;font-weight:700;text-decoration:none}.header-support p{font-size:13px;line-height:1.5;color:#65776e;margin:7px 0}.header-support span,.header-support small{display:block;color:#80908c;font-size:11px;line-height:1.6}.header-support-more{display:inline-block;margin-top:8px;color:#246c5e;font-size:12px}@media(max-width:760px){.site-header{gap:12px}.brand{flex-shrink:0;white-space:nowrap}.page-heading{flex-wrap:wrap;gap:20px}.header-support{flex:1 1 100%;width:100%;margin-left:0;grid-template-columns:144px minmax(0,1fr)}}.support-section{margin-top:28px;padding:clamp(24px,4vw,48px);display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:center;gap:40px;background:#fff;border:1px solid var(--line);border-radius:14px;scroll-margin-top:24px}.support-copy h2{font-size:clamp(24px,3vw,35px);line-height:1.15;letter-spacing:-.8px;margin:14px 0;max-width:520px}.support-copy>p{max-width:550px;line-height:1.7;color:#65776e}.support-wallet-label{font-weight:650;color:var(--green);margin-top:24px}.support-wallet-label span{margin:0 6px;color:#a2b6ab}.support-copy .support-instructions{font-size:15px}.support-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 16px}.support-actions a,.support-actions button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:11px 16px;border-radius:7px;border:1px solid #dce5df;background:#fff;font:inherit;font-size:14px;font-weight:600;text-decoration:none}.support-actions .support-primary{background:#246c5e;color:#fff;border-color:#246c5e}.support-actions a:hover,.support-actions button:hover{filter:brightness(.95)}.support-copy .support-meta{font-size:13px;margin:5px 0}.support-copy-status{min-height:1.5em;margin:8px 0;font-size:14px}.support-details{font-size:14px;color:#65776e}.support-details summary{cursor:pointer}.support-details textarea{width:100%;resize:vertical;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:6px;font-size:13px;word-break:break-all}.support-qr{margin:0;text-align:center}.support-qr img{display:block;width:100%;height:auto;border-radius:12px}.support-qr figcaption{margin-top:12px;color:#385d4f;font-size:14px;font-weight:600}.support-qr figcaption span{display:block;margin-top:5px;font-size:12px;color:#80908c;font-weight:400}@media(max-width:760px){.header-actions{gap:12px}.header-actions .local-badge{font-size:0;padding:8px}.header-actions .local-badge:after{content:"GitHub ↗";font-size:13px}.support-section{grid-template-columns:minmax(0,1fr);gap:28px}.support-qr{width:min(100%,300px);justify-self:center}}.map-tooltip{position:absolute;pointer-events:auto;overscroll-behavior:contain;background:#244b39;color:#fff;padding:8px 11px;font-size:13px;border-radius:5px;box-shadow:0 3px 12px #1d432721;z-index:4;white-space:nowrap;max-width:180px}[hidden]{display:none!important}@media(min-width:1600px){main{padding-top:60px}.workspace{min-height:680px}.sidebar{padding-top:30px}}@media(max-width:1000px){main{padding:32px 3% 20px}.site-header{padding:0 3%}.workspace{grid-template-columns:220px minmax(0,1fr);min-height:570px}.sidebar{padding:22px 16px 16px}.map-topline{padding:18px}.map-stage,#us-map{min-height:370px}.map-bottomline{padding:15px;font-size:10px}.map-bottomline>span:last-child{display:none}.country-tag{font-size:12px}.page-heading{margin-bottom:25px}}@media(max-width:680px){.site-header{height:70px;padding:0 5%}.header-caption{display:none}.brand{font-size:24px}.local-badge{font-size:11px}main{padding:30px 5% 12px}.page-heading{align-items:flex-start}.country-tag{display:none}h1{font-size:27px;letter-spacing:-1px;max-width:300px}.page-heading p{font-size:13px}.eyebrow{font-size:10px}.workspace{display:flex;flex-direction:column;border-radius:11px;min-height:0}.sidebar{padding:18px 17px 14px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-title{margin-bottom:13px}.sidebar>.section-label{display:none}.search-wrap{margin-bottom:12px}.region-list{flex-direction:row;gap:4px;overflow-x:auto;padding:2px}.region-button{width:auto;white-space:nowrap;padding:8px;font-size:12px;gap:6px}.region-count{display:none}.region-dot{width:5px;height:5px}.selection-card{margin-top:13px;padding-top:13px;min-height:0;display:grid;grid-template-columns:30px 1fr auto;gap:3px 10px;align-items:center}.selection-symbol{grid-row:1/3}.selection-card .section-label{display:none}.selection-card h3{font-size:18px;margin:0;grid-column:2}.selection-card p{grid-column:2;font-size:12px;line-height:1.5}.text-button{grid-column:3;grid-row:1/3;font-size:11px;padding:0}.sidebar-foot{display:none}.map-topline{padding:14px 15px}.map-topline>span{font-size:8px}.labels-button{font-size:11px;padding:6px}.map-stage,#us-map{min-height:315px}.map-compass{top:0;right:18px}.map-controls{right:12px;bottom:30px}.map-controls button{width:25px;height:25px}.inset-note{font-size:8px;left:15px;bottom:13px}.map-bottomline{padding:13px 15px}.page-footer{font-size:10px;line-height:1.7;align-items:flex-start}.page-footer>a{max-width:150px;text-align:right}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}main{padding-top:34px}.page-heading{margin-bottom:25px}.workspace{grid-template-columns:265px minmax(0,1fr);min-height:620px}.sidebar{padding:22px 20px 18px}.sidebar-title{margin-bottom:18px}.selection-card{margin-top:20px}.section-label{margin-top:22px}.history-toolbar{display:flex;align-items:center;gap:27px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px 22px}.office-field{display:flex;flex-direction:column;gap:7px;min-width:140px}.office-field .section-label{margin:0;font-size:10px}.office-field select{border:0;background:transparent;color:#2b5143;font:600 15px inherit;min-height:25px;padding:0 20px 0 0;cursor:pointer}.year-field{flex:1;border-left:1px solid var(--line);padding-left:26px;max-width:660px}.year-field>label{display:flex;justify-content:space-between;align-items:center;color:#84958b;font-size:10px;letter-spacing:1px}.year-field output{font-size:19px;letter-spacing:-.5px;color:#355c4a;font-weight:650}.year-field input{width:100%;height:17px;margin:5px 0 3px;accent-color:#407e62;cursor:pointer}.year-ticks{position:relative;height:14px;margin:0 5px;color:#95a397;font-size:10px}.year-help{color:#84958b;font-size:11px}.year-ticks span{position:absolute;transform:translate(-50%)}.year-ticks span:first-child{transform:translate(0)}.year-ticks span:last-child{transform:translate(-100%)}.year-stepper{display:flex;gap:4px}.year-stepper button{background:#f7faf7;border:1px solid var(--line);border-radius:6px;width:29px;height:30px}.year-stepper button:disabled{opacity:.35;cursor:default}.year-stepper .current-year-button{width:auto;padding:0 12px;color:#fff;background:#246c5e;border-color:#246c5e;font-size:13px;font-weight:600;white-space:nowrap}.coverage-pill{margin-left:auto;background:#eef5ef;border:1px solid #dceade;color:#5b8065;border-radius:5px;font-size:11px;padding:7px 9px;white-space:nowrap}.coverage-warning{background:#fbf5e9;border-color:#eee3ce;color:#90743d}.map-breadcrumbs{display:flex;align-items:center;gap:10px;min-height:48px;font-size:12px;color:#91a095;flex-wrap:wrap;padding:10px 2px}.map-breadcrumbs button{border:0;background:transparent;padding:5px 0;font-size:12px;color:#748e7c}.map-breadcrumbs button:hover{text-decoration:underline}.map-breadcrumbs button[aria-current=page],#county-crumb{color:#3f6f53;font-weight:600}.map-breadcrumbs .back-to-state{margin-left:auto;background:#eaf1e9;padding:6px 10px;border-radius:5px;color:#52735a}.county-browser{margin-top:20px}.county-heading{display:flex;align-items:center;justify-content:space-between;color:#7b9480;font-size:12px;margin-bottom:9px}.county-heading .section-label{margin:0;font-size:10px}#county-list{max-height:203px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c7d7c9 transparent;display:flex;flex-direction:column;gap:2px;padding-right:5px}.county-list-button{padding:8px 9px;flex-shrink:0;background:none;border:0;border-radius:5px;font-size:13px;text-align:left;color:#748979}.county-list-button:hover{background:#f0f5ef}.county-list-button[aria-pressed=true]{background:#e6f0e7;color:#356546;font-weight:600}.state-view .state-label{display:none}.state-view .state.selected{fill:#d5e2d0;stroke:#477751;stroke-width:2}.state-view .state.dimmed{opacity:.13}.county{fill:#c6dcc3;stroke:#fcfdfb;stroke-width:.65;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .15s,opacity .15s;outline:none}.county:hover,.county:focus-visible{fill:#82ae85;stroke:#2b6743;stroke-width:1.6}.county.selected{fill:#528857;stroke:#1c5637;stroke-width:2}.county.county-dimmed{opacity:.5}.historical .county:hover,.historical .state:hover{filter:brightness(.92);stroke:#335e49;stroke-width:1.7}.historical .county.selected{stroke:#214e37;stroke-width:2.5}.historical .state-label{fill:#42594c}.county-label{fill:#385c3e;pointer-events:none;text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:#ffffffb3;stroke-width:.1px;display:none}.county-view .county-label.selected{display:block}.hide-labels #county-labels{visibility:hidden}.election-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:13px 23px;border-top:1px solid #e1e8df;background:#f9fbf8;font-size:11px;color:#7b8d80}.election-legend>span{display:flex;align-items:center;gap:5px}.party-dot{display:inline-block;flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#a496b7}.democrat .party-dot,.party-dot.democrat{background:#729cce}.republican .party-dot,.party-dot.republican{background:#d98a83}.party-dot.missing{background:#dce3de}.legend-note{font-size:10px;margin-left:auto;color:#98a497}.map-tooltip{max-width:260px;white-space:normal;line-height:1.5}.election-panel{margin-top:22px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:26px}.results-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.results-heading .eyebrow{font-size:10px;margin-bottom:8px}.results-heading h2{font-size:21px;font-weight:550;letter-spacing:-.4px}.results-level{font-size:11px;color:#829788;background:#f1f6f0;border-radius:5px;padding:7px 9px;white-space:nowrap}.coverage-note{font-size:13px;color:#7f9186;line-height:1.8;margin:15px 0 21px;max-width:880px}.race-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:15px}.race-card{border:1px solid var(--line);border-radius:9px;padding:20px;min-width:0;max-height:600px;overflow:auto}.race-card h3{font-size:15px;font-weight:600;letter-spacing:-.1px;margin-bottom:17px}.candidate-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;margin:17px 0}.candidate-name{display:flex;align-items:center;gap:8px;font-size:12px;min-width:0;line-height:1.5}.candidate-name>span{overflow-wrap:anywhere}.candidate-votes{font-size:13px;font-variant-numeric:tabular-nums;display:flex;flex-direction:column;text-align:right;gap:3px}.candidate-votes>span{font-size:11px;color:#8d9e92}.candidate-party{font-size:10px;color:#91a297;margin-left:15px}.vote-track{grid-column:1/-1;height:3px;background:#f0f4f1;border-radius:2px;overflow:hidden}.vote-track span{display:block;height:100%;background:#a496b7}.democrat .vote-track span{background:#729cce}.republican .vote-track span{background:#d98a83}.race-total{font-size:11px;color:#7f9385;border-top:1px solid var(--line);padding-top:13px;margin:18px 0 0;display:flex;justify-content:space-between;gap:10px}.race-warning{font-size:12px;background:#fcf7ed;color:#9c7c45;line-height:1.8;padding:9px;border-radius:5px}.race-basis{font-size:11px;color:#8c9c91;line-height:1.7}.official-source{display:inline-block;margin-top:12px;font-size:11px;color:#668b70}.results-empty{background:#f7faf6;border:1px dashed #dfe8dd;border-radius:8px;padding:23px;grid-column:1/-1}.results-empty h3{font-size:18px}.results-empty p{font-size:13px;color:#8b9d8d;line-height:1.8;margin-bottom:0}.coverage-overview{display:grid;grid-template-columns:repeat(3,1fr);grid-column:1/-1;background:#f6f9f5;border-radius:8px;padding:22px;gap:20px}.coverage-overview>div{display:flex;flex-direction:column;gap:7px}.coverage-overview strong{font-size:27px;letter-spacing:-1px;font-weight:500;color:#51745a}.coverage-overview span{font-size:11px;color:#8fa08f}.results-sources{display:flex;flex-wrap:wrap;gap:7px 12px;font-size:11px;line-height:1.7;color:#8b9b8f;padding-top:20px}.results-sources a{color:#65856e}.snapshot-note{flex-basis:100%;font-size:10px}.history-notes{margin-top:18px;border-top:1px solid var(--line);padding-top:16px;font-size:12px;color:#8a9a8e;line-height:1.8}.history-notes summary{cursor:pointer;color:#6c8673}.history-notes p{max-width:1000px}#race-picker-wrap{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:13px;color:#78927e}#race-picker{padding:8px;border:1px solid var(--line);border-radius:5px;max-width:100%;color:#53755b;background:#fafcf9}@media(min-width:1600px){main{padding-top:40px}.workspace{min-height:660px}}@media(max-width:1000px){.workspace{grid-template-columns:220px minmax(0,1fr)}.history-toolbar{gap:15px;padding:15px}.office-field{min-width:110px}.year-field{padding-left:15px}.coverage-pill{font-size:10px}.election-legend{gap:10px;padding:12px 16px}.legend-note{flex-basis:100%;margin-left:0}.map-view-label{max-width:200px}.map-topline{padding:17px}.map-topline>span{font-size:8px}}@media(max-width:680px){main{padding-top:25px}.history-toolbar{flex-wrap:wrap;gap:14px;padding:15px}.office-field{flex:1}.year-field{flex-basis:100%;order:3;border:0;padding:0}.coverage-pill{order:2;margin-left:0}.year-stepper{order:1}.map-breadcrumbs{gap:7px;font-size:11px;min-height:44px}.map-breadcrumbs button{font-size:11px}.sidebar{padding:17px}.county-browser{margin-top:3px}.county-heading{margin:0 0 8px}#county-list{flex-direction:row;max-height:43px;overflow:auto;gap:3px;padding-bottom:4px}.county-list-button{white-space:nowrap;font-size:12px;padding:8px}.selection-card{margin-top:12px;grid-template-columns:30px minmax(0,1fr)}.selection-card p{grid-column:2}.text-button{grid-column:2;grid-row:3;justify-self:start;padding-top:7px}.map-topline{gap:8px}.map-topline>span{letter-spacing:.6px;font-size:8px}.map-topline .labels-button{flex-shrink:0}.map-stage,#us-map{min-height:330px}.election-legend{gap:10px;font-size:10px}.legend-note{font-size:8px}.election-panel{padding:20px 16px;margin-top:17px}.results-heading{align-items:flex-start;flex-direction:column;gap:10px}.results-heading h2{font-size:19px}.results-level{font-size:10px}.coverage-note{font-size:12px;margin:13px 0 17px}.coverage-overview{gap:12px;padding:18px 14px}.coverage-overview strong{font-size:23px}.coverage-overview span{font-size:10px;line-height:1.6}.race-grid{grid-template-columns:minmax(0,1fr)}.race-card{padding:16px}.results-sources{font-size:10px}.page-footer>a{max-width:155px}.map-tooltip{max-width:200px}}.reporting-categories{margin-top:16px;border-top:1px solid var(--line);padding-top:12px;font-size:11px;color:#87978b;line-height:1.7}.reporting-categories summary{cursor:pointer;color:#6f8875}.reporting-categories p{margin:7px 0}.result-status{display:inline-block;border-radius:4px;background:#edf5ef;color:#64846c;padding:5px 7px;font-size:11px;margin-bottom:8px}.result-status.provisional{background:#fbf0df;color:#927039}.source-update{font-size:11px;color:#87978b;line-height:1.7}.outcome-note{padding:10px;background:#eef3f8;color:#6d8098;font-size:12px;line-height:1.8;border-radius:6px}.map-tooltip:has(.county-tip-title),.county-metrics-detail{white-space:normal;width:min(310px,85vw);max-width:310px;line-height:1.35}.map-tooltip:has(.county-tip-title){max-height:70%;overflow:auto;padding:13px}.close-map-tooltip{position:sticky;top:0;z-index:1;display:block;margin:0 0 5px auto;width:28px;height:28px;border:1px solid #ffffff80;border-radius:5px;background:#244b39;color:#fff;font-size:22px;line-height:1;cursor:pointer}.county-metrics-detail{grid-column:1 / -1;width:100%;min-width:0;max-width:none;margin-top:12px;padding:12px;border:1px solid #dce3de;border-radius:8px;background:#f5f8f5;color:#244b39;font-size:14px}.county-tip-title{display:block;font-size:16px}.county-tip-population{margin-top:5px}.county-tip-contest{border-top:1px solid currentColor;margin-top:9px;padding-top:8px}.county-tip-label{font-weight:700;margin-bottom:5px}.county-tip-line{display:flex;justify-content:space-between;gap:14px}.county-tip-line>span{min-width:0}.county-tip-line>b{flex-shrink:0;white-space:nowrap}.county-tip-change{text-align:right;opacity:.85;font-size:12px}.county-tip-note{margin:6px 0 0;opacity:.9;font-size:12px}:root{--pattern-democrat: #5b2182;--pattern-republican: #135b36;--pattern-neutral: #475569}.pattern-democrat{--pattern-color: var(--pattern-democrat)}.pattern-republican{--pattern-color: var(--pattern-republican)}.pattern-neutral{--pattern-color: var(--pattern-neutral)}.pattern-mixed{--pattern-color: var(--pattern-democrat)}.pattern-outline.pattern-alternating{stroke-dasharray:7 7}.pattern-outline.pattern-alternating.pattern-republican{stroke-dashoffset:7}.pattern-swatch.pattern-mixed{border-right-color:var(--pattern-republican);border-bottom-color:var(--pattern-republican)}.pattern-county-button.pattern-mixed{box-shadow:inset 3px 0 var(--pattern-republican)}.county-border-metric{font-weight:600}.pattern-county-button small{font-size:11px;line-height:1.4}.pattern-outline{fill:none;stroke:var(--pattern-color, var(--pattern-neutral));stroke-width:3.5;vector-effect:non-scaling-stroke;pointer-events:none}.pattern-outline.pattern-neutral{stroke-dasharray:5 3}.pattern-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:0 18px 14px;color:#34453c;font-size:13px;line-height:1.4}.pattern-legend[hidden],.pattern-legend [hidden]{display:none}.pattern-legend>span{display:inline-flex;align-items:center;gap:7px}.pattern-legend-title{flex-basis:100%;font-weight:650}.pattern-legend small{flex-basis:100%;font-size:12px;color:#526359}.pattern-swatch{width:21px;height:13px;border:3px solid var(--pattern-color);border-radius:3px;flex-shrink:0}.pattern-swatch.pattern-neutral{border-style:dashed}.pattern-review-summary{margin:12px 18px;padding:14px;border:1px solid #b7adca;border-radius:8px;background:#f6f3fa;color:#394639;font-size:14px;line-height:1.5}.pattern-review-summary p{margin:7px 0}.county-pattern-review{margin:9px 0;padding:9px 0;border-block:1px solid currentColor;overflow-wrap:anywhere}.county-pattern-review.has-pattern-flag{border:2px solid var(--pattern-color, var(--pattern-neutral));padding:10px;border-radius:6px}.pattern-flag-label{font-weight:700;margin:9px 0 3px}.pattern-source,.pattern-source-links{font-size:12px;line-height:1.5}.pattern-source-links{margin-top:7px}.pattern-source-links a,.pattern-source{color:inherit;text-decoration:underline;text-underline-offset:2px}.count-status{font-weight:600}.pattern-evidence{margin-top:8px}.pattern-evidence summary{cursor:pointer;font-size:13px;font-weight:600}.pattern-county-browser{margin:20px 0;padding-block:16px;border-block:1px solid var(--line)}.pattern-county-browser h3{margin:0;font-size:17px;letter-spacing:-.2px}.pattern-county-browser>p{margin:8px 0 10px;color:#526359;font-size:12px;line-height:1.5}#pattern-county-list{list-style:none;padding:0;margin:0;display:grid;gap:7px}.pattern-county-button{display:grid;gap:3px;width:100%;padding:9px 10px;text-align:left;border:1px solid #dce3de;border-left:4px solid var(--pattern-color);border-radius:6px;background:#fff;color:#294335;cursor:pointer}.pattern-county-button strong{font-size:14px;font-weight:650}.pattern-county-button span{font-size:12px;color:var(--pattern-color)}.pattern-county-button:hover,.pattern-county-button[aria-pressed=true]{background:#eee9f3;border-color:var(--pattern-color)}.pattern-list-empty{font-size:12px;line-height:1.5;color:#526359}.map-panel{scroll-margin-top:18px}.map-stage{overflow:visible}.workspace:has(#map-tooltip:not([hidden])){overflow:visible}#map-tooltip{width:min(760px,calc(100vw - 32px));max-width:none;max-height:none;overflow:visible;padding:18px;z-index:20}#map-tooltip .county-tip-title{font-size:19px}#map-tooltip .county-tip-note,#map-tooltip .pattern-source,#map-tooltip .pattern-source-links{font-size:13px;line-height:1.5}#map-tooltip .county-tip-line{font-size:14px}.contest-population-ratio{font-weight:600}.major-party-change{margin:6px 0;padding:9px 11px;border-left:4px solid #bd7900;border-radius:5px;background:#fff0bf;color:#47320b;text-align:left;opacity:1;line-height:1.5}.major-party-change strong{font-weight:800}.major-party-change .change-caution{display:block;font-weight:400;font-size:12px}.office-field{min-width:min(240px,100%)}.office-field .section-label{font-size:14px;font-weight:800;color:#264b3b;letter-spacing:.08em}.office-field select{width:100%;min-height:54px;padding:12px 38px 12px 14px;border:2px solid #507b66;border-radius:8px;background-color:#fff;color:#183c2b;font-family:inherit;font-size:20px;font-weight:750;line-height:1.25}.office-field select:focus-visible{outline:3px solid #a9d0b8;outline-offset:3px}@media(max-width:680px){.history-toolbar .office-field{flex:1 0 100%;width:100%;min-width:0}.office-field select{font-size:20px}}#map-tooltip{position:static;width:auto;max-width:none;margin:16px 18px;padding:20px;border:1px solid #cad8ce;border-radius:10px;background:#fff;color:#244b39;box-shadow:none;z-index:auto}#map-tooltip>h2{margin:0 0 15px;font-size:21px}#pattern-county-list{max-height:360px;overflow:auto;padding:2px;overscroll-behavior:contain;scrollbar-width:thin}.pattern-filter-label{display:block;font-size:12px;font-weight:650;margin-bottom:5px}#pattern-county-filter{width:100%;min-width:0;padding:9px;border:1px solid #c4d2c8;border-radius:6px;font:inherit;margin-bottom:9px}.history-charts{margin:16px 18px;padding:20px;background:#fff;border:1px solid #cad8ce;border-radius:10px;min-width:0}.research-activity{margin:22px 0;padding:22px 25px;border:2px solid #245f44;border-radius:12px;background:#edf7ef;color:#173c29}.research-activity>strong{display:block;font-size:clamp(22px,3vw,32px);font-weight:900;line-height:1.2}.research-activity>p{margin:10px 0 0;font-size:14px;line-height:1.5}.research-activity.research-delayed{border-color:#a27112;background:#fff7df;color:#563c0f}.history-chart{margin:20px 0}.history-chart figcaption{font-weight:700;margin-bottom:8px}.history-chart svg{display:block;max-width:100%;height:auto;min-height:180px}.history-note{font-size:13px;line-height:1.5;color:#4e6257}.history-table-wrap{overflow-x:auto}.history-table{width:100%;border-collapse:collapse;font-size:12px}.history-table th,.history-table td{padding:7px;text-align:left;border-bottom:1px solid #d8e1da}.history-table caption{text-align:left;margin:10px 0;font-weight:600}.data-page-links{display:flex;flex-wrap:wrap;gap:14px}.page-footer{flex-wrap:wrap;gap:12px 22px}@media(max-width:680px){.map-panel{align-self:stretch;width:100%;max-width:100%}#map-tooltip,.history-charts{min-width:0;overflow-wrap:anywhere;margin-inline:12px;padding:16px}.pattern-county-browser{grid-column:1 / -1;min-width:0}#pattern-county-list{grid-template-columns:repeat(2,minmax(0,1fr))}.pattern-county-button{min-height:64px;overflow-wrap:anywhere}}
