:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark;--bg:#101113;--panel:#15171a;--hover:#202226;--subtle:#1a1c20;--line:#2b2e33;--ink:#eeeff1;--muted:#9a9ea7;--faint:#707680;--accent:#b4bce8;--water:#12171c;--shadow:0 12px 40px #0005;font-size:13px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.5}body[data-theme=light]{color-scheme:light;--bg:#fafafa;--panel:#fff;--hover:#f0f1f3;--subtle:#f7f7f8;--line:#e2e4e8;--ink:#202226;--muted:#696e78;--faint:#858b95;--accent:#525da6;--water:#f0f3f5;--shadow:0 12px 40px #0001}button,input,select{font:inherit;color:inherit}button,select,summary{cursor:pointer}button,a,input,select,summary{touch-action:manipulation}button{border:0;background:none;padding:7px 10px}a{color:inherit;text-decoration:none}button:hover,a:hover{color:var(--ink)}button:disabled{opacity:.5;cursor:wait}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}button svg,summary svg,.brand svg,.search-wrap svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.3;vertical-align:middle}select{background:var(--panel);border:1px solid var(--line);border-radius:5px;min-height:34px;padding:6px 30px 6px 10px;max-width:100%}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-1.15px;line-height:1.25;font-weight:550}h2{font-size:18px;letter-spacing:-.4px;font-weight:550}.muted,.overline,.field-label{color:var(--muted)}.overline{font-size:11px;display:block;margin-bottom:6px}.text-button{font-size:12px;color:var(--muted);padding:0;background:none;border:none;display:inline-flex;align-items:center;gap:8px}.icon-button{width:34px;height:34px;border:1px solid var(--line);border-radius:5px;padding:0;font-size:18px;color:var(--muted)}.icon-button:hover{background:var(--hover)}.skip{position:absolute;top:-100px;z-index:9000;background:var(--panel);padding:10px}.skip:focus{top:5px}.site-header{height:68px;display:flex;align-items:center;gap:56px;border-bottom:1px solid var(--line);padding:0 max(32px,calc((100vw - 1336px)/2))}.brand{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;letter-spacing:-.3px}.brand:hover{text-decoration:none}.brand svg{width:25px;height:25px;stroke-width:1.5}.site-header nav{display:flex;gap:22px;align-self:stretch}.site-header nav button{position:relative;color:var(--muted);padding:0;font-size:12px}.site-header nav button.active{color:var(--ink)}.site-header nav button.active:after{content:'';position:absolute;bottom:-1px;height:2px;background:var(--ink);left:0;right:0}.header-actions{margin-left:auto;display:flex;align-items:center;gap:22px}main{max-width:1400px;margin:auto;padding:0 32px}.page-heading{display:flex;align-items:center;justify-content:space-between;padding:34px 0 28px}.election-meta{display:flex;align-items:flex-end;flex-direction:column;gap:5px;font-size:12px}.snapshot-label{color:var(--muted);display:flex;align-items:center;gap:6px;font-size:11px}.snapshot-label:before{content:'';width:5px;height:5px;background:var(--faint);border-radius:50%}.workspace{background:var(--panel);border:1px solid var(--line);border-radius:9px}.workspace-toolbar{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.contest-control{display:flex;gap:14px;align-items:center;min-width:0;flex:1}.contest-control label{color:var(--muted);font-size:12px}.contest-control select{font-size:14px;font-weight:500;max-width:610px;flex:1;border:0;background:var(--subtle);height:38px}.surface-tabs{display:flex;gap:3px;padding:3px;background:var(--subtle);border-radius:5px}.surface-tabs button{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px;padding:5px 9px;border-radius:4px}.surface-tabs button.active{background:var(--hover);color:var(--ink)}.surface-tabs svg{width:14px;height:14px}.map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 20px;border-bottom:1px solid var(--line)}.view-tabs{display:flex;gap:4px}.view-tabs button{color:var(--muted);font-size:12px;padding:5px 10px;border-radius:4px}.view-tabs .active{background:var(--hover);color:var(--ink)}.settings{position:relative;z-index:1100;color:var(--muted);font-size:12px}.settings summary{list-style:none;display:flex;align-items:center;gap:8px;padding:4px 0}.settings summary::-webkit-details-marker{display:none}.settings[open] summary{color:var(--ink)}.settings-popover{position:absolute;right:0;top:34px;width:240px;padding:18px;box-shadow:var(--shadow);border:1px solid var(--line);border-radius:7px;background:var(--panel);display:flex;flex-direction:column;gap:13px}.field-label{font-size:11px;margin-bottom:-7px}.check{display:flex;align-items:center;gap:9px}.settings-popover button{text-align:left}.sf-explore-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-height:570px}.map-shell{min-width:0;border-right:1px solid var(--line)}.sf-map-wrap{height:535px;position:relative;overflow:hidden;background:var(--water)}#sf-map{height:100%;width:100%;background:var(--water);outline-offset:-3px}.map-overline{position:absolute;top:20px;left:20px;z-index:500;pointer-events:none;display:flex;flex-direction:column;gap:2px}.map-overline strong{font-size:12px;font-weight:500}.map-overline span{font-size:11px;color:var(--muted)}.map-buttons{position:absolute;top:18px;right:18px;z-index:700;display:flex;flex-direction:column;gap:5px}.map-buttons button{width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid var(--line);background:var(--panel);border-radius:5px;font-size:21px;line-height:1;box-shadow:0 1px 4px #0001;color:var(--muted)}.map-buttons button:hover{background:var(--hover);color:var(--ink)}.map-bottom-note{position:absolute;bottom:15px;left:110px;z-index:500;font-size:10px;pointer-events:none;color:var(--muted);background:var(--water)}.sf-legend{border-top:1px solid var(--line);min-height:42px;padding:11px 20px;display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:10px;line-height:1.5}.legend-chips{display:flex;flex-wrap:wrap;gap:6px 14px}.legend-chips>span{display:inline-flex;align-items:center;gap:5px}.candidate-color{display:inline-block;width:7px;height:7px;border-radius:2px;flex:none}.line-key{width:19px;border-top:1px solid var(--muted)}.district-key{border-top:2px solid var(--ink)}.legend-gradient{width:100px;height:5px}.legend-context{margin-left:auto}.sf-detail{padding:22px 23px 18px;min-width:0;max-height:577px;overflow:auto}.detail-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;height:15px}.detail-heading .overline{margin:0}.detail-heading .text-button{font-size:11px}#area-identity h2{font-size:22px;letter-spacing:-.6px}#area-identity>p{color:var(--muted);font-size:11px;margin-top:4px}.result-mode-label{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:19px;margin:24px 0 18px}.candidate-result{margin-bottom:13px}.candidate-result-head{display:flex;align-items:start;justify-content:space-between;gap:8px;font-size:12px}.candidate-result-head strong{font-size:13px;font-weight:550;font-variant-numeric:tabular-nums}.candidate-label{display:flex;align-items:baseline;gap:7px}.progress-track{height:3px;background:var(--hover);margin-top:7px;overflow:hidden;border-radius:1px}.progress-track i{display:block;height:100%;border-radius:1px}.candidate-result-count{font-size:10px;color:var(--muted);text-align:right;margin-top:4px;font-variant-numeric:tabular-nums}.result-totals{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.result-totals strong{font-size:21px;font-weight:500;letter-spacing:-.5px;display:block;font-variant-numeric:tabular-nums}.result-totals span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.coverage-note{color:var(--muted);font-size:10px;line-height:1.6;margin-top:20px}.membership-chips{display:flex;flex-wrap:wrap;gap:5px;margin:14px 0}.membership-chips span{border:1px solid var(--line);border-radius:3px;padding:2px 5px;color:var(--muted);font-size:9px}.parcel-selection{font-size:11px;padding-top:12px}.parcel-selection small{display:block;color:var(--muted);font-size:10px}.workspace-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:44px;padding:12px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.workspace-footer button{font-size:10px}.footnote{font-size:10px;color:var(--faint);margin:13px 0 24px}.table-panel{padding:20px;min-height:560px}.table-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.table-heading h2{font-size:16px}.table-toolbar{display:flex;justify-content:space-between;gap:20px;margin:18px 0}.search-wrap{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:5px;padding:5px 10px;width:300px;max-width:100%;color:var(--muted)}.search-wrap input{background:none;border:0;outline:none;width:100%;min-width:0;font-size:12px}.search-wrap kbd{font-size:10px;border:1px solid var(--line);border-radius:3px;padding:0 4px}.table-filters{display:flex;align-items:center;gap:14px;font-size:11px}.table-filters select{font-size:11px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th,td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums}thead th{color:var(--muted);font-size:9px;font-weight:500;letter-spacing:.2px;padding-top:10px;padding-bottom:10px}th:first-child,td:first-child,th:nth-child(3),td:nth-child(3){text-align:left}tbody th{font-weight:500}tbody th button{text-align:left;padding:0}tbody th small{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:3px}tbody tr:hover,tbody tr.selected-row{background:var(--hover)}.dot-mark{display:inline-block;width:5px;height:5px;border-radius:50%}.table-footer{display:flex;justify-content:space-between;gap:20px;padding-top:20px;font-size:10px;color:var(--muted)}.table-footer button{font-size:11px}.empty{text-align:center;color:var(--muted);padding:40px}.methods-grid{display:grid;grid-template-columns:280px minmax(0,640px);gap:70px;max-width:1050px;margin:10px 0 60px}.method-sidebar{font-size:12px}.method-sidebar h2{font-size:16px}.file-name{font-size:10px;overflow-wrap:anywhere;margin:10px 0 25px}.audit-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:9px 0;font-size:10px;color:var(--muted)}.audit-line strong{color:var(--ink);font-weight:500}.download-links{display:flex;flex-direction:column;align-items:start;gap:12px;margin-top:25px;font-size:11px}.method-copy section{padding-bottom:28px;margin-bottom:26px;border-bottom:1px solid var(--line)}.method-copy h2{margin-bottom:15px}.method-copy p,.method-copy dd{font-size:13px;color:var(--muted);line-height:1.8;margin:0 0 12px}.method-copy a{text-decoration:underline;text-underline-offset:3px}.method-copy dt{margin:16px 0 4px;font-size:12px}.method-copy dl{margin:0}.method-copy dd{margin-left:0;font-size:12px}.method-copy>section:last-child{border:0}footer{max-width:1400px;margin:0 auto;padding:20px 32px 26px;display:flex;justify-content:space-between;color:var(--faint);font-size:10px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:var(--ink);color:var(--bg);box-shadow:var(--shadow);padding:10px 16px;border-radius:6px;z-index:9999;transition:.15s;font-size:12px}.toast.visible{opacity:1;transform:translate(-50%,0)}.loading-note,.error{font-size:12px;color:var(--muted);padding:20px 0}.leaflet-container{font:inherit}.leaflet-control-attribution{background:transparent!important;font-size:8px!important;color:var(--faint)!important;padding:0 7px!important}.leaflet-control-attribution a{color:var(--faint)!important}.leaflet-control-scale-line{background:transparent!important;border-color:var(--faint)!important;color:var(--muted)!important;text-shadow:none;font-size:9px!important}.leaflet-bottom.leaflet-left{bottom:12px;left:10px}.leaflet-tooltip{background:var(--panel);color:var(--ink);border:1px solid var(--line);box-shadow:0 3px 12px #0002;border-radius:4px;font-size:11px;padding:5px 8px}.leaflet-tooltip-top:before{border-top-color:var(--line)}.city-tag{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;color:var(--muted);font-size:10px;letter-spacing:.15px;text-shadow:0 0 4px var(--panel),0 0 4px var(--panel);pointer-events:none}.city-main{font-size:11px;letter-spacing:2px;font-weight:500;color:var(--muted)}.city-water{font-style:italic;font-size:11px;color:var(--faint)}.city-neighborhood{font-size:9px}.district-tag{display:grid;place-items:center;width:19px;height:19px;border:1px solid var(--line);border-radius:50%;font-size:9px;background:var(--panel);color:var(--muted);transform:translate(-50%,-50%)}
@media(min-width:1500px){.sf-map-wrap{height:590px}.sf-explore-grid{grid-template-columns:minmax(0,1fr) 330px}.sf-detail{max-height:632px}}
@media(max-width:1000px){.sf-explore-grid{grid-template-columns:minmax(0,1fr) 265px}.sf-detail{padding:20px 18px}.map-overline span{max-width:220px}.methods-grid{gap:30px;grid-template-columns:240px 1fr}.map-bottom-note{left:20px;bottom:34px}.site-header{padding:0 24px}main{padding:0 24px}}
@media(max-width:720px){main{padding:0 16px}.site-header{height:58px;padding:0 16px;gap:28px}.brand{font-size:12px}.brand svg{width:21px}.site-header nav{gap:16px}.header-actions{gap:10px}.download-kit{display:none}.page-heading{padding:25px 0 22px;align-items:end}.page-heading h1{font-size:26px}.election-meta{font-size:10px;gap:3px}.overline{font-size:10px}.workspace-toolbar{padding:12px;gap:10px;align-items:end}.contest-control{display:block}.contest-control label{display:block;font-size:10px;margin-bottom:5px}.contest-control select{width:100%;font-size:12px;height:35px;padding-left:8px;min-width:0}.surface-tabs{background:none;padding:0;gap:2px}.surface-tabs button{font-size:0;padding:9px 8px}.surface-tabs button svg{width:15px;height:15px}.map-toolbar{padding:9px 10px;gap:4px}.view-tabs{gap:0}.view-tabs button{font-size:10px;padding:5px 7px}.settings summary{font-size:10px;gap:5px}.settings summary svg{width:12px}.sf-explore-grid{grid-template-columns:1fr;min-height:0}.map-shell{border-right:0;border-bottom:1px solid var(--line)}.sf-map-wrap{height:455px}.map-overline{top:16px;left:16px}.map-overline strong{font-size:11px}.map-overline span{font-size:10px}.map-buttons{right:12px;top:14px}.sf-legend{padding:10px 15px;font-size:9px;min-height:38px}.sf-detail{padding:20px;max-height:none}.detail-heading{margin-bottom:15px}#area-identity h2{font-size:20px}.result-mode-label{margin-top:18px;padding-top:15px;margin-bottom:16px}.candidate-result{margin-bottom:16px}.result-totals{margin-top:20px;padding-top:16px;justify-content:start;gap:50px}.coverage-note{margin-top:16px}.workspace-footer{padding:12px 16px;align-items:start;gap:15px;font-size:9px}.workspace-footer button{font-size:9px;white-space:nowrap}.table-panel{padding:16px 12px}.table-toolbar{display:block}.search-wrap{width:100%;margin-bottom:12px}.table-filters{justify-content:space-between}th,td{padding:12px 8px}.table-footer{align-items:start}.table-footer span{max-width:70%}.methods-grid{grid-template-columns:1fr;gap:40px}.method-sidebar{max-width:none}.page-heading>button{font-size:10px}.method-copy h2{font-size:18px}.footnote{font-size:9px;max-width:280px}footer{padding:20px 16px}.city-tag{font-size:9px}.city-main{font-size:10px;letter-spacing:1px}.city-neighborhood{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.brand{font-weight:500}.page-heading h1{font-size:24px;letter-spacing:-.6px}.page-heading{padding:26px 0 22px}.round-controls{padding:9px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:11px;color:var(--muted)}.round-picker{display:flex;align-items:center;gap:8px}.round-picker label{margin-right:8px}.round-picker select{min-height:29px;font-size:11px;padding:3px 22px 3px 8px}.round-picker button{border:1px solid var(--line);border-radius:4px;width:26px;height:27px;padding:0;font-size:18px;line-height:1}.round-picker button:disabled{opacity:.3;cursor:default}#round-note{font-size:10px}.leaflet-tooltip span{color:var(--muted);font-size:10px}@media(max-width:720px){.brand{font-size:11px}.site-header{gap:20px}.site-header nav{gap:13px}.site-header nav button{font-size:11px}.page-heading h1{font-size:21px}.round-controls{padding:10px 12px;align-items:start;flex-direction:column;gap:7px}.round-picker{gap:6px}.round-picker label{margin-right:8px}#round-note{font-size:9px}.sf-map-wrap{height:420px}}

.candidate-result-count span{float:left;color:var(--accent)}.eliminated{font-size:10px;color:var(--muted);border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.eliminated summary{cursor:pointer}.eliminated>div{display:flex;justify-content:space-between;gap:10px;padding-top:8px}.eliminated>div>span:last-child{white-space:nowrap}

.contest-context{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}
.contest-context h2{font-size:15px;line-height:1.5;letter-spacing:-.2px;max-width:800px}.contest-context p{font-size:12px;color:var(--muted);margin-top:4px;max-width:720px}.context-kicker{font-size:10px;color:var(--muted);display:block;margin-bottom:3px}.context-links{display:flex;gap:18px;flex:none;font-size:11px;color:var(--muted)}
.seats-panel{padding:30px 36px 24px;max-width:1100px;margin:auto}.seats-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.seats-heading h2{font-size:23px;letter-spacing:-.5px}.seats-heading p{font-size:12px;color:var(--muted);margin-top:6px}.seats-status{font-size:10px;color:var(--muted);padding-top:7px;white-space:nowrap}.seat-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:28px 0 34px}.seat-card{padding-top:12px;border-top:2px solid var(--candidate)}.seat-position{display:flex;align-items:baseline;gap:9px;font-size:13px;font-variant-numeric:tabular-nums}.seat-position>span{font-size:10px;color:var(--muted)}.seat-card h3{font-size:15px;font-weight:500;margin:13px 0 6px;letter-spacing:-.3px}.seat-card>strong{font-size:25px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.6px}.seat-card>strong>span{font-size:10px;letter-spacing:0;font-weight:400;color:var(--muted);margin-left:7px}.seat-notice{margin:20px 0;font-size:12px;color:var(--muted)}.seat-chart-heading{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:0 0 12px;border-bottom:1px solid var(--line)}.seat-chart{list-style:none;margin:0;padding:0}.seat-row{padding:13px 0 7px}.seat-row-label{display:grid;grid-template-columns:20px 1fr auto;gap:12px;font-size:12px;align-items:baseline}.seat-rank{color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}.seat-row-label strong{font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.seat-bar{height:5px;margin:7px 0 0 32px;background:var(--subtle)}.seat-bar i{display:block;height:100%;opacity:.55}.in-seats .seat-bar i{opacity:1}.seat-cutoff{display:flex;align-items:center;gap:14px;margin:13px 0 4px;color:var(--muted);font-size:10px}.seat-cutoff:before,.seat-cutoff:after{content:'';border-top:1px dashed var(--faint);flex:1}.seat-footer{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);padding-top:20px;margin-top:16px;border-top:1px solid var(--line)}
@media(max-width:720px){.workspace-toolbar{flex-wrap:wrap;align-items:center}.contest-control{flex:1 1 100%}.surface-tabs{width:100%;justify-content:end}.surface-tabs button{font-size:11px;padding:5px 9px}.surface-tabs button svg{width:13px;height:13px}.contest-context{padding:15px 14px;align-items:start;flex-direction:column;gap:12px}.contest-context h2{font-size:13px}.contest-context p{font-size:11px}.context-links{font-size:10px}.seats-panel{padding:20px 16px}.seats-heading{flex-direction:column;gap:6px}.seats-heading h2{font-size:21px}.seats-heading p{font-size:11px;max-width:250px}.seats-status{font-size:9px;padding:0}.seat-cards{gap:12px;margin:24px 0}.seat-position{font-size:11px;gap:4px;align-items:start;flex-direction:column}.seat-position>span{font-size:9px}.seat-card h3{font-size:12px;min-height:36px;line-height:1.45;margin:12px 0 5px}.seat-card>strong{font-size:18px;letter-spacing:-.4px}.seat-card>strong>span{display:block;margin:0;font-size:9px}.seat-row-label{font-size:11px;gap:8px;grid-template-columns:16px 1fr auto}.seat-row-label strong{font-size:11px}.seat-bar{margin-left:24px}.seat-cutoff{font-size:9px;gap:8px}.seat-footer{font-size:9px;flex-direction:column;gap:5px}}

.write-in-note{padding:10px 20px;font-size:11px;color:var(--muted);border-bottom:1px solid var(--line)}@media(max-width:720px){.write-in-note{padding:10px 14px;font-size:10px}}

.next-update{margin:-10px 0 20px;font-size:11px;color:var(--muted)}@media(max-width:720px){.site-header{gap:14px}.header-actions .source-link{font-size:10px;gap:4px}.next-update{font-size:10px;margin:-10px 0 18px}}

.site-credit{justify-content:center}.site-credit a{color:var(--muted)}
