.victory-panel{border-bottom:1px solid var(--control-line);margin-bottom:24px;padding:0 0 24px}.victory-panel h2{letter-spacing:-.025em;margin:0;font-size:22px;font-weight:500;line-height:1.25}.victory-intro{color:var(--control-muted);margin-top:8px;font-size:12px;line-height:1.6}.victory-rows{margin:16px 0 0;padding:0;list-style:none}.victory-rows>li{border-top:1px solid var(--control-line);padding:12px 0}.victory-rows>li.victory-rule{border:1px solid #171717;border-radius:8px;margin-top:4px;padding:12px}.victory-row-label{justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:500;line-height:1.4;display:flex}.victory-row-label small{color:var(--control-muted);margin-left:8px;font-size:12px;font-weight:400}.victory-badge{color:#171717;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:11px;font-weight:600;display:grid}.victory-badge-none{color:var(--control-muted);background:#0000000f}.victory-values{font-variant-numeric:tabular-nums;margin-top:4px;font-size:13px;line-height:1.5}.victory-missing{color:var(--control-muted);font-size:12px}.victory-split{background:#0000000d;border-radius:3px;gap:2px;height:6px;margin-top:8px;display:flex;overflow:hidden}.victory-split>span{flex-basis:0;min-width:2px}.victory-note{color:var(--control-muted);margin-top:8px;font-size:12px;line-height:1.5}.rule-details{gap:14px;margin:18px 0 0;font-size:12px;line-height:1.5;display:grid}.rule-details dt{font-size:13px;font-weight:500}.rule-details dt small{color:var(--control-muted);margin-left:8px;font-size:12px;font-weight:400}.rule-details dd{color:var(--control-muted);gap:4px;margin:4px 0 0;display:grid}.rule-details dd strong{color:#171717;font-variant-numeric:tabular-nums;font-weight:500}.rule-bar{font-variant-numeric:tabular-nums;grid-template-columns:40px minmax(0,1fr) 44px;align-items:center;gap:8px;display:grid}.rule-bar>i{border-radius:3px;height:6px}.rule-bar>b{color:#171717;text-align:right;font-weight:500}.road{margin:20px 0 0}.road figcaption{flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:13px;line-height:1.5;display:flex}.road figcaption span{color:var(--control-muted);font-size:12px}.road-track{border-radius:4px;gap:1px;height:30px;margin-top:24px;display:flex;position:relative}.road-track>span{flex-basis:0;place-items:center;min-width:1px;display:grid;overflow:hidden}.road-track>span:first-child{border-radius:4px 0 0 4px}.road-track>span:nth-last-child(2){border-radius:0 4px 4px 0}.road-track small{color:#000000b3;font-size:10px;font-weight:600}.road-track>.road-tipping{outline-offset:1px;z-index:1;outline:2px solid #171717}.road-line{background:#171717;width:2px;margin-left:-1px;position:absolute;top:-6px;bottom:-6px}.road-line b{padding-bottom:2px;font-size:11px;font-style:normal;font-weight:600;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.road-legend{color:var(--control-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;margin-top:10px;font-size:12px;line-height:1.5;display:flex}.turns{border-bottom:1px solid var(--control-line);margin-bottom:24px;padding:4px 0 20px;position:relative}.turns-heading{flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:13px;line-height:1.5;display:flex}.turns-heading>span{color:var(--control-muted);font-size:12px}.turns-key{flex-wrap:wrap;align-items:center;gap:4px 8px;margin-left:auto;display:flex}.turns-key i{margin-left:8px;display:inline-block}.turns-moments{height:34px;margin:6px 64px 0;position:relative}.turns-moments span{color:var(--control-muted);white-space:nowrap;border-bottom:0;padding-bottom:6px;font-size:11px;position:absolute;bottom:0;transform:translate(-50%)}.turns-moments span:after{content:"";background:#0000004d;width:1px;height:8px;position:absolute;bottom:-4px;left:50%}.turns-moments span:nth-child(2n){bottom:16px}.turns-moments span:nth-child(2n):after{height:24px;bottom:-20px}.turns-track{grid-template-columns:repeat(40,minmax(0,1fr));gap:2px;margin:4px 64px 0;padding:0;list-style:none;display:grid}.turns-track button{background:0 0;border:0;border-radius:3px;grid-template-rows:14px 14px;gap:2px;width:100%;min-height:34px;padding:2px 0;display:grid;position:relative}.turns-track button>span{border-radius:2px;display:block}.turns-track button[aria-current=true]{box-shadow:0 0 0 2px #171717}.turns-track button:disabled{background:0 0}.turns-track .turns-state-only:after{content:"";pointer-events:none;background:repeating-linear-gradient(135deg,#ffffffb3 0 2px,#0000 2px 5px);border-radius:2px;position:absolute;inset:2px}.turns-track span.turns-lost{box-shadow:inset 0 0 0 2px #171717}.turns-track .turns-third{position:absolute;top:-6px;left:50%}.turns-third{background:#b58b27;width:7px;height:7px;transform:translate(-50%)rotate(45deg)}.turns-key .turns-third{transform:rotate(45deg)}.turns-key .turns-lost{border:2px solid #171717;border-radius:2px;width:10px;height:10px}.turns-hatch{background:repeating-linear-gradient(135deg,#bbb 0 2px,#0000 2px 4px);border-radius:2px;width:12px;height:10px}.turns-axis{height:18px;color:var(--control-muted);font-variant-numeric:tabular-nums;margin:4px 64px 0;font-size:11px;position:relative}.turns-axis>span{white-space:nowrap;position:absolute;right:calc(100% + 8px)}.turns-axis>span:first-child{top:-48px}.turns-axis>span:nth-child(2){top:-32px}.turns-axis b{font-weight:400;position:absolute;transform:translate(-50%)}.streak-endings{border-top:1px solid var(--control-line);color:var(--control-muted);margin-top:20px;padding-top:16px;font-size:12px;line-height:1.6}.streak-endings h3{color:#171717;margin:0 0 6px;font-size:13px;font-weight:500}.streak-endings strong{color:#171717;font-weight:500}.streak-longest{text-align:left;font-variant-numeric:tabular-nums;gap:2px;width:100%;margin-top:10px;padding:10px 12px;font-size:12px;font-weight:400;line-height:1.5;display:grid}.loyalty-strip{margin:20px 0 0}.loyalty-strip figcaption{flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:13px;line-height:1.5;display:flex}.loyalty-strip figcaption strong{font-weight:500}.loyalty-strip figcaption>span:last-child:not(.streak-badge){color:var(--control-muted);flex-basis:100%;font-size:12px}.streak-badge{color:#fff;background:#171717;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500}.loyalty-strip ol{grid-template-columns:repeat(40,minmax(0,1fr));gap:1px;height:14px;margin:10px 0 0;padding:0;list-style:none;display:grid}.loyalty-strip li{opacity:.35;background:#0000000f;border-radius:1px}.loyalty-strip li.loyalty-current{opacity:1}.loyalty-strip li.loyalty-now{opacity:1;box-shadow:inset 0 0 0 1px #171717}.loyalty-axis{color:var(--control-muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:4px;font-size:11px;display:flex}@media (width<=960px){.turns-moments,.turns-track,.turns-axis{margin-inline:0}.turns-axis>span{display:none}.turns-moments span:nth-child(n){font-size:10px}}@media (width<=600px){.turns-moments{display:none}.turns-key{margin-left:0}.turns-track button{grid-template-rows:11px 11px;min-height:28px}}.map-stage.is-civ{--civ-panel:#111a23eb;--civ-gold:#d9b86c;--civ-bright:#f3d27a;--civ-ink:#f1e9d8;--civ-muted:#c9c1b1;background:#4d7d8a}.civ-turn,.civ-banner,.hex-label{letter-spacing:.04em;font-family:Cinzel,Georgia,serif}.civ-turn{z-index:2;background:var(--civ-panel);color:var(--civ-ink);pointer-events:none;border:1px solid #b8955a;border-radius:6px;align-items:baseline;gap:12px;padding:8px 14px;font-size:12px;display:flex;position:absolute;top:16px;left:16px;box-shadow:0 6px 20px #0000004d}.civ-turn span{color:var(--civ-muted)}.civ-turn b{color:var(--civ-ink);font-variant-numeric:tabular-nums}.civ-turn strong{color:var(--civ-bright);font-variant-numeric:tabular-nums;font-size:18px}.civ-turn em{letter-spacing:0;color:var(--civ-muted);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-style:normal}.is-civ .map-view-actions button{background:var(--civ-panel);color:var(--civ-ink);border:1px solid #b8955a}.is-civ .map-view-actions button:hover{background:#1e2c38f2}.is-civ .map-empty{background:var(--civ-panel);color:var(--civ-ink);border:1px solid #b8955a}.civ-banner{white-space:nowrap;border:1px solid #b8955a;border-radius:4px;height:26px;font-size:12px;font-weight:700;display:flex;position:relative;overflow:visible;transform:translate(-50%,calc(-100% - 14px));box-shadow:0 5px 12px #0006}.civ-banner:after{content:"";background:#b8955a;width:1.5px;height:14px;position:absolute;top:100%;left:50%}.civ-banner-votes{color:#f1e9d8;font-variant-numeric:tabular-nums;background:#111a23;border-radius:3px 0 0 3px;align-items:center;padding:0 7px;display:flex}.civ-banner-name{color:#fff;border-radius:0 3px 3px 0;align-items:center;gap:5px;padding:0 9px;display:flex}.civ-banner-D .civ-banner-name{background:#6550b5}.civ-banner-R .civ-banner-name{background:#c83c12}.civ-banner-O .civ-banner-name{background:#5d6570}.civ-banner.is-captured{border-color:var(--civ-bright,#f3d27a);box-shadow:0 5px 12px #0006,0 0 12px #f3d27a8c}.hex-label{color:#f1e9d8;white-space:nowrap;pointer-events:none;background:#111a23c7;border-radius:3px;align-items:baseline;gap:4px;padding:2px 6px;font-size:10px;font-weight:700;display:flex}.hex-label b{color:#d9b86c;font-variant-numeric:tabular-nums}.hex-label em{color:#f3d27a;font-style:normal}.hex-label.is-tipping{border:1px solid #f3d27a;font-size:11px;box-shadow:0 0 10px #f3d27a99}.play-game{color:#17202a;background:linear-gradient(#f1d488,#c9a35a 55%,#a8843f);border:1px solid #f7e1a0;border-radius:4px;align-items:center;gap:9px;padding:6px 12px 6px 8px;text-decoration:none;display:inline-flex;box-shadow:0 0 0 3px #111a23b3,0 6px 18px #00000059}.play-game i{color:#f3d27a;background:#111a23;border-radius:50%;place-items:center;width:26px;height:26px;font-size:13px;font-style:normal;display:grid}.play-game span{letter-spacing:.08em;text-transform:uppercase;flex-direction:column;font:700 13px/1.1 Cinzel,Georgia,serif;display:flex}.play-game small{letter-spacing:0;text-transform:none;color:#3d3220;font:500 10.5px/1.3 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.play-game b{font-size:14px}.play-game:hover{filter:brightness(1.08)}.play-game:focus-visible{outline-offset:3px;outline:2px solid #f3d27a}.game-gate{z-index:100;color:#f1e9d8;background:radial-gradient(circle at 50% 45%,#1c2d3c,#070b0f 70%);flex-direction:column;justify-content:center;align-items:center;gap:6px;font-family:Cinzel,Georgia,serif;animation:.55s ease-in both gate-in;display:flex;position:fixed;inset:0}.game-gate span{letter-spacing:.2em;text-transform:uppercase;color:#c9c1b1;font-size:13px}.game-gate strong{letter-spacing:.06em;color:#f3d27a;font-size:56px}.game-gate em{color:#93a6ae;font:italic 13px -apple-system,BlinkMacSystemFont,sans-serif}@keyframes gate-in{0%{opacity:0}}@media (prefers-reduced-motion:no-preference){.play-game{position:relative;overflow:hidden}.play-game:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 30%,#ffffffb3 50%,#0000 70%);animation:1.4s ease-in-out .6s play-glint;position:absolute;inset:0;transform:translate(-120%)}}@keyframes play-glint{to{transform:translate(120%)}}.county-search{min-width:0;position:relative}.county-search-icon{color:var(--control-muted);pointer-events:none;position:absolute;top:13px;left:14px}.county-search input{border:1px solid var(--control-line);width:100%;min-width:0;height:44px;color:inherit;font:inherit;background:#fff;border-radius:8px;padding:0 12px 0 42px;font-size:14px}.county-search input::placeholder{color:var(--control-muted)}.county-search-popup{z-index:20;border:1px solid var(--control-line);background:#fff;border-radius:8px;padding:4px;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 8px 24px #00000014}.county-search-status{color:var(--control-muted);margin:0;padding:12px;font-size:12px;line-height:1.5}.county-search-results{overscroll-behavior:contain;max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.county-search-results li{cursor:pointer;border-radius:4px;flex-direction:column;justify-content:center;gap:4px;min-height:64px;padding:12px;font-size:14px;line-height:1.4;display:flex}.county-search-results li[aria-selected=true]{background:#00000012}.county-search-state,.county-search-results small{color:var(--control-muted)}.county-search-results small{font-variant-numeric:tabular-nums;font-size:12px}.county-details{min-width:0;margin-bottom:24px;padding:0}.county-details-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.county-details-heading>div{min-width:0}.county-eyebrow{color:var(--control-muted);margin:0 0 8px;font-size:13px;line-height:1.5}.county-details h2{letter-spacing:-.035em;overflow-wrap:anywhere;margin:0;font-size:24px;font-weight:500;line-height:1.2}.county-location{color:var(--control-muted);flex-wrap:wrap;gap:4px 12px;margin:8px 0 0;font-size:13px;line-height:1.5;display:flex}.county-location span{color:var(--ink-soft);font-variant-numeric:tabular-nums}.county-close{background:0 0;border:0;flex-shrink:0;place-items:center;width:44px;height:44px;padding:0;display:grid}.county-view-actions{flex-wrap:wrap;gap:8px;margin:24px 0;display:flex}.county-view-actions button{white-space:nowrap;flex:1;min-height:44px;font-size:13px}.county-detail-metrics{font-variant-numeric:tabular-nums;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;margin:24px 0 12px;display:grid}.county-detail-metrics dt{color:var(--control-muted);font-size:13px;line-height:1.5}.county-detail-metrics dd{letter-spacing:-.035em;margin:8px 0 0;font-size:24px;font-weight:500;line-height:1.2}.county-detail-metrics .county-shift-metric{grid-column:1/-1}.county-shift-metric dd{letter-spacing:-.015em;font-size:18px}.county-lead-status,.county-missing,.county-history-summary,.county-method-note{color:var(--control-muted);font-size:12px;line-height:1.6}.county-lead-status{margin:8px 0 0}.county-missing{background:#0000000a;border-radius:8px;margin:16px 0 0;padding:12px}.county-history-chart{margin:32px 0 16px}.county-history-chart figcaption{font-size:14px;font-weight:500;line-height:1.5}.county-history-chart figcaption span{color:var(--control-muted);margin-top:4px;font-size:12px;font-weight:400;display:block}.county-history-chart svg{width:100%;margin-top:12px;display:block;overflow:visible}.county-history-chart svg text{fill:#000000a3;font-variant-numeric:tabular-nums;font-family:inherit;font-size:14px}.county-chart-key{color:var(--control-muted);flex-wrap:wrap;gap:4px 12px;margin:8px 0 0;font-size:12px;line-height:1.5;display:flex}.county-history-summary{margin:16px 0}.county-history-table{margin-top:24px}.county-history-table summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:13px;font-weight:500;line-height:20px}.county-history-table>p{color:var(--control-muted);margin:8px 0 16px;font-size:12px;line-height:1.6}.county-table-scroll{overscroll-behavior:contain;scrollbar-width:thin;max-height:320px;margin-bottom:16px;overflow:auto}.county-history-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:288px;font-size:12px}.county-history-table th,.county-history-table td{text-align:right;padding:12px 6px}.county-history-table th:first-child{text-align:left}.county-history-table th{font-weight:500}.county-history-table thead{background:#fff;position:sticky;top:0}.county-history-table thead th{color:var(--control-muted)}.county-history-table tbody tr:nth-child(odd){background:#00000008}.county-history-table tbody tr[aria-current=true]{background:#00000017}.county-history-table td small{color:var(--control-muted);margin-top:4px;font-size:12px;display:block}.county-method-note{margin:16px 0 0}.county-visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}:root{color:#171717;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--control-accent:#6550b5;--control-muted:#000000a3;--ink-soft:#0000008f;--control-line:#0000001f;--control-hover:#0000000a;--sidebar-width:352px;--column-gap:32px;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}html,body,#root{width:100%;min-height:100%}button,select,input{font:inherit}button,select{border:1px solid var(--control-line);min-height:44px;color:inherit;background:#fff;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:500;line-height:22px}button,summary,input[type=range]{cursor:pointer;touch-action:manipulation}button{transition:background-color .12s,border-color .12s}button:disabled,select:disabled{color:var(--ink-soft);cursor:default;background:#00000008}:focus-visible{outline:3px solid var(--control-accent);outline-offset:3px}svg{flex-shrink:0}canvas{touch-action:none;display:block}p{margin:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.application{border:0;min-width:0;max-width:1760px;min-height:100dvh;margin:0 auto;padding:0 40px}.application:disabled canvas{pointer-events:none}.map-header{border-bottom:1px solid var(--control-line);justify-content:space-between;align-items:center;gap:24px;padding:28px 0;display:flex}.map-header h1{letter-spacing:-.04em;margin:0;font-size:28px;font-weight:500;line-height:1.15}.map-kicker{color:var(--control-muted);margin-top:8px;font-size:12px;line-height:1.5}.share-actions{flex-shrink:0;gap:8px;display:flex}.share-actions button{background:0 0}.share-feedback{z-index:20;border:1px solid var(--control-line);color:#171717;background:#fff;border-radius:8px;max-width:min(420px,100% - 40px);padding:14px 20px;font-size:13px;line-height:1.5;position:fixed;bottom:24px;right:40px;box-shadow:0 4px 20px #00000014}.share-feedback:empty{display:none}.manual-link{align-items:center;gap:16px;padding-top:20px;font-size:13px;display:flex}.manual-link input{border:1px solid var(--control-line);border-radius:8px;flex:1;min-width:0;height:44px;padding:10px 12px}.load-error{background:#0000000a;margin-top:24px;padding:16px;font-size:14px;line-height:1.5}.explorer-toolbar,.election-explorer{grid-template-columns:minmax(0, 1fr) var(--sidebar-width);column-gap:var(--column-gap);display:grid}.explorer-toolbar{z-index:5;align-items:center;padding:24px 0;position:relative}.election-navigation,.timeline-controls,.playback-controls,.mode-switch{align-items:center;display:flex}.election-navigation{gap:24px;min-width:0}.timeline-controls{gap:8px}.election-date{display:block}.election-date select{letter-spacing:-.02em;min-width:108px;height:44px;padding:8px 12px;font-size:20px}.playback-controls{gap:0}.step-button{border-color:#0000;place-items:center;width:44px;padding:0;display:grid}.step-button:disabled{color:#0000004d;background:0 0}.play-button{border-color:#0000;min-width:60px;padding-inline:12px}.mode-switch{background:#0000000d;border-radius:8px;gap:0;height:44px;padding:0}.mode-switch button{min-width:72px;height:44px;min-height:44px;color:var(--control-muted);background:0 0;border:0;border-radius:8px;padding:12px 14px;line-height:20px}.mode-switch button[aria-pressed=true]{color:#fff;background:#171717}.election-explorer{align-items:start;padding-bottom:32px}.map-panel{min-width:0;position:sticky;top:24px}.map-panel-header{justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding-bottom:16px;display:flex}.map-panel-header h2{letter-spacing:-.035em;margin:0;font-size:26px;font-weight:500;line-height:1.2}.map-panel-header>div>p{color:var(--control-muted);margin-top:6px;font-size:13px;line-height:1.5}.map-stage{background:#f5f5f5;border-radius:10px;min-width:0;height:clamp(400px,100dvh - 380px,700px);position:relative;overflow:hidden}.map-view-actions{flex-wrap:wrap;gap:8px;max-width:calc(100% - 32px);display:flex;position:absolute;bottom:16px;left:16px}.map-view-actions button{background:#fff;border-color:#0000;font-size:12px}.map-stage.is-fullscreen{z-index:50;border-radius:0;width:100%;height:100dvh;position:fixed;inset:0}body:has(.map-stage.is-fullscreen){overflow:hidden}.map-panel:has(.map-stage.is-fullscreen){z-index:50}.fullscreen-bar{z-index:2;background:#fffffff0;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 16px;width:fit-content;max-width:calc(100% - 32px);padding:6px 6px 6px 16px;display:flex;position:absolute;top:16px;left:16px;right:16px;box-shadow:0 4px 20px #00000014}.fullscreen-bar p{align-items:baseline;gap:8px;font-size:15px;line-height:1.4;display:flex}.fullscreen-bar p strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:20px;font-weight:500}.fullscreen-bar p span{color:var(--control-muted);font-size:12px}.map-stage.is-fullscreen .map-empty{top:96px}.map-empty{max-width:calc(100% - 40px);color:var(--control-muted);background:#fff;border-radius:6px;padding:12px 16px;font-size:13px;line-height:1.5;position:absolute;top:20px;left:20px}.scene-status{flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;max-width:420px;margin:auto;padding:24px;font-size:14px;line-height:1.5;display:flex;position:absolute;inset:0}.map-caption{grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;padding-top:20px;display:grid}.party-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:470px;font-size:13px;line-height:1.5;display:grid}.party-name,.flip-directions>span,.neutral-legend>span{align-items:center;gap:8px;display:flex}.party-name{font-weight:500}.party-swatch{border-radius:2px;flex-shrink:0;width:8px;height:8px;display:inline-block}.candidate-name{color:var(--control-muted);margin:4px 0 0 16px;font-size:12px;display:block}.map-scale-note{color:var(--control-muted);font-size:12px;line-height:1.5}.neutral-legend{flex-wrap:wrap;gap:6px 16px;margin-top:6px;display:flex}.neutral-swatch{background:#999}.missing-swatch{background:#faf8f5;border:1px solid #0000004d}.selected-swatch{background:#d9ae45}.map-interaction-hint{color:var(--ink-soft);grid-column:1/-1;font-size:12px;line-height:1.5}.controls{flex-shrink:0;position:relative}.controls-heading{border-radius:6px;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:10px 0 10px 12px;font-size:13px;font-weight:500;list-style:none;display:flex}.controls-heading::-webkit-details-marker{display:none}.disclosure-icon{color:var(--control-muted)}.controls-panel[open] .controls-heading>.disclosure-icon{transform:rotate(180deg)}.controls-content{z-index:8;overscroll-behavior:contain;scrollbar-width:thin;border:1px solid var(--control-line);background:#fff;border-radius:10px;width:288px;max-width:calc(100vw - 40px);max-height:min(580px,100dvh - 140px);padding:20px;font-size:13px;line-height:1.5;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 8px 24px #00000014}.select-control{gap:8px;margin-bottom:16px;font-weight:500;display:grid}.select-control select{width:100%;min-width:0;font-weight:400}.controls-content details{border-top:1px solid var(--control-line)}.controls-content summary{justify-content:space-between;align-items:center;min-height:48px;font-weight:500;list-style:none;display:flex}.controls-content summary::-webkit-details-marker{display:none}.controls-content summary:after{content:"+";color:var(--control-muted);font-size:18px}.controls-content details[open]>summary:after{content:"−"}.slider-control{margin:8px 0 12px;font-size:12px;display:block}.slider-control>span{justify-content:space-between;align-items:baseline;gap:16px;display:flex}output{color:var(--control-muted);font-variant-numeric:tabular-nums}input[type=range]{accent-color:#171717;width:100%;height:44px;margin:0;display:block}.checkbox-control{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-size:13px;line-height:1.5;display:flex}.checkbox-control input{accent-color:#171717;flex-shrink:0;width:16px;height:16px;margin:0}.county-sidebar{min-width:0}.national-overview{padding:0 0 20px}.national-overview h2{align-items:baseline;gap:12px;margin:0 0 16px;font-size:15px;font-weight:500;line-height:24px;display:flex}.national-overview h2>span{color:var(--control-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:400}.flip-stat{color:var(--control-muted);font-size:12px;line-height:1.5}.flip-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0 0 12px;display:grid}.flip-metrics dt{font-size:12px}.flip-metrics dd{letter-spacing:-.035em;color:#171717;font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:32px;font-weight:500;line-height:1.15}.flip-directions{flex-wrap:wrap;gap:8px 20px;margin-top:8px;font-size:12px;display:flex}.county-ranking{border-top:1px solid var(--control-line);padding-top:24px}.section-kicker,.ranking-kicker{color:var(--control-muted);margin:0 0 8px;font-size:12px;line-height:1.5}.ranking-heading h2{letter-spacing:-.025em;margin:0;font-size:22px;font-weight:500;line-height:1.25}.ranking-description,.ranking-note,.ranking-empty{color:var(--control-muted);font-size:12px;line-height:1.6}.ranking-description{margin-top:8px}.ranking-filter{margin:12px 0 8px}.ranking-empty{padding:20px 0}.county-bars{margin:0;padding:0;list-style:none}.county-bars.expanded{overscroll-behavior:contain;scrollbar-width:thin;max-height:560px;padding-right:8px;overflow-y:auto}.county-choice{text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:20px minmax(0,1fr);gap:12px;width:100%;margin:0;padding:12px 8px;font-weight:400;display:grid}.county-choice[aria-pressed=true]{background:#0000000d;box-shadow:inset 3px 0 #b58b27}.county-choice:focus-visible{outline-offset:-3px}.county-rank{font-variant-numeric:tabular-nums;color:var(--ink-soft);padding-top:2px;font-size:12px}.county-row-content{min-width:0}.county-label{justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;line-height:1.4;display:flex}.county-name{overflow-wrap:anywhere;min-width:0;font-weight:500}.county-label strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px;font-weight:500}.county-label strong small{font-size:12px;font-weight:400}.county-bar-track{background:#0000000d;border-radius:2px;height:3px;margin-top:8px;display:block;overflow:hidden}.county-bar-track>span{border-radius:inherit;height:100%;display:block}.county-comparison{color:var(--control-muted);justify-content:space-between;align-items:baseline;gap:12px;margin-top:6px;font-size:12px;line-height:1.5;display:flex}.county-previous{color:var(--control-muted);margin-top:4px;font-size:12px;line-height:1.5;display:block}.ranking-expand{justify-content:space-between;align-items:center;gap:16px;width:100%;margin:12px 0;padding:10px 12px;font-size:13px;display:flex}.ranking-expand>span{font-size:18px;font-weight:400}.map-note{border-top:1px solid var(--control-line);color:var(--control-muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;padding:20px 0 24px;font-size:12px;line-height:1.6;display:flex}.method-note{flex-basis:100%}.method-note>summary{color:#171717;align-items:center;gap:12px;width:fit-content;min-height:44px;font-size:13px;font-weight:500;list-style:none;display:flex}.method-note>summary::-webkit-details-marker{display:none}.method-note>summary span{font-size:18px;font-weight:400}.method-note[open]>summary span{transform:rotate(45deg)}.method-note p{max-width:72ch;margin:12px 0 20px;font-size:13px;line-height:1.7}@media (hover:hover) and (pointer:fine){button:not(:disabled):hover{background:var(--control-hover)}.mode-switch button[aria-pressed=true]:hover{background:#333}.county-choice[aria-pressed=true]:hover{background:#00000012}.controls-heading:hover{background:var(--control-hover)}}button:not(:disabled):active{background:#00000017}.mode-switch button[aria-pressed=true]:active{background:#444}@media (width<=1200px){:root{--sidebar-width:320px;--column-gap:32px}.application{padding-inline:32px}.map-caption{grid-template-columns:1fr;gap:16px}.map-scale-note{flex-wrap:wrap;align-items:baseline;gap:8px 20px;display:flex}.neutral-legend{margin-top:0}.map-panel-header h2{font-size:24px}}@media (width<=960px){.application{padding-inline:24px}.explorer-toolbar,.election-explorer{grid-template-columns:minmax(0,1fr)}.explorer-toolbar{gap:16px}.election-navigation{justify-content:space-between}.map-panel{position:static}.map-stage{height:480px}.county-sidebar{margin-top:32px}.national-overview{max-width:520px}.map-caption{grid-template-columns:1fr}.county-ranking{padding-top:24px}}@media (width<=600px){.application{padding-inline:20px}.map-header{flex-wrap:wrap;align-items:flex-start;gap:20px;padding-block:24px}.map-header h1{font-size:28px}.map-kicker{margin-top:6px}.share-actions{gap:8px}.share-actions button{padding-inline:14px;font-size:12px}.explorer-toolbar{gap:12px;padding-block:20px}.county-search input{font-size:16px}.election-navigation{gap:8px}.timeline-controls{gap:0}.election-date select{min-width:86px;padding-inline:8px;font-size:18px}.step-button{width:44px;min-height:44px}.play-button{min-width:44px;padding-inline:4px;font-size:12px}.election-navigation{flex-wrap:wrap;row-gap:12px}.mode-switch{gap:0;width:100%}.mode-switch button{flex:1;min-width:0;padding-inline:4px;font-size:12px}.map-panel-header{align-items:flex-start;gap:12px;min-height:80px;padding:0 0 16px}.map-panel-header h2{font-size:21px;line-height:1.3}.map-panel-header>div>p{max-width:26ch;margin-top:4px;font-size:12px}.controls-heading{white-space:nowrap;gap:6px;min-height:44px;padding:0;font-size:12px}.controls-content{max-height:calc(100dvh - 180px)}.map-stage{border-radius:8px;height:350px}.map-view-actions{gap:6px;bottom:12px;left:12px}.map-view-actions button{padding-inline:12px}.fullscreen-bar{padding-left:12px;top:12px;left:12px;right:12px}.fullscreen-bar .mode-switch{width:100%}.map-caption{gap:16px;padding-top:20px}.party-legend{gap:16px;font-size:12px}.candidate-name{margin-top:4px}.map-scale-note{display:block}.neutral-legend{margin-top:6px}.map-interaction-hint{font-size:12px}.county-sidebar{margin-top:32px}.national-overview{border-top:1px solid var(--control-line);padding-top:24px}.flip-metrics dd{font-size:32px}.county-choice{padding:12px 4px}.map-note{gap:8px;padding-top:16px}.map-note>span{flex-basis:100%}.share-feedback{bottom:16px;right:20px}.manual-link{flex-direction:column;align-items:stretch;gap:8px}}@media (width<=360px){.election-navigation{gap:12px}.map-panel-header{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){button{transition:none}}@media (prefers-contrast:more){:root{--control-muted:#000c;--ink-soft:#000000b8;--control-line:#00000080}}
