@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/dm-sans-0-CB7WfZ8W.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/dm-sans-1-DCQhiIS7.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/dm-sans-2-CYvJJk-g.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/dm-sans-3-BQ0abr9c.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/dm-sans-4-BYXu76Ss.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/manrope-0-DAjpq4PJ.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/manrope-1-BTiNuwoH.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/manrope-2-BhnX4St1.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/manrope-3-D5vUuQK_.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/manrope-4-CP-a3Kn4.ttf) format("truetype")}:root{color-scheme:light;--canvas: #f3f5f9;--surface: #ffffff;--surface-raised: #eaf0f7;--ink: #101827;--muted: #526079;--line: #c9d2e0;--control-line: #7d8ba2;--chrome: #0c1019;--chrome-ink: #f5f7fd;--chrome-muted: #b4c0d3;--accent: #d7ff3f;--accent-ink: #182100;--selection: #f0f8d5;--selection-edge: #597100;--blue: #1764f5;--blue-text: #0747c4;--blue-wash: #eaf0ff;--red: #ee304c;--red-text: #bb1734;--red-wash: #ffedf0;--neutral: #68758b;--neutral-text: #47556e;--map-dem: #1764f5;--map-rep: #ee304c;--map-other: #68758b;--map-base: #e9edf5;--map-line: #ffffff;--map-quiet: #d3dce8;--map-hatch: #8393aa;--map-selected: #152100;--warning-bg: #fff3ce;--warning-ink: #70500a;--warning-line: #c6a34b;--info-bg: #edf0f8;--info-ink: #3b4264;--error-bg: #f3eaff;--error-ink: #652991;--focus: #7334c5;--track: #dbe2ed;--shadow: rgba(13, 25, 47, .1);font-family:DM Sans,sans-serif;font-size:16px;color:var(--ink);background:var(--canvas);font-synthesis:none}:root[data-theme=dark]{color-scheme:dark;--canvas: #0b0f18;--surface: #131b29;--surface-raised: #1d293c;--ink: #f1f5ff;--muted: #a9b7cf;--line: #34435a;--control-line: #7789a6;--selection: #26331c;--selection-edge: #d7ff3f;--blue: #4388ff;--blue-text: #85b3ff;--blue-wash: #142c52;--red: #ff4869;--red-text: #ff8da4;--red-wash: #431e31;--neutral: #8999b4;--neutral-text: #bcc8dd;--map-dem: #286bed;--map-rep: #e73158;--map-other: #66768f;--map-base: #111b2b;--map-line: #0b0f18;--map-quiet: #243248;--map-hatch: #7186a7;--map-selected: #d7ff3f;--warning-bg: #342b13;--warning-ink: #f9d883;--warning-line: #a68b42;--info-bg: #21283c;--info-ink: #c1c9e7;--error-bg: #312141;--error-ink: #e4b5ff;--focus: #c49aff;--track: #31405a;--shadow: rgba(0, 0, 0, .3)}*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}button,input,select{font:inherit;color:inherit}button,select{min-height:44px}button,a,select,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:inherit;text-underline-offset:4px}button,summary{cursor:pointer}button{padding:10px 14px;border:1px solid var(--control-line);border-radius:6px;background:var(--surface)}button:hover{background:var(--surface-raised)}button:disabled{opacity:.5;cursor:not-allowed}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:4px}::selection{background:var(--accent);color:var(--accent-ink)}input{caret-color:var(--focus)}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:42px;font-weight:800;letter-spacing:-.03em;line-height:1.16}h2{font-size:27px;font-weight:750;letter-spacing:-.025em;line-height:1.25}h3{font-size:18px;font-weight:700;letter-spacing:-.015em;line-height:1.4}p{line-height:1.6}small,.small{font-size:13px;line-height:1.5}.muted{color:var(--muted)}.number,.value,table,dd{font-variant-numeric:tabular-nums lining-nums}.icon{width:20px;height:20px;flex:0 0 auto;vertical-align:middle}.header{color:var(--chrome-ink);background:var(--chrome);border-bottom:1px solid #34435a}.header-inner{max-width:1440px;margin:auto;min-height:88px;padding:14px 48px;display:flex;gap:48px;align-items:center}.brand{color:var(--chrome-ink);text-decoration:none;display:flex;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-size:17px;font-weight:800;line-height:1.35;white-space:nowrap}.brand svg{height:39px;width:34px;fill:none;stroke:currentColor;stroke-width:1.25}.brand small{display:block;font-family:DM Sans,sans-serif;font-weight:400;color:var(--chrome-muted);font-size:12px}.main-nav{display:flex;gap:28px;align-self:stretch;align-items:stretch}.main-nav a{display:flex;align-items:center;min-height:44px;font-size:14px;color:var(--chrome-muted);text-decoration:none}.main-nav a[aria-current]{color:var(--chrome-ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:9px}.theme-choice{margin-left:auto;display:flex;padding:4px;gap:4px;border:1px solid #526079;border-radius:7px}.theme-choice button{background:transparent;border:0;color:var(--chrome-muted);min-height:36px;padding:7px 12px;font-size:13px;display:inline-flex;align-items:center;gap:7px;border-radius:4px}.theme-choice button .icon{width:16px;height:16px}.theme-choice button[aria-pressed=true]{color:var(--accent-ink);background:var(--accent)}.header :focus-visible{outline-color:#e8ceff}main{max-width:1440px;margin:auto;padding:32px 48px 64px;min-height:72vh}.breadcrumb{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px;font-size:13px;color:var(--muted)}.breadcrumb a{color:var(--ink)}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:28px}.page-heading p{color:var(--muted);margin-top:12px}.page-heading .heading-meta{margin-top:16px}.heading-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;font-size:13px}.control{display:grid;gap:7px;color:var(--muted);font-size:13px}.control select{min-width:180px;max-width:100%;background:var(--surface);color:var(--ink);border:1px solid var(--control-line);border-radius:6px;padding:10px 36px 10px 12px}.control .note{max-width:240px;font-size:12px}.primary{color:var(--accent-ink);background:var(--accent);border-color:var(--accent);font-weight:650}.primary:hover{background:#c3ef21;border-color:#c3ef21}.secondary{color:var(--ink);background:transparent}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:550;border:1px solid var(--line);border-radius:4px;padding:5px 8px;background:var(--surface-raised);color:var(--ink);white-space:normal}.badge .icon{width:14px;height:14px}.badge.verified{color:var(--ink)}.badge.warn{color:var(--warning-ink);border-color:var(--warning-line);background:var(--warning-bg)}.badge.info{color:var(--info-ink);background:var(--info-bg)}.notice{display:flex;gap:12px;align-items:start;color:var(--warning-ink);background:var(--warning-bg);border:1px solid var(--warning-line);border-radius:8px;padding:15px 18px;margin:16px 0}.notice strong{font-size:14px;font-weight:650}.notice p{font-size:13px;margin-top:4px;max-width:110ch}.notice.info{color:var(--info-ink);background:var(--info-bg);border-color:var(--control-line)}.notice.error{color:var(--error-ink);background:var(--error-bg);border-color:var(--focus)}.catalog-intro{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;align-items:end;margin:4px 0 28px}.catalog-intro h1{font-size:47px;max-width:880px}.catalog-intro p{color:var(--muted);font-size:15px;margin-top:16px;max-width:70ch}.catalog-intro aside{font-size:13px;border-top:1px solid var(--line);padding-top:14px;color:var(--muted)}.catalog-intro aside strong{color:var(--ink)}.catalog-intro aside a{display:inline-block;margin-top:8px}.categories{display:flex;gap:30px;border-bottom:1px solid var(--line);margin-bottom:28px}.categories a{display:flex;align-items:center;gap:8px;min-height:52px;font-size:15px;font-weight:600;color:var(--muted);text-decoration:none}.categories a[aria-current=page]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--selection-edge);text-decoration-thickness:3px;text-underline-offset:17px}.catalog-layout{display:grid;grid-template-columns:196px minmax(0,1fr);gap:40px}.office-nav h2{font:600 14px DM Sans,sans-serif;color:var(--muted);margin-bottom:12px}.office-buttons{display:grid;gap:6px}.office-buttons button{text-align:left;background:transparent;border:0;border-radius:5px;color:var(--muted)}.office-buttons button[aria-pressed=true]{background:var(--selection);color:var(--ink);font-weight:650;box-shadow:inset 0 0 0 1px var(--selection-edge)}.mobile-office{display:none}.archive-heading{display:flex;gap:20px;justify-content:space-between;align-items:baseline;padding:0 0 20px}.archive-heading h2{font-size:30px}.archive-list{border-top:1px solid var(--control-line)}.archive-row{display:grid;grid-template-columns:112px minmax(0,1fr) 164px 40px;align-items:center;gap:24px;padding:26px 4px;border-bottom:1px solid var(--line);text-decoration:none}.archive-row:hover{background:var(--surface)}.archive-row .year{font:750 37px/1.2 Manrope,sans-serif;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.archive-row .title{display:block;font-size:17px;font-weight:600}.archive-row .description{display:block;font-size:13px;color:var(--muted);margin-top:6px}.archive-row .arrow{border:1px solid var(--line);border-radius:50%;width:40px;height:40px;display:grid;place-items:center}.archive-row:hover .arrow{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.provenance{margin-top:36px;border-top:1px solid var(--line);padding:24px 0 0;display:flex;gap:32px;justify-content:space-between;font-size:14px}.provenance p{max-width:72ch;color:var(--muted)}.provenance strong{color:var(--ink)}.result-summary{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 28px 18px;margin:26px 0 32px}.summary-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:22px}.summary-heading h2{font-size:20px}.lead-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:32px}.lead-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.lead-candidate{min-width:0}.candidate-label{display:flex;align-items:start;gap:10px;margin-bottom:12px}.party{display:inline-block;width:36px;padding:5px 3px;border-radius:3px;background:var(--surface-raised);color:var(--neutral-text);text-align:center;font-size:11px;font-weight:750;flex:0 0 auto}.party.dem{color:var(--blue-text);background:var(--blue-wash)}.party.rep{color:var(--red-text);background:var(--red-wash)}.candidate-label strong{display:block;font:700 20px/1.4 Manrope,sans-serif}.candidate-label small{color:var(--muted);display:block;margin-top:3px}.lead-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin:4px 0 16px}.lead-value strong{font:750 45px/1.15 Manrope,sans-serif;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.dem-text{color:var(--blue-text)}.rep-text{color:var(--red-text)}.lead-value small{color:var(--muted)}.track{height:7px;background:var(--track);border-radius:2px;overflow:hidden}.track>span{display:block;height:100%;background:var(--neutral)}.track>.dem{background:var(--blue)}.track>.rep{background:var(--red)}.summary-stats{border-left:1px solid var(--line);padding-left:28px}.summary-stats dl{margin:0}.summary-stats dt{font-size:12px;color:var(--muted)}.summary-stats dd{margin:5px 0 18px;font:650 25px/1.3 Manrope,sans-serif}.summary-stats a{font-size:12px}.roster{border-top:1px solid var(--line);margin-top:22px}.roster summary{min-height:44px;padding-top:16px;font-size:13px;font-weight:550}.candidate-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}.candidate{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.candidate strong{display:block;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.candidate small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.candidate .track{height:4px;margin-top:10px}.candidate .candidate-value{text-align:right;min-width:82px}.candidate .candidate-value strong{font-size:16px}.summary-foot{margin:15px 0 0;font-size:12px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin:32px 0 18px}.section-heading p{font-size:13px;color:var(--muted)}.explorer{display:grid;grid-template-columns:392px minmax(0,1fr);gap:24px;align-items:start}.map-region{background:var(--map-base);padding:24px;border:1px solid var(--line);border-radius:12px}.map-region h3{margin-bottom:6px}.map-caption{font-size:13px;color:var(--muted)}.county-map{display:block;width:100%;height:auto;margin-top:12px}.county{fill:var(--map-other);stroke:var(--map-line);stroke-width:1.5;stroke-linejoin:round;cursor:pointer}.county.dem{fill:var(--map-dem)}.county.rep{fill:var(--map-rep)}.county[aria-disabled=true]{fill:url(#uncontested);cursor:default}.county.selected{stroke:var(--map-selected);stroke-width:4;paint-order:stroke}.county:hover{filter:brightness(1.12)}.county:focus-visible{outline:2px solid var(--focus);outline-offset:3px;stroke:var(--map-selected);stroke-width:5}.map-label{font-family:DM Sans,sans-serif;font-size:10px;font-weight:550;fill:#fff;stroke:#061226;stroke-width:2.2;stroke-linejoin:round;paint-order:stroke;text-anchor:middle;pointer-events:none}.legend{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:12px;margin-top:18px}.legend span{display:flex;align-items:center;gap:7px}.dot{display:inline-block;height:10px;width:10px;border-radius:2px;background:var(--neutral)}.dot.dem{background:var(--map-dem)}.dot.rep{background:var(--map-rep)}.map-source{font-size:12px;color:var(--muted);line-height:1.6;margin-top:16px}.map-explanation{font-size:13px;margin-top:16px;color:var(--ink)}.table-region{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.table-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 22px}.table-heading small{color:var(--muted);font-size:12px}.scroll-region{max-width:100%;overflow:auto;overscroll-behavior-x:contain;scrollbar-color:var(--control-line) var(--surface-raised)}.scroll-region:focus-visible{outline-offset:-3px}table{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap;text-align:right}.results-table,.early-table{min-width:730px}th,td{border-bottom:1px solid var(--line);padding:12px}thead th{color:var(--muted);background:var(--surface-raised);font-size:12px;font-weight:550}th:first-child{text-align:left;padding-left:20px}thead th button{border:0;padding:4px 0;background:transparent;min-height:32px;border-radius:0;width:100%;text-align:inherit;font-size:12px}thead th button svg{height:12px;width:12px}tbody th{font-weight:500}tbody th button{border:0;background:transparent;padding:0;min-height:28px;font-size:14px;font-weight:500;text-decoration:underline;text-underline-offset:4px;text-align:left}td.leader{text-align:left;font-size:12px}tr.selected td,tr.selected th{background:var(--selection)}tr.selected th button{font-weight:700}tr:hover td,tr:hover th{background:var(--surface-raised)}.table-note{font-size:12px;color:var(--muted);line-height:1.6;padding:16px 20px}.scroll-hint{display:none;font-size:12px;color:var(--muted);padding:0 20px 12px}.selection-panel{grid-column:1 / -1;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px 28px}.selection-panel:focus{outline:3px solid var(--focus);outline-offset:4px}.selection-header{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:14px}.selection-header h2{display:flex;align-items:baseline;gap:10px}.selection-marker{height:11px;width:11px;background:var(--selection-edge);display:inline-block;flex:0 0 auto}.selection-header p{font-size:12px;color:var(--muted);margin-top:8px}.selection-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:44px}.selection-grid .candidate-list{grid-template-columns:1fr}.selection-prompt{display:flex;justify-content:space-between;align-items:center;gap:24px}.selection-prompt p{font-size:14px;color:var(--muted);margin-top:8px}.metric-definitions h3{margin-top:14px}.metric-definitions dl{margin:12px 0}.metric-definitions dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-bottom:1px solid var(--line);padding:14px 0}.metric-definitions dt{font-size:13px;color:var(--muted)}.metric-definitions dd{font-size:21px;margin:0}.metric-definitions p{font-size:13px;color:var(--muted);margin-top:12px;overflow-wrap:anywhere}.source-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;margin:14px 0 20px;font-size:12px;color:var(--muted)}.source-status a{margin-left:auto;color:var(--ink)}.returned-summary{margin:22px 0;padding:24px 0;border-top:1px solid var(--control-line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2fr);gap:48px}.returned-total h3{font-size:17px}.returned-total .value{display:block;font:750 45px/1.2 Manrope,sans-serif;letter-spacing:-.03em;margin:10px 0 8px}.registration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.registration-stat .value{display:block;font:750 30px/1.2 Manrope,sans-serif;letter-spacing:-.025em;margin:10px 0 8px}.registration-stat h3{font:500 13px/1.5 DM Sans,sans-serif}.registration-stat .small{display:block;color:var(--muted);margin-top:3px}.registration-stat .track{margin-top:16px}.early-table thead th{max-width:150px;white-space:normal}.source-section{margin-top:40px}.source-section>h2{margin-bottom:18px}.source-section>p{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:20px;max-width:100ch}.source-list{border-top:1px solid var(--line);margin-bottom:20px}.source-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:32px;border-bottom:1px solid var(--line);padding:18px 0;min-width:0}.source-item>*{min-width:0;overflow-wrap:anywhere}.source-item a,.source-item strong{font-size:14px;font-weight:550}.source-item p{font-size:13px;color:var(--muted);line-height:1.7}.source-disclosure{margin:18px 0}.source-disclosure summary{min-height:44px;font-size:14px;padding:12px 0}.source-disclosure table{min-width:650px;background:var(--surface)}.source-disclosure caption{text-align:left;padding:16px 12px;font-size:13px;white-space:normal}.read-layout{display:grid;grid-template-columns:232px minmax(0,740px);gap:60px}.contents{align-self:start;position:sticky;top:24px}.contents details{border-top:1px solid var(--control-line);padding-top:14px}.contents summary{font-size:14px;font-weight:600;min-height:40px}.contents a{display:block;font-size:13px;line-height:1.5;color:var(--muted);text-decoration:none;padding:7px 0}.contents a:hover{color:var(--ink);text-decoration:underline}.methodology{max-width:72ch}.methodology h1{font-size:38px;margin-bottom:28px}.methodology h2{font-size:25px;margin:38px 0 16px;scroll-margin-top:24px}.methodology h3{margin:26px 0 12px}.methodology p,.methodology li{font-size:16px;line-height:1.75}.methodology p{margin-bottom:18px}.methodology li{margin:8px 0}.methodology ul{padding-left:24px}.methodology .text-link{display:inline-block;margin-top:20px}.footer{max-width:1344px;margin:auto;border-top:1px solid var(--line);padding:24px 0 32px;display:flex;justify-content:space-between;gap:32px;font-size:12px;color:var(--muted)}.footer strong{color:var(--ink)}.footer a{color:var(--ink);white-space:nowrap}.skip{position:fixed;z-index:10;top:-100px;left:16px;background:var(--accent);color:var(--accent-ink);padding:14px}.skip:focus{top:12px}.sr-only{position:absolute;height:1px;width:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.skeleton{height:18px;width:72%;background:var(--surface-raised);margin:16px 0;border-radius:3px}.skeleton:first-of-type{width:40%;height:30px}.theme-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:1200px){.header-inner{gap:32px;padding-left:32px;padding-right:32px}main{padding-left:32px;padding-right:32px}.footer{margin:0 32px}.explorer{grid-template-columns:340px minmax(0,1fr)}.lead-grid{grid-template-columns:minmax(0,1fr) 195px;gap:24px}.lead-candidates{gap:24px}.lead-value strong{font-size:38px}.summary-stats{padding-left:24px}.catalog-intro{grid-template-columns:1fr;gap:0}.catalog-intro aside{display:none}.catalog-intro h1{font-size:42px}.returned-summary{gap:32px}.registration-grid{gap:20px}.registration-stat .value{font-size:26px}}@media(max-width:900px){.header-inner{flex-wrap:wrap;gap:12px 32px}.main-nav{order:3;flex-basis:100%;min-height:40px}.theme-choice{margin-left:auto}.explorer{grid-template-columns:minmax(0,1fr)}.map-region{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;align-items:start}.county-map{grid-column:1;grid-row:1 / 7;margin:0;max-height:390px}.map-region h3,.map-region .map-caption,.map-region .legend,.map-region .map-source,.map-region .map-explanation{grid-column:2}.selection-panel{grid-column:auto}.lead-grid{grid-template-columns:1fr}.summary-stats{border-left:0;padding:18px 0 0;border-top:1px solid var(--line);display:flex;gap:32px;align-items:center}.summary-stats dl{display:flex;gap:40px}.summary-stats dd{margin-bottom:0}.summary-stats a{margin-left:auto}.catalog-layout{grid-template-columns:160px minmax(0,1fr);gap:24px}.archive-row{grid-template-columns:82px minmax(0,1fr) 130px;gap:16px}.archive-row .arrow{display:none}.archive-row .year{font-size:32px}.returned-summary{grid-template-columns:1fr;gap:24px}.returned-total{display:grid;grid-template-columns:1fr auto;align-items:center}.returned-total .value{grid-column:2;grid-row:1 / 3;margin:0;font-size:39px}.registration-grid{border-top:1px solid var(--line);padding-top:20px}.read-layout{grid-template-columns:1fr;gap:24px}.contents{position:static}.contents nav{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.scroll-hint{display:block}.scroll-region th:first-child{position:sticky;left:0;z-index:1;background:var(--surface)}.scroll-region thead th:first-child{background:var(--surface-raised)}.scroll-region tr.selected th:first-child{background:var(--selection)}}@media(max-width:560px){.header-inner{padding:16px 20px 0;gap:12px}.brand{font-size:14px;gap:8px}.brand svg{width:26px;height:31px}.brand small{font-size:10px}.theme-choice{padding:3px;gap:2px}.theme-choice button{min-height:38px;padding:8px;gap:4px;font-size:12px}.theme-choice button .icon{width:14px;height:14px}.main-nav{gap:26px;min-height:48px}.main-nav a{font-size:13px;min-height:48px}.main-nav a[aria-current]{text-underline-offset:10px}main{padding:26px 20px 40px}h1{font-size:32px}h2{font-size:25px}.breadcrumb{margin-bottom:20px;font-size:12px;gap:8px}.page-heading{display:block;margin-bottom:22px}.page-heading p{font-size:14px;margin-top:10px}.page-heading .control{margin-top:20px}.page-heading .control select{width:100%}.control .note{max-width:100%}.heading-meta{gap:10px 14px}.catalog-intro{margin:2px 0 22px}.catalog-intro h1{font-size:34px}.catalog-intro p{font-size:14px;margin-top:14px}.categories{gap:18px;margin-bottom:22px}.categories a{font-size:12px;min-height:48px}.categories a[aria-current=page]{text-underline-offset:15px}.catalog-layout{display:block}.office-nav{display:none}.mobile-office{display:grid;margin-bottom:24px}.mobile-office select{width:100%}.archive-heading{gap:16px;align-items:start}.archive-heading h2{font-size:27px}.archive-row{grid-template-columns:70px minmax(0,1fr);gap:10px 16px;padding:22px 0}.archive-row .year{font-size:30px;align-self:start}.archive-row .title{font-size:15px}.archive-row .badge{grid-column:2;justify-self:start}.archive-row .description{font-size:12px;line-height:1.5}.archive-heading .small{font-size:12px}.provenance{display:block;font-size:13px;margin-top:28px}.provenance>a{display:inline-block;padding-top:16px;min-height:44px}.result-summary{padding:20px;margin:22px 0 26px}.summary-heading{align-items:start;margin-bottom:20px}.summary-heading h2{font-size:18px}.lead-grid{gap:22px}.lead-candidates{grid-template-columns:1fr;gap:24px}.lead-candidate+.lead-candidate{padding-top:20px;border-top:1px solid var(--line)}.candidate-label strong{font-size:18px}.candidate-label{margin-bottom:10px}.lead-value{margin:4px 0 12px}.lead-value strong{font-size:39px}.summary-stats{display:block;padding-top:20px}.summary-stats dl{justify-content:space-between;gap:18px}.summary-stats dt{font-size:11px}.summary-stats dd{font-size:22px}.summary-stats a{display:inline-block;margin-top:16px}.candidate-list{grid-template-columns:1fr}.candidate{grid-template-columns:32px minmax(0,1fr);gap:10px}.candidate .party{width:32px}.candidate .candidate-value{grid-column:2;display:flex;align-items:baseline;gap:10px;text-align:left}.candidate .candidate-value strong{font-size:17px}.section-heading{display:block;margin:26px 0 16px}.section-heading p{font-size:12px;margin-top:8px}.map-region{display:block;padding:20px}.county-map{margin-top:16px;max-height:none}.table-heading{padding:18px 20px;align-items:start}.table-heading h3{font-size:17px}.table-heading small{font-size:11px}tbody th button{min-height:44px}.scroll-region th:first-child{min-width:122px}.selection-panel{padding:20px}.selection-header{gap:14px}.selection-header h2{font-size:23px;gap:8px}.selection-header button{font-size:12px;padding:8px 10px;flex-shrink:0}.selection-grid{grid-template-columns:1fr;gap:24px}.selection-prompt{display:block}.selection-prompt .icon{display:none}.selection-prompt h3{font-size:17px}.selection-prompt p{font-size:13px}.source-status{display:block;line-height:1.7;font-size:12px}.source-status span{display:block}.source-status a{display:inline-block;min-height:32px;padding-top:6px}.notice{padding:14px;gap:10px}.notice .icon{width:17px;height:17px;margin-top:2px}.notice strong{font-size:13px}.notice p{font-size:12px}.returned-summary{padding:20px 0}.returned-total{display:block}.returned-total .value{font-size:40px;margin:8px 0}.registration-grid{grid-template-columns:1fr;gap:0;padding-top:0;border-top:0}.registration-stat{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:16px 0;border-top:1px solid var(--line)}.registration-stat .party{justify-self:start}.registration-stat .value{grid-column:2;grid-row:1;margin:0;font-size:27px}.registration-stat h3{grid-column:1;grid-row:2}.registration-stat .small{grid-column:2;grid-row:2;margin:0;font-size:12px;text-align:right}.registration-stat .track{grid-column:1 / -1;margin-top:8px}.source-item{grid-template-columns:minmax(0,1fr);gap:8px;padding:16px 0}.source-item a{font-size:14px}.source-section{margin-top:32px}.source-section>p{font-size:13px}.contents nav{grid-template-columns:1fr}.methodology h1{font-size:31px}.methodology h2{font-size:24px}.methodology p,.methodology li{font-size:16px}.footer{display:block;margin:0 20px}.footer a{display:inline-block;min-height:44px;padding-top:16px}.theme-pair{gap:12px}}@media(max-width:350px){.header-inner{gap:10px}.theme-choice{flex-basis:100%;margin-left:0;width:fit-content}.theme-choice button{flex:1;min-height:40px}.brand small{font-size:11px}.catalog-intro h1{font-size:31px}.categories{gap:12px}.categories a{font-size:11px}}@media(prefers-reduced-motion:no-preference){a,button,.county{transition:color .15s ease-out,background-color .15s ease-out,filter .15s ease-out}}@media print{:root,:root[data-theme=dark]{--canvas: #fff;--surface: #fff;--ink: #101827;--muted: #526079;--line: #c9d2e0}main{padding:24px 0;max-width:none}.header{color:#101827;background:#fff}.brand,.brand small{color:#101827}}button,select{font-family:DM Sans,sans-serif}.brand-sub{display:block;color:var(--chrome-muted);font:400 12px/1.5 DM Sans,sans-serif}.brand-mark{display:flex}.categories [role=tab]{display:flex;align-items:center;min-height:52px;color:var(--muted);font-size:15px;font-weight:600;background:transparent;border:0;padding:0;border-radius:0}.categories [aria-selected=true]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--selection-edge);text-decoration-thickness:3px;text-underline-offset:17px}.categories [role=tab]:hover{color:var(--ink);background:transparent}.catalog [role=tabpanel]:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.election-card h3{font-family:DM Sans,sans-serif;letter-spacing:0}.election-card .badge{justify-self:start}.election-card p{margin-bottom:0}.office-nav button{border:1px solid transparent}.office-nav button[aria-pressed=true]{border-color:var(--selection-edge);box-shadow:none}.election-heading h1 span{color:inherit}.year-picker{display:grid;gap:7px;font-size:13px;color:var(--muted);min-width:180px}.year-picker select{border:1px solid var(--control-line);border-radius:6px;background:var(--surface);color:var(--ink);padding:10px 12px}.election-meta{display:flex;gap:12px 20px;align-items:center;flex-wrap:wrap;margin-top:16px;font-size:13px;color:var(--muted)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--muted);margin-bottom:24px}.breadcrumbs a{color:var(--ink)}.county-section{margin-top:32px}.map-panel{background:var(--map-base);border:1px solid var(--line);border-radius:12px;min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:20px 22px}.panel-heading h2{font-size:25px}.panel-heading h3,.panel-heading h5{font:700 18px/1.4 Manrope,sans-serif;margin:0}.map-panel>.panel-heading{display:block;padding-bottom:0}.map-panel .panel-heading .muted{display:block;margin-top:6px}.map-wrap{padding:0 24px 24px}.map-wrap .map-note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:16px}.legend-hatch{height:12px;width:12px;border:1px solid var(--control-line)}.dot.other{background:var(--map-other)}.table-panel .panel-heading h3,.table-panel .panel-heading h5{font-size:18px}.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.table-note{padding:16px 20px;margin:0}.footnote,.muted{font-size:13px;color:var(--muted);line-height:1.6}.footnote{margin:0}.winner-label{font-size:12px}.county-detail{margin-top:24px}.county-detail.selection-panel{padding:0}.county-detail .panel-heading{padding:24px 28px 12px;align-items:start}.county-detail .panel-heading h2:before,.county-detail .panel-heading h4:before{content:"";width:11px;height:11px;display:inline-block;margin-right:10px;background:var(--selection-edge)}.county-detail .panel-heading h4{font:750 25px/1.25 Manrope,sans-serif}.close-button{padding:9px;display:inline-flex;align-items:center;justify-content:center;min-width:44px}.select-prompt{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:24px 28px}.select-prompt p{font-size:14px;color:var(--muted);line-height:1.6;margin-top:8px}.select-prompt .icon{color:var(--selection-edge)}.detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:44px;padding:0 28px 28px}.detail-grid h3{margin:14px 0}.candidate-row{padding:16px 0;min-width:0;border-bottom:1px solid var(--line)}.candidate-info{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:start;min-width:0}.candidate-info strong{display:block;font-size:14px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.candidate-info small{display:block;margin-top:3px;font-size:12px;color:var(--muted)}.party-chip{font-size:11px;font-weight:750;text-align:center;padding:5px 3px;width:36px;border-radius:3px;background:var(--surface-raised);color:var(--neutral-text)}.party-chip.dem{color:var(--blue-text);background:var(--blue-wash)}.party-chip.rep{color:var(--red-text);background:var(--red-wash)}.party-chip.other,.party-chip.independent{color:var(--neutral-text);background:var(--surface-raised)}.vote-value{min-width:82px;text-align:right}.vote-value strong{font-size:16px;font-variant-numeric:tabular-nums}.vote-track{height:5px;margin:12px 0 0 48px;background:var(--track);border-radius:2px;overflow:hidden}.vote-track>div{height:100%;background:var(--neutral)}.vote-track>.dem{background:var(--blue)}.vote-track>.rep{background:var(--red)}.vote-track>.independent{background:var(--neutral)}.unavailable-share{display:block;color:var(--muted);font-size:12px;margin:10px 0 0 48px}.turnout-metrics{display:grid;margin:14px 0}.turnout-metrics>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.turnout-metrics small{color:var(--muted);font-size:13px}.turnout-metrics strong{font-size:21px;font-weight:500;font-variant-numeric:tabular-nums}.turnout-panel .footnote{margin-top:14px}.sources h2,.sources h4{font:750 27px/1.25 Manrope,sans-serif;margin-bottom:18px}.sources-grid{border-top:1px solid var(--line);margin:20px 0}.sources-grid>a{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:32px;padding:18px 32px 18px 0;border-bottom:1px solid var(--line);text-decoration:none}.sources-grid>a>*{min-width:0;overflow-wrap:anywhere}.sources-grid strong{font-size:14px;font-weight:550;text-decoration:underline;text-underline-offset:4px}.sources-grid a>span:not(.source-link-icon){font-size:13px;line-height:1.7;color:var(--muted)}.source-link-icon{position:absolute;top:18px;right:0}.sources summary{font-size:14px;min-height:44px;padding:12px 0}.sources details{margin:18px 0}.sources table{background:var(--surface);min-width:650px}.sources caption{text-align:left;font-size:13px;padding:16px 12px;white-space:normal}.sources>a{font-size:14px}.snapshot-notice{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:24px 0}.snapshot-body{padding:0 24px 24px}.snapshot-row{border-top:1px solid var(--line);padding-top:14px;margin-top:14px;font-size:14px}.snapshot-row p{font-size:13px;color:var(--muted);line-height:1.6;margin-top:8px}.source-cautions{font-size:13px;margin-top:16px}.loading,.empty{padding:40px 0;color:var(--muted);line-height:1.7}.error.notice{color:var(--error-ink);background:var(--error-bg);border-color:var(--focus);margin:24px 0}.error h2{font-size:25px}.error-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:20px}.embedded-election-title{font:800 27px/1.25 Manrope,sans-serif;letter-spacing:-.025em}.embedded-early-voting .election-heading{margin-top:28px}.embedded-early-voting .sources{margin-top:40px}.participation-overview{display:flex;flex-direction:column;margin:20px 0 28px}.participation-overview>.county-timestamps{order:-1;padding:0 0 18px;font-size:12px}.participation-source{order:-2;margin-bottom:8px}.participation-source a{color:var(--ink);text-underline-offset:3px}main:has(.participation-sources){padding-bottom:32px}.participation-overview>.panel-heading.sr-only{padding:0}.activity-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}.statewide-participation{grid-template-columns:minmax(0,.95fr) repeat(3,minmax(0,.65fr));gap:28px;padding:24px 0;border-top:1px solid var(--control-line);border-bottom:1px solid var(--line)}.activity-metric{min-width:0;padding:16px 0;border-bottom:1px solid var(--line)}.statewide-participation .activity-metric{padding:0;border-bottom:0}.statewide-participation .candidate-info{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}.statewide-participation .party-chip{grid-row:1;justify-self:start}.statewide-participation .candidate-info>div:not(.vote-value){grid-row:3}.statewide-participation .candidate-info>div:not(.vote-value) strong{font-size:13px;font-weight:500}.statewide-participation .vote-value{display:contents}.statewide-participation .vote-value strong{grid-row:2;font:750 30px/1.2 Manrope,sans-serif;letter-spacing:-.025em;margin:6px 0;text-align:left}.statewide-participation .vote-value small{grid-row:4;font-size:13px;text-align:left}.statewide-participation .returned-total .party-chip{display:none}.statewide-participation .returned-total .candidate-info>div:not(.vote-value){grid-row:1}.statewide-participation .returned-total .candidate-info>div:not(.vote-value) strong{font:700 17px/1.4 Manrope,sans-serif}.statewide-participation .returned-total .vote-value strong{font-size:42px}.count-unit{font:400 13px/1.5 DM Sans,sans-serif;color:var(--muted);letter-spacing:0;white-space:nowrap}.statewide-participation .vote-track{margin:16px 0 0;height:7px}.activity-metric.dem .vote-value>strong{color:var(--blue-text)}.activity-metric.rep .vote-value>strong{color:var(--red-text)}.statewide-foot{color:var(--muted);font-size:12px;line-height:1.7;padding-top:16px}.activity-table td{text-align:right}.source-attribution a{text-decoration:underline}@media(max-width:1200px){.statewide-participation{gap:22px}.statewide-participation .returned-total .vote-value strong{font-size:36px}}@media(max-width:900px){.statewide-participation{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.statewide-participation .returned-total{grid-column:1 / -1}.statewide-participation .returned-total .candidate-info{grid-template-columns:1fr auto;align-items:center}.statewide-participation .returned-total .vote-value strong{grid-column:2;grid-row:1;margin:0}.statewide-participation .returned-total .candidate-info>div:not(.vote-value){grid-column:1}.map-wrap{max-width:500px;margin:auto}.table-scroll th:first-child{position:sticky;left:0;z-index:1;background:var(--surface)}.table-scroll thead th:first-child{background:var(--surface-raised)}.table-scroll tr.active th:first-child{background:var(--selection)}}tr.active td,tr.active th{background:var(--selection)}tr.active th button{font-weight:700}@media(max-width:560px){.categories{gap:18px}.categories [role=tab]{font-size:12px;min-height:48px}.categories [aria-selected=true]{text-underline-offset:15px}.year-picker{margin-top:20px;min-width:0}.year-picker select{width:100%}.election-meta{gap:10px 14px;font-size:12px}.panel-heading{padding:18px 20px}.map-panel .panel-heading{padding-top:20px}.map-wrap{padding:0 20px 20px}.county-detail .panel-heading{padding:20px 20px 12px}.county-detail .panel-heading h2,.county-detail .panel-heading h4{font-size:23px}.select-prompt{padding:20px}.select-prompt .icon{display:none}.select-prompt p{font-size:13px}.detail-grid{grid-template-columns:1fr;gap:24px;padding:0 20px 20px}.candidate-info{grid-template-columns:32px minmax(0,1fr);gap:10px}.party-chip{width:32px}.vote-value{grid-column:2;display:flex;gap:10px;align-items:baseline;text-align:left}.vote-track,.unavailable-share{margin-left:42px}.sources-grid>a{grid-template-columns:minmax(0,1fr);gap:8px}.sources-grid a>span:not(.source-link-icon){font-size:13px}.statewide-participation{grid-template-columns:minmax(0,1fr);gap:0}.statewide-participation .activity-metric{padding:16px 0;border-bottom:1px solid var(--line)}.statewide-participation .activity-metric:last-child{border-bottom:0}.statewide-participation .candidate-info{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.statewide-participation .party-chip{grid-column:1;grid-row:1}.statewide-participation .candidate-info>div:not(.vote-value){grid-column:1;grid-row:2}.statewide-participation .vote-value strong{grid-column:2;grid-row:1;margin:0;font-size:27px;text-align:right}.statewide-participation .vote-value small{grid-column:2;grid-row:2;margin:0;text-align:right;font-size:12px}.statewide-participation .returned-total .candidate-info,.statewide-participation .returned-total .vote-value{display:block}.statewide-participation .returned-total .vote-value strong{font-size:39px;text-align:left;margin:8px 0}.statewide-participation .vote-track{margin-left:0}}@media(max-width:350px){.categories{gap:12px}.categories [role=tab]{font-size:11px}}.election-description{color:var(--muted);font-size:15px;margin-top:12px}.statewide-participation .activity-metric{display:block}.embedded-early-voting .county-detail[data-selected]{margin-top:24px}.embedded-early-voting .county-detail .panel-heading{padding:20px 24px 16px}.embedded-early-voting .county-detail .panel-heading h4{font-size:22px}.embedded-early-voting .county-participation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:0 24px 20px}.embedded-early-voting .county-participation .activity-metric{display:block;grid-row:auto;border:0;padding:0}.embedded-early-voting .county-participation .candidate-info{display:flex;flex-direction:column;align-items:start;gap:8px}.embedded-early-voting .county-participation .candidate-info>div{min-width:0}.embedded-early-voting .county-participation .candidate-info strong{font-size:13px}.embedded-early-voting .county-participation .vote-value{text-align:left;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.embedded-early-voting .county-participation .vote-value strong{font-size:24px;font-family:Manrope,sans-serif;font-weight:750}.embedded-early-voting .county-participation .vote-value small{font-size:13px}.embedded-early-voting .county-participation .vote-track{margin:12px 0 0}.embedded-early-voting .county-participation .returned-total .vote-track{display:none}.embedded-early-voting .county-context{padding:0 24px 18px;font-size:13px;line-height:1.6;color:var(--muted)}.embedded-early-voting .county-context p{margin:0 0 8px}.embedded-early-voting .county-definitions{margin:0 24px 20px;border-top:1px solid var(--line);font-size:13px}.embedded-early-voting .county-definitions summary{padding:12px 0;min-height:44px;cursor:pointer}.embedded-early-voting .metric-definition+.metric-definition{margin-top:16px}.embedded-early-voting .metric-definition h5{font-size:14px;margin-bottom:4px}.embedded-early-voting .metric-definition p{color:var(--muted);line-height:1.6;margin-top:4px}.embedded-early-voting .metric-definition dl{display:flex;flex-wrap:wrap;gap:12px 24px;margin:8px 0}.embedded-early-voting .metric-definition dt{color:var(--muted);font-size:12px}.embedded-early-voting .metric-definition dd{margin:2px 0 0}@media(max-width:900px){.embedded-early-voting .county-participation{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}@media(max-width:560px){.embedded-early-voting .county-detail .panel-heading{padding:18px 20px}.embedded-early-voting .county-participation{padding:0 20px 20px;grid-template-columns:minmax(0,1fr);gap:20px}.embedded-early-voting .county-participation .activity-metric+.activity-metric{border-top:1px solid var(--line);padding-top:16px}.embedded-early-voting .county-participation .candidate-info{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px 10px}.embedded-early-voting .county-participation .vote-value{grid-column:2}.embedded-early-voting .county-participation .vote-track{margin-left:42px}.embedded-early-voting .county-context{padding:0 20px 12px}.embedded-early-voting .county-definitions{margin:0 20px 16px}}.embedded-early-voting .participation-sources{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 20px;max-width:none;margin-top:32px}.embedded-early-voting .participation-sources>h4{font:700 20px/1.4 Manrope,sans-serif;letter-spacing:-.02em;margin:0}.embedded-early-voting .participation-sources>p{font-size:14px;line-height:1.7;max-width:none;margin:0}.registration-map .map-explanation{margin-top:16px;font-size:13px;line-height:1.6;color:var(--ink)}.registration-map .map-definition{margin-top:10px;font-size:12px;color:var(--muted)}.registration-map .map-definition summary{padding:4px 0;min-height:28px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.registration-map .map-definition p{margin-top:8px;line-height:1.6}.registration-map .map-note{margin-top:14px}.embedded-early-voting .participation-notice{align-items:baseline}.embedded-early-voting .participation-notice>strong{flex:0 0 auto;max-width:45%;line-height:1.6}.embedded-early-voting .participation-notice>p{flex:1;min-width:0;margin:0;line-height:1.6}@media(max-width:900px){.embedded-early-voting .participation-notice{display:block}.embedded-early-voting .participation-notice>strong{display:block;max-width:none}.embedded-early-voting .participation-notice>p{margin:6px 0 0}}
