@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-Variable.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Onest;src:url(/fonts/Onest-Variable.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}:root,[data-theme=light]{--paper:#fbf8f3;--white:#ffffff;--sand-50:#f7f3ec;--sand-100:#f3eee6;--sand-200:#eeeae3;--sand-300:#e6e0d6;--sand-400:#d9d5ce;--sand-500:#cfc7ba;--ink-300:#a3a5ad;--ink-400:#7c7f88;--ink-500:#5a5d67;--ink-600:#4a4d57;--ink-800:#24262f;--ink-900:#15161c;--tangerine-50:#ffede3;--tangerine-100:#ffd6c2;--tangerine-500:#ff5a1f;--tangerine-600:#e24a12;--tangerine-700:#b8380a;--sun-50:#fff5d6;--sun-300:#ffda6b;--sun-400:#ffc83d;--mint-50:#e3f5ec;--mint-600:#127a52;--party-dem:#2364f0;--party-dem-lead:#7da2f7;--party-dem-wash:#e6eefe;--party-rep:#e5383b;--party-rep-lead:#ef8486;--party-rep-wash:#fde8e8;--party-other:#8a4fe0;--party-other-lead:#b793ee;--party-other-wash:#f1e9fc;--party-tie:#e8a317;--party-unavailable:#d9d5ce;--party-none:#eeeae3;--surface-page:var(--paper);--surface-card:var(--white);--surface-sunken:var(--sand-100);--surface-night:var(--ink-900);--surface-night-2:var(--ink-800);--surface-highlight:var(--sun-50);--surface-accent-soft:var(--tangerine-50);--text-body:var(--ink-900);--text-muted:var(--ink-600);--text-subtle:var(--ink-400);--text-on-night:var(--white);--text-on-night-muted:var(--ink-300);--text-on-accent:var(--white);--text-link:var(--ink-900);--text-link-hover:var(--tangerine-600);--accent:var(--tangerine-500);--accent-hover:var(--tangerine-600);--accent-press:var(--tangerine-700);--live:var(--tangerine-500);--certified:var(--mint-600);--certified-soft:var(--mint-50);--border-hairline:var(--sand-300);--border-strong:var(--sand-500);--border-night:var(--ink-800);--focus-ring:var(--tangerine-500);--map-land:var(--sand-300);--map-stroke:var(--white);--map-hover:var(--ink-900);--map-selected:var(--sun-400);--map-outline:var(--sand-100);--map-outline-stroke:var(--sand-500);--shadow-card:0 1px 2px rgba(21,22,28,.06),0 4px 14px rgba(21,22,28,.05);--shadow-raised:0 2px 4px rgba(21,22,28,.08),0 12px 28px rgba(21,22,28,.10);--shadow-none:none}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--layout-max:1240px;--header-height:60px;--control-height:40px;--control-height-sm:32px;--bar-height:12px;--bar-height-lg:28px;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--font-display:"Space Grotesk",system-ui,sans-serif;--font-sans:"Onest",system-ui,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,monospace}.display-xl{font-size:56px}.display-l,.display-xl{font-family:var(--font-display);font-weight:700;line-height:1.05;letter-spacing:-.03em}.display-l{font-size:40px}.h1{font-size:32px}.h1,.h2{font-family:var(--font-display);font-weight:700;line-height:1.25;letter-spacing:-.015em}.h2{font-size:24px}.h3{font-family:var(--font-display);font-size:18px;font-weight:700;line-height:1.25;letter-spacing:-.015em}.body-l{font-size:18px}.body,.body-l{font-family:var(--font-sans);font-weight:400;line-height:1.5}.body{font-size:16px}.small{font-size:14px}.micro,.small{font-family:var(--font-sans);font-weight:400;line-height:1.5}.micro{font-size:12px}.nano{font-family:var(--font-sans);font-size:11px;font-weight:400;line-height:1.5}.label{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.08em}:root{--ease-out:cubic-bezier(.2,.8,.2,1);--duration-fast:140ms;--duration-base:220ms;--layout-gutter:clamp(16px,3vw,32px);--text-display-xl:56px;--text-display-l:40px;--text-h1:32px;--text-h2:24px;--text-h3:18px;--text-body-l:18px;--text-small:14px;--text-micro:12px;--text-nano:11px;--tracking-display:-0.03em;--tracking-heading:-0.015em;--tracking-caps:0.08em;--font-heading:var(--font-display);--font-body:var(--font-sans);--font-numeric:var(--font-display);--duration-bar:700ms}*{box-sizing:border-box}body{margin:0;background:var(--surface-page);color:var(--text-body);font:400 16px/1.5 var(--font-sans);-webkit-font-smoothing:antialiased}a{color:var(--text-link);text-decoration-color:var(--border-strong);text-underline-offset:3px;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--text-link-hover);text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}button,select,summary{cursor:pointer}@keyframes upw-pulse{0%{box-shadow:0 0 0 0 rgba(255,90,31,.55)}70%{box-shadow:0 0 0 8px rgba(255,90,31,0)}to{box-shadow:0 0 0 0 rgba(255,90,31,0)}}.site-header{display:flex;align-items:center;gap:var(--space-6);min-height:var(--header-height);padding:0 var(--layout-gutter);background:var(--surface-night)}.site-header,.wordmark{color:var(--text-on-night)}.wordmark{font:700 20px/1 var(--font-display);letter-spacing:-.02em;text-decoration:none;white-space:nowrap}.wordmark:hover{color:var(--text-on-night)}.wordmark span{color:var(--accent)}.site-nav{display:flex;align-self:stretch;gap:var(--space-5);margin:0 auto 0 0}.site-nav a{display:flex;align-items:center;border-bottom:3px solid transparent;border-top:3px solid transparent;font:600 14px/1 var(--font-display);color:var(--text-on-night-muted);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--text-on-night)}.site-nav a[aria-current=page]{border-bottom-color:var(--accent)}.site-badge{font:600 11px/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-on-night-muted);border:1px solid var(--ink-600);border-radius:var(--radius-pill);padding:4px 10px}.site-footer{max-width:var(--layout-max);margin:0 auto;padding:var(--space-6) var(--layout-gutter) var(--space-10);border-top:1px solid var(--border-hairline);color:var(--text-muted);font-size:14px}.site-footer .wordmark{display:block;margin-bottom:var(--space-2);font-size:16px;color:var(--text-body)}.site-footer .wordmark span{color:var(--accent-hover)}main{max-width:var(--layout-max);margin:0 auto;padding:var(--space-8) var(--layout-gutter) 56px}h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.25;letter-spacing:-.015em}h1{font-size:clamp(32px,5vw,40px);line-height:1.05;letter-spacing:-.03em;margin:var(--space-1) 0 var(--space-4)}h2{font-size:24px;margin:var(--space-8) 0 var(--space-2)}h3{font-size:18px;margin:var(--space-5) 0 var(--space-2)}p{margin:var(--space-3) 0}b,strong{font-weight:600}.page-heading small,main>small{display:block;font:600 12px/1.5 var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-hover)}small{font-size:12px;color:var(--text-muted)}aside{padding:var(--space-4) var(--space-5);background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}aside b{display:inline-flex;align-items:center;gap:var(--space-2);margin-right:var(--space-2);font:600 12px/1.5 var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-hover)}aside b:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--live);animation:upw-pulse 1.8s var(--ease-out) infinite}@media(prefers-reduced-motion:reduce){aside b:before{animation:none}}article{border-top:1px solid var(--border-hairline)}nav,section{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-4) 0}button,section a{display:inline-flex;align-items:center;min-height:var(--control-height);padding:0 var(--space-4);font:600 14px/1 var(--font-sans);color:var(--text-body);background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-pill);text-decoration:none;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}button:hover,section a:hover{background:var(--surface-sunken);color:var(--text-body)}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}section a{min-height:var(--control-height-sm);font-weight:500;border-color:var(--border-hairline)}nav.toggle{display:inline-flex;gap:0;padding:var(--space-1);background:var(--surface-sunken);border-radius:var(--radius-pill)}nav.toggle button{min-height:var(--control-height-sm);border-color:transparent;background:transparent;color:var(--text-muted)}nav.toggle button:hover{background:transparent;color:var(--text-body)}nav.toggle button[aria-pressed=true]{background:var(--surface-night);color:var(--text-on-night)}label{display:inline-block;font-size:12px;font-weight:600;color:var(--text-muted)}main label{max-width:100%;min-width:0}select{max-width:100%;min-height:var(--control-height);margin-left:var(--space-1);padding:0 var(--space-3);font:400 16px/1 var(--font-sans);color:var(--text-body);background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}details{margin-top:var(--space-3);border-top:1px solid var(--border-hairline);padding-top:var(--space-2);font-size:14px;color:var(--text-muted)}summary{font-weight:600;color:var(--text-body)}svg{width:100%;max-height:440px}path{fill:var(--map-land);stroke:var(--map-stroke);stroke-width:1;transition:opacity var(--duration-fast) var(--ease-out)}svg a:focus path,svg a:hover path{opacity:.78}.map-key,svg path.reporting{fill:var(--map-selected);background:var(--map-selected)}.map-key{display:inline-block;width:1em;height:1em;vertical-align:middle;border-radius:var(--radius-xs)}.precinct-map{display:block;margin:var(--space-4) 0;max-height:64vh;min-height:260px}.precinct-map path{stroke:var(--map-stroke);stroke-width:1;vector-effect:non-scaling-stroke;cursor:pointer}.precinct-map path:hover{opacity:.78}.precinct-map path.selected{fill:var(--map-selected)}.map-panel{border:1px solid var(--border-hairline);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-card);box-shadow:var(--shadow-card);margin:var(--space-3) 0 var(--space-8)}.map-bar{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-hairline)}.map-bar strong{font:700 18px/1.25 var(--font-display);letter-spacing:-.015em}.map-bar span{font-size:12px;color:var(--text-muted)}.map-canvas{display:grid;place-items:center;padding:clamp(8px,2vw,24px);min-height:150px}.map-canvas .precinct-map{width:100%;height:auto;min-height:0;aspect-ratio:1.72;max-height:460px;margin:0}.map-tools{padding:var(--space-4) var(--space-5)}.map-canvas~.map-tools{background:var(--surface-sunken);border-top:1px solid var(--border-hairline)}p.map-tools{margin:0}.map-tools p{margin:0 0 var(--space-3)}.map-tools select{max-width:100%}.map-tools button{margin-top:var(--space-3)}.map-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.map-fields select{display:block;width:100%;min-width:0;margin:var(--space-1) 0 0}.map-canvas .turnout-map path.map-outline,.map-outline{fill:var(--map-outline);stroke:var(--map-outline-stroke);cursor:default;opacity:1}.map-canvas .turnout-map path.has-ballots{fill:var(--certified)}.map-canvas .turnout-map path.selected{fill:var(--map-selected)}.party-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:var(--space-3) 0;font-size:12px;color:var(--text-muted)}.party-legend span{display:inline-flex;gap:var(--space-2);align-items:center}.party-legend i{width:14px;height:14px;border-radius:var(--radius-xs)}.contest-card{margin:var(--space-3) 0;border:1px solid var(--border-hairline);border-radius:var(--radius-lg);padding:var(--space-5);background:var(--surface-card);box-shadow:var(--shadow-card)}.contest-card h2,.contest-card h3{margin:0}.contest-card h2{font-size:18px}.contest-card p{margin:var(--space-2) 0}.contest-card p,.report-source,.selection-totals p,.selection-totals summary{color:var(--text-muted);font-size:14px}.report-source{font-size:12px}.vote-list{padding:0;margin:var(--space-3) 0;list-style:none}.vote-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--border-hairline)}.vote-list strong{font:700 16px/1.5 var(--font-display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.selection-totals{border-top:1px solid var(--border-hairline);margin-top:var(--space-3);padding-top:var(--space-3)}.selection-totals h3,.selection-totals p{margin:var(--space-1) 0}table{border-collapse:collapse;width:100%;font-size:14px}td,th{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-hairline)}th{font:600 12px/1.5 var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}tbody tr:hover{background:var(--surface-sunken)}tr.selected-row,tr.selected-row:hover{background:var(--surface-highlight)}@media(max-width:600px){.site-header{gap:var(--space-3)}.wordmark{font-size:16px}.site-nav{gap:var(--space-3)}.site-nav a{font-size:12px}.site-badge{display:none}.map-fields{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}.map-bar,.map-tools{padding-left:var(--space-3);padding-right:var(--space-3)}td,th{overflow-wrap:anywhere}}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4) var(--space-6);flex-wrap:wrap;margin:var(--space-6) 0 var(--space-5)}.page-heading small{display:block}.page-heading h1{font-size:clamp(40px,6vw,56px);margin:var(--space-1) 0 var(--space-2)}.page-heading p{margin:0;max-width:640px;font-size:14px;color:var(--text-muted)}.page-heading nav.toggle,nav.toggle-sm{margin:0}nav.toggle-sm button{min-height:24px;padding:0 var(--space-3);font-size:12px}.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:var(--space-5);margin-top:var(--space-5);align-items:start}.home-map{grid-column:span 2;min-width:0}.home-map .map-panel{margin:0}.home-map .map-bar{align-items:center}.home-rail{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.rail-head{display:flex;justify-content:space-between;align-items:baseline}.rail-head h2{margin:0}.rail-head a{font-size:14px;font-weight:600}@media(max-width:760px){.home-map{grid-column:auto}}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;margin:56px 0 var(--space-4)}.section-head h2{margin:2px 0 0;font-size:var(--text-h1)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--space-4);margin-top:var(--space-4)}.chips{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)}button.chip{gap:var(--space-2);min-height:var(--control-height-sm);padding:0 var(--space-3);font-weight:500;border-color:var(--border-hairline)}button.chip span{font:600 11px/1 var(--font-display);padding:3px 6px;border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}button.chip[aria-pressed=true]{background:var(--surface-night);border-color:var(--surface-night);color:var(--text-on-night)}button.chip[aria-pressed=true] span{background:var(--surface-night-2);color:var(--text-on-night)}a.button{display:inline-flex;align-items:center;min-height:var(--control-height);padding:0 var(--space-4);font:600 14px/1 var(--font-sans);color:var(--text-body);background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-pill);text-decoration:none}a.button:hover{background:var(--surface-sunken);color:var(--text-body)}.leader{display:inline-flex;align-items:center;gap:var(--space-2);font-feature-settings:normal;font-variant-numeric:normal}.leader i{width:10px;height:10px;border-radius:3px;flex:none}.numeric{font-family:var(--font-numeric)}.quiet{color:var(--text-muted);font-size:14px}.quiet-xs{color:var(--text-subtle);font-size:12px}td a{text-decoration:none}.card-grid>div{min-width:0}.card-notes{display:flex;flex-direction:column;gap:6px;margin:var(--space-3) var(--space-1) 0;font-size:12px;color:var(--text-muted)}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.card-head h3{margin:2px 0 0}.card-head h3 a{text-decoration:none}.card-grid p{margin:var(--space-2) 0}.card-grid button{margin-top:var(--space-2);min-height:var(--control-height-sm)}main>a:first-child{display:inline-block;margin-bottom:var(--space-3);font-size:14px;font-weight:600;text-decoration:none}.selection-totals ul{margin:var(--space-3) 0}