:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-bg:#07090d;--surface-1:#0e1219;--surface-elevated:#080b10;--text-primary:#f7f9fc;--text-secondary:#dce5f1;--text-muted:#9ca9ba;--border:#28313e;--border-soft:#1b2330;--border-strong:#465264;--nav-bg:#07090deb;--mobile-nav-bg:#07090dfa;--nav-text:#d9e1ec;--subnav-bg:#0c1017f0;--footer-bg:#040609;--input-bg:#080b10;--input-border:#3a4759;--hover-surface:#121822;--selected-surface:#15304a;--link:#3fa9f5;--focus-ring:#3fa9f5;--tooltip-bg:#070a0ff7;--tooltip-text:#f7f9fc;--table-header-bg:#102a3e;--table-row-bg:#070d14;--table-row-alt:#0e1823;--track-bg:#080b10;--overlay:#000000b8;--map-bg:#090d13;--map-outline:#d5dce6;--map-outline-active:#fff;--map-label:#fff;--map-label-halo:#05070ad9;--map-callout-line:#c8d1dc;--map-tooltip-bg:#080b10;--map-tooltip-text:#fff;--bg:#07090d;--surface:#0e1219;--surface-2:#141a23;--line:#28313e;--line-soft:#1b2330;--text:#f7f9fc;--muted:#9ca9ba;--blue:#3fa9f5;--blue-deep:#1376d1;--red:#e21b2d;--red-deep:#b70f20;--independent:#b984e7;--independent-deep:#4a176f;--gold:#efbd3f;--max-width:1180px;--shadow:0 18px 50px #00000047}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-bg:#f4f6f8;--surface-1:#fff;--surface-2:#f0f3f6;--surface-elevated:#fff;--text-primary:#111827;--text-secondary:#374151;--text-muted:#5f6b7a;--border:#cbd3dd;--border-soft:#e2e7ed;--border-strong:#8a98a8;--nav-bg:#fffffff2;--mobile-nav-bg:#fff;--nav-text:#374151;--subnav-bg:#eef2f6;--footer-bg:#e9eef3;--input-bg:#fff;--input-border:#929faf;--hover-surface:#eaf0f5;--selected-surface:#dceeff;--link:#075ea8;--focus-ring:#0969b4;--tooltip-bg:#fff;--tooltip-text:#111827;--table-header-bg:#e7eff7;--table-row-bg:#fff;--table-row-alt:#f6f8fa;--track-bg:#d9e0e7;--overlay:#0f172a59;--map-bg:#e9eef3;--map-outline:#657384;--map-outline-active:#172033;--map-label:#fff;--map-label-halo:#111827e6;--map-callout-line:#687687;--map-tooltip-bg:#fff;--map-tooltip-text:#111827;--shadow:0 14px 34px #1f29371f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{background:radial-gradient(circle at 78% 5%, #e21b2d17, transparent 25rem), radial-gradient(circle at 20% 15%, #3fa9f51a, transparent 28rem), var(--page-bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.55}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}.wrap{width:min(calc(100% - 2.5rem), var(--max-width));margin-inline:auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;color:#000;background:#fff;border-radius:.4rem;padding:.7rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:50;background:var(--nav-bg);border-bottom:1px solid var(--border-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:5.25rem;display:flex}.brand{flex:none;align-items:center;display:flex}.theme-site-logo{aspect-ratio:1600/489;display:grid;position:relative}.brand .theme-site-logo{width:18.5rem}.theme-site-logo img{object-fit:contain;grid-area:1/1;width:100%;height:100%;display:block}.theme-site-logo-light,:root[data-theme=light] .theme-site-logo-dark{display:none!important}:root[data-theme=light] .theme-site-logo-light{display:block!important}.primary-nav{align-items:center;gap:2rem;display:flex}.primary-nav a{color:var(--nav-text);letter-spacing:.02em;font-size:.91rem;font-weight:750;text-decoration:none;position:relative}.primary-nav a:after{content:"";background:linear-gradient(90deg, var(--blue), var(--red));height:2px;transition:right .2s;position:absolute;bottom:-.55rem;left:0;right:100%}.primary-nav a:hover:after{right:0}.primary-nav a:focus-visible:after{right:0}.primary-nav .support-nav-cta{color:#080a0e;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;background:#f7f9fc;border:1px solid #fff;border-radius:.45rem;justify-content:center;align-items:center;min-height:2.35rem;padding:.45rem .78rem;font-size:.78rem;font-weight:900;transition:transform .15s,background .15s,border-color .15s;display:inline-flex;box-shadow:0 7px 18px #0003}.primary-nav .support-nav-cta:after{display:none}.primary-nav .support-nav-cta:hover{background:#e8eef5;border-color:#e8eef5;transform:translateY(-1px)}.primary-nav .support-nav-cta:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.primary-nav .support-nav-cta[aria-current=page]{box-shadow:0 0 0 2px var(--focus-ring), 0 7px 18px #0003}:root[data-theme=light] .primary-nav .support-nav-cta{border-color:var(--border-strong);color:#111827;background:#fff;box-shadow:0 6px 16px #1f29371f}:root[data-theme=light] .primary-nav .support-nav-cta:hover{background:#f7f9fc;border-color:#111827}.menu-button{border:1px solid var(--border);background:var(--surface-1);border-radius:.55rem;width:2.75rem;height:2.75rem;padding:.65rem;display:none}.menu-button span:not(.sr-only){background:var(--text-primary);border-radius:2px;height:2px;margin:.26rem 0;display:block}.admin-utility-nav{border-top:1px solid var(--border-soft);background:var(--subnav-bg)}.admin-utility-nav .wrap{align-items:center;min-height:2.15rem;display:flex}.admin-utility-nav a{border:1px solid var(--border-strong);min-height:1.7rem;color:var(--text-secondary);letter-spacing:.12em;text-transform:uppercase;border-radius:.35rem;align-items:center;padding:.22rem .62rem;font-size:.68rem;font-weight:900;text-decoration:none;display:inline-flex}.admin-utility-nav a:hover{border-color:var(--focus-ring);color:var(--text-primary);background:#3fa9f51a}.theme-toggle{border:1px solid var(--border);background:var(--surface-1);min-width:2.5rem;min-height:2.5rem;color:var(--text-secondary);font:inherit;cursor:pointer;white-space:nowrap;border-radius:.5rem;justify-content:center;align-items:center;gap:.4rem;padding:.48rem .62rem;display:inline-flex}.theme-toggle:hover{border-color:var(--focus-ring);background:var(--hover-surface);color:var(--text-primary)}.theme-toggle:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.theme-toggle svg{width:1.05rem;height:1.05rem}.theme-toggle span{font-size:.72rem;font-weight:800}.theme-toggle-desktop{margin-left:.1rem;position:relative}.theme-toggle-desktop:before{content:"";background:var(--border-soft);width:1px;height:1.4rem;position:absolute;left:-1.1rem}.theme-toggle-mobile{display:none}.demo-banner{border-bottom:1px solid var(--line);color:#dce5f1;background:linear-gradient(90deg,#3fa9f524,#e21b2d24)}.demo-banner .wrap{text-align:center;overflow-wrap:anywhere;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem .65rem;min-height:2.65rem;font-size:.82rem;display:flex}.demo-banner strong{color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.election-overview{padding-block:3.5rem 2.6rem}.section-kicker{border-bottom:1px solid var(--line);color:#d7dfeb;letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:2.2rem;padding-bottom:1.1rem;font-size:.85rem;font-weight:800;display:flex}.section-kicker>span:first-child:before{content:"";background:var(--blue);border-radius:50%;width:.55rem;height:.55rem;margin-right:.7rem;display:inline-block;box-shadow:0 0 0 5px #3fa9f51f}.cycle-label{color:var(--muted)}.overview-grid{grid-template-columns:minmax(0,1.15fr) minmax(23rem,.85fr);align-items:center;gap:3.5rem;display:grid}.overview-grid-single{grid-template-columns:minmax(0,48rem)}.eyebrow{color:var(--blue);letter-spacing:.15em;text-transform:uppercase;margin:0 0 .55rem;font-size:.76rem;font-weight:850}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.055em;text-wrap:balance;max-width:44rem;margin-bottom:1.1rem;font-size:clamp(2.55rem,5.5vw,5.1rem);line-height:.96}.overview-copy h1:after{content:".";color:var(--red)}.overview-text{color:#b6c1d0;max-width:39rem;font-size:1.08rem}.quick-links{flex-wrap:wrap;gap:.75rem;margin-top:1.8rem;display:flex}.button{border:1px solid var(--line);border-radius:.45rem;justify-content:center;align-items:center;gap:.65rem;min-height:3rem;padding:.72rem 1rem;font-size:.89rem;font-weight:800;text-decoration:none;transition:transform .15s,border-color .15s,background .15s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:#080a0e;background:#fff;border-color:#fff}.button-secondary{background:var(--surface)}.button-secondary:hover{border-color:#526074}.section-link{color:#dce5f1;font-size:.8rem;font-weight:850;text-decoration:none}.section-link:hover{color:#fff}.balance-card{border:1px solid var(--line);border-top:3px solid #0000;border-image:linear-gradient(90deg, var(--blue), var(--red)) 1;box-shadow:var(--shadow);background:linear-gradient(145deg,#121923,#0c1017 70%);padding:1.55rem}.card-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.card-heading h2{letter-spacing:-.03em;margin:0;font-size:1.55rem}.demo-chip{color:#c4cfdd;letter-spacing:.12em;text-transform:uppercase;border:1px solid #465264;border-radius:99px;align-items:center;height:1.7rem;padding:0 .62rem;font-size:.67rem;font-weight:850;display:inline-flex}.seat-totals{text-align:center;grid-template-columns:1fr auto 1fr;align-items:end;margin:2rem 0 1rem;display:grid}.seat-totals div{min-width:0;display:grid}.seat-totals strong{letter-spacing:-.06em;font-size:3.3rem;line-height:1}.seat-totals span{color:var(--muted);letter-spacing:.13em;margin-top:.35rem;font-size:.7rem;font-weight:850}.seat-totals .center-total strong{color:var(--gold);font-size:2.1rem}.seat-totals .independent-total strong{color:#b984e7}.center-total{padding-inline:.45rem}.blue-text{color:var(--blue)!important}.red-text{color:var(--red)!important}.tied-text{color:var(--gold)!important}.balance-bar{background:#202835;border-radius:99px;gap:3px;height:.65rem;display:flex;overflow:hidden}.balance-bar span{min-width:3px}.dem-bar{background:linear-gradient(90deg, var(--blue-deep), var(--blue))}.ind-bar{background:linear-gradient(90deg,#59208a,#aa78d6)}.toss-bar{background:var(--gold)}.gop-bar{background:linear-gradient(90deg, var(--red), var(--red-deep))}.majority-note{color:var(--muted);text-align:center;margin:1rem 0 0;font-size:.8rem}.majority-note strong{color:#fff}.balance-card-actions{justify-content:center;margin-top:1rem;display:flex}.content-section{border-top:1px solid var(--line-soft);padding-block:4.6rem}.section-header{justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1.8rem;display:flex}.section-header h2{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,4vw,3.2rem);line-height:1}.section-note{color:var(--muted);font-size:.78rem}.poll-list{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:.7rem;overflow:hidden}.poll-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.45fr 5rem;align-items:center;gap:1.6rem;padding:1.25rem 1.4rem;display:grid}.poll-row:last-child{border-bottom:0}.poll-row:hover{background:#121822}.homepage-polls{padding-top:2.8rem}.homepage-poll-row{color:inherit;text-decoration:none}.homepage-poll-row:focus-visible{z-index:1;outline-offset:-3px;outline:3px solid #3fa9f580;position:relative}.race-type{color:var(--blue);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:850}.poll-race h3{margin:.15rem 0;font-size:1.2rem}.poll-race p{color:var(--muted);margin:0;font-size:.77rem}.poll-candidates{gap:.45rem;display:grid}.poll-candidates div{justify-content:space-between;align-items:center;gap:1rem;display:flex}.poll-candidates span{color:#bec8d6;font-size:.86rem}.poll-candidates strong{font-size:1.05rem}.party-dot{border-radius:50%;width:.55rem;height:.55rem;margin-right:.55rem;display:inline-block}.party-dot.dem{background:var(--blue)}.party-dot.gop{background:var(--red)}.party-dot.ind{background:#aa78d6}.dem-text{color:var(--blue)!important}.gop-text{color:var(--red)!important}.ind-text{color:#c995ed!important}.other-text{color:var(--gold)!important}.poll-margin{text-align:right;font-size:1.05rem;font-weight:900}.ratings-layout{grid-template-columns:1.5fr .65fr;gap:1rem;display:grid}.ratings-feature,.rating-counts{border:1px solid var(--line);background:var(--surface);border-radius:.7rem}.ratings-feature{grid-template-columns:.95fr 1.05fr;align-items:end;gap:2rem;padding:1.75rem;display:grid}.ratings-feature h3{letter-spacing:-.04em;max-width:32rem;margin:.8rem 0;font-size:clamp(1.45rem,3vw,2.35rem);line-height:1.08}.ratings-feature p{color:var(--muted);margin-bottom:0;font-size:.9rem}.rating-spectrum{align-self:center}.spectrum-bar{grid-template-columns:repeat(7,1fr);gap:3px;height:4.5rem;display:grid;transform:skew(-8deg)}.spectrum-bar span{min-width:0}.spectrum-labels{color:var(--muted);justify-content:space-between;margin-top:.65rem;font-size:.7rem;font-weight:750;display:flex}.rating-counts{grid-template-columns:1fr;display:grid}.rating-counts>div{border-bottom:1px solid var(--line);grid-template-columns:auto auto 1fr;align-items:center;gap:.75rem;padding:1rem 1.15rem;display:grid}.rating-counts>div:last-child{border-bottom:0}.rating-counts strong{font-size:1.5rem}.rating-counts span:last-child{color:var(--muted);font-size:.8rem}.rating-swatch{border-radius:.15rem;width:.65rem;height:2.2rem}.ratings-preview-link{margin-top:1.25rem}.homepage-ratings-layout{grid-template-columns:minmax(0,1.2fr) minmax(24rem,.8fr);align-items:stretch}.homepage-balance-card{flex-direction:column;display:flex}.homepage-balance-card .card-heading h3{letter-spacing:-.03em;margin:0;font-size:1.55rem}.homepage-balance-card .balance-card-actions{margin-top:auto;padding-top:1rem}.race-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.race-card{border:1px solid var(--line);background:linear-gradient(145deg, var(--surface-2), var(--surface));border-radius:.7rem;flex-direction:column;min-height:16rem;padding:1.35rem;transition:transform .18s,border-color .18s;display:flex;position:relative;overflow:hidden}.race-card:after{content:"";border:1.4rem solid #ffffff06;border-radius:50%;width:11rem;height:11rem;position:absolute;inset:auto -4rem -6rem auto}.race-card:hover{border-color:#465368;transform:translateY(-4px)}.race-card-top{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;gap:1rem;font-size:.76rem;font-weight:800;display:flex}.rating-pill{color:#fff;letter-spacing:.06em;border-radius:99px;padding:.28rem .55rem;font-size:.65rem}.toss-pill{color:#f5ce67;background:#efbd3f2b;border:1px solid #efbd3f73}.blue-pill{color:#82c9fb;background:#3fa9f529;border:1px solid #3fa9f566}.red-pill{color:#ff8290;background:#e21b2d29;border:1px solid #e21b2d66}.independent-pill{color:#d5b2f1;background:#aa78d629;border:1px solid #aa78d66b}.race-card h3{letter-spacing:-.035em;margin:1.45rem 0 .65rem;font-size:1.65rem}.race-card>p{color:var(--muted);font-size:.89rem}.race-card-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1rem;font-size:.75rem;display:flex}.race-card-footer strong{color:#fff}.race-card-link{color:inherit;text-decoration:none}.race-card-link:focus-visible{outline-offset:3px;outline:3px solid #3fa9f58c}.race-card-link>*{z-index:1;position:relative}.race-card-candidates{gap:.45rem;margin:0 0 1.25rem;display:grid}.race-card-candidates div{color:#dce5f1;flex-wrap:wrap;align-items:baseline;gap:.35rem;display:flex}.race-card-candidates strong{color:var(--muted);font-size:.72rem}.race-card-candidates small{color:#748195;letter-spacing:.12em;text-transform:uppercase;flex-basis:100%;font-size:.65rem;font-weight:850}.race-card-candidates p{color:var(--muted);margin:0;font-size:.84rem}.key-races-header{align-items:end}.key-race-controls{align-items:end;gap:.75rem;display:flex}.key-race-controls label{color:#dce5f1;letter-spacing:.08em;text-transform:uppercase;gap:.35rem;font-size:.7rem;font-weight:850;display:grid}.key-race-controls select{min-width:13.5rem;min-height:2.8rem;color:var(--text);font:inherit;background:#080b10;border:1px solid #3a4759;border-radius:.45rem;padding:.55rem 2.4rem .55rem .75rem;font-weight:750}.back-to-key-races{border:1px solid var(--line);background:var(--surface);color:#dce5f1;min-height:2.8rem;font:inherit;cursor:pointer;border-radius:.45rem;padding:.55rem .8rem;font-size:.78rem;font-weight:800}.back-to-key-races:hover{border-color:#526074}.key-races-empty{text-align:center;background:#0e1219a6;border:1px dashed #3b4657;border-radius:.7rem;place-content:center;justify-items:center;min-height:12rem;padding:2rem;display:grid}.key-races-empty h3{margin-bottom:.35rem}.key-races-empty p{color:var(--muted);margin:0}.updates-section{padding-bottom:6rem}.updates-list{border-top:1px solid var(--line)}.updates-list article{border-bottom:1px solid var(--line);grid-template-columns:7rem 1fr;gap:2rem;padding:1.35rem .3rem;display:grid}.updates-list time{color:var(--muted);font-size:.78rem}.updates-list article div>span{color:var(--red);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:850}.updates-list h3{margin:.3rem 0 0;font-size:1.12rem}.site-footer{border-top:1px solid var(--border);background:var(--footer-bg)}.footer-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:13rem;display:flex}.footer-site-logo{width:14rem}.footer-inner p{color:var(--text-muted);margin:.6rem 0 0;font-size:.8rem}.footer-note{text-align:right}.primary-nav a[aria-current=page]:after{right:0}.polls-hero{padding-block:3.5rem 4.5rem}.polls-hero-grid{grid-template-columns:1.15fr minmax(21rem,.65fr);align-items:end;gap:3.5rem;display:grid}.polls-hero h1{margin-bottom:1rem}.state-picker-card{border:1px solid var(--line);background:linear-gradient(145deg, var(--surface-2), var(--surface));box-shadow:var(--shadow);border-radius:.7rem;padding:1.35rem}.state-picker-card label{color:#dce5f1;letter-spacing:.11em;text-transform:uppercase;margin-bottom:.55rem;font-size:.78rem;font-weight:850;display:block}.select-wrap{position:relative}.select-wrap:after{content:"⌄";color:var(--blue);pointer-events:none;font-size:1.3rem;line-height:1;position:absolute;top:50%;right:1rem;transform:translateY(-58%)}.state-picker-card select{-webkit-appearance:none;appearance:none;width:100%;min-height:3.35rem;color:var(--text);font:inherit;background:#080b10;border:1px solid #3a4759;border-radius:.45rem;padding:.75rem 3rem .75rem .9rem;font-weight:750}.state-picker-card select:hover{border-color:#5a6a80}.state-picker-card p{color:var(--muted);margin:.75rem 0 0;font-size:.77rem}.aggregate-card{border:1px solid var(--line);border-top:3px solid #0000;border-image:linear-gradient(90deg, var(--blue), var(--red)) 1;box-shadow:var(--shadow);background:linear-gradient(145deg,#121923,#0c1017 70%);overflow:hidden}.aggregate-summary{border-bottom:1px solid var(--line);grid-template-columns:1.2fr auto;align-items:center;gap:2rem;padding:1.6rem;display:grid}.aggregate-summary h3{letter-spacing:-.04em;margin:.2rem 0 .6rem;font-size:clamp(1.55rem,3vw,2.45rem);line-height:1.08}.aggregate-summary p:last-child{color:var(--muted);margin-bottom:0;font-size:.87rem}.aggregate-margin{text-align:center;background:#3fa9f51a;border:1px solid #3fa9f559;border-radius:.5rem;gap:.25rem;min-width:13rem;padding:1rem 1.15rem;display:grid}.aggregate-margin span{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;font-size:.69rem;font-weight:850}.aggregate-margin strong{color:var(--blue);font-size:1.35rem}.aggregate-chart{gap:1.3rem;padding:1.75rem 1.6rem 1.25rem;display:grid}.aggregate-row{gap:.5rem;display:grid}.aggregate-label{justify-content:space-between;gap:1rem;font-size:.92rem;font-weight:750;display:flex}.aggregate-label strong{font-size:1.1rem}.aggregate-track{background:#080b10;border:1px solid #2f3947;border-radius:.22rem;height:1.15rem;overflow:hidden}.aggregate-fill{min-width:2px;height:100%;display:block}.dem-fill{background:linear-gradient(90deg, var(--blue-deep), var(--blue));box-shadow:0 0 1rem #3fa9f53d}.gop-fill{background:linear-gradient(90deg, var(--red-deep), var(--red));box-shadow:0 0 1rem #e21b2d38}.aggregate-axis{color:#738196;justify-content:space-between;margin-top:-.75rem;font-size:.65rem;display:flex}.aggregate-meta{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.8rem 1.5rem;padding:1rem 1.6rem;font-size:.76rem;display:flex}.aggregate-meta strong{color:#fff}.method-note{color:var(--muted);margin:1rem 0 0;font-size:.78rem}.method-note strong{color:#dfe7f1}.poll-graphic-list{gap:2rem;display:grid}.poll-graphic-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:.7rem;margin:0;overflow:hidden}.poll-graphic-card figcaption{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1.2rem;padding:1rem 1.2rem;display:flex}.poll-graphic-card figcaption div{gap:.15rem;display:grid}.poll-graphic-card figcaption strong{font-size:.92rem}.poll-graphic-card figcaption div>span{color:var(--muted);font-size:.75rem}.partisan-marker{color:var(--red)}.poll-result{white-space:nowrap;font-size:1rem;font-weight:900}.poll-graphic-card img{aspect-ratio:4/3;object-fit:contain;background:#000;width:100%;height:auto;display:block}.empty-state-section{min-height:34rem}.empty-state-card{background:#0e1219a6;border:1px dashed #3b4657;border-radius:.7rem;align-content:center;justify-items:start;min-height:18rem;padding:2rem;display:grid}.empty-state-card .eyebrow{margin-top:1.2rem}.empty-state-card h2{letter-spacing:-.05em;margin-bottom:.65rem;font-size:clamp(2rem,5vw,3.7rem)}.empty-state-card>p:last-child{color:var(--muted)}.poll-map-empty-state{min-height:0;padding:clamp(1.25rem,3vw,2.25rem);display:block}.poll-map-empty-state .eyebrow{margin:1.2rem 0 .35rem}.poll-map-empty-state h2{margin-bottom:.55rem}.poll-map-empty-state>p:last-of-type{max-width:42rem;color:var(--muted)}.poll-map-shell{border:1px solid var(--line);background:radial-gradient(circle at 60% 35%,#3fa9f514,#0000 38%),#090d13;border-radius:.65rem;width:100%;margin-top:1.5rem;position:relative;overflow:hidden}.poll-map{width:100%;height:auto;max-height:39rem;padding:.6rem;display:block}.poll-map-state{transition:fill .16s,stroke .16s,filter .16s}.poll-map-state.is-unavailable{fill:#252d38;stroke:#4a5564;stroke-width:1.15px}.poll-map-state.is-available{fill:#15304a;stroke:#78c6f8;stroke-width:2px;cursor:pointer}.poll-map-state-link:hover .poll-map-state.is-available{fill:#20517a;stroke:#c8ebff;filter:drop-shadow(0 0 7px #3fa9f58c)}.poll-map-state-link:focus{outline:none}.poll-map-state-link:focus .poll-map-state.is-available{fill:#20517a;stroke:#fff;stroke-width:4px;filter:drop-shadow(0 0 8px #3fa9f5b8)}.poll-map-state.is-available.is-highlighted{fill:#20517a;stroke:#c8ebff;filter:drop-shadow(0 0 7px #3fa9f58c)}.poll-map-availability-marker{fill:#f1f7fb;stroke:#0b1723;stroke-width:2px;pointer-events:none}.poll-map-state-link:focus .poll-map-availability-marker,.poll-map-state-link:hover .poll-map-availability-marker{fill:var(--blue);stroke:#fff}.poll-map-labels{pointer-events:none}.poll-map-state-label{fill:#aab4c1;stroke:#111821;stroke-width:3px;paint-order:stroke;text-anchor:middle;font-family:var(--font-sans);letter-spacing:.04em;font-size:13px;font-weight:900}.poll-map-state-label.is-active{fill:#fff}.poll-map-state-label.is-callout{stroke:none;paint-order:normal}.poll-map-state-label.is-callout line{stroke:#687687;stroke-width:1.4px}.poll-map-state-label.is-callout rect{fill:#161e29;stroke:#647285;stroke-width:1px}.poll-map-state-label.is-callout.is-active line{stroke:#8fd3ff}.poll-map-state-label.is-callout.is-active rect{fill:#15304a;stroke:#8fd3ff}.poll-map-state-label.is-callout text{fill:#c4cdd8;stroke:none;font-family:var(--font-sans);letter-spacing:.04em;text-anchor:middle;font-size:12px;font-weight:900}.poll-map-state-label.is-callout.is-active text{fill:#fff}.poll-map-callout-link{pointer-events:all;cursor:pointer;outline:none}.poll-map-callout-hit{fill:#0000!important;stroke:#0000!important}.poll-map-callout-link:hover .poll-map-state-label.is-callout rect:not(.poll-map-callout-hit){fill:#20517a;stroke:#c8ebff}.poll-map-callout-link:focus .poll-map-state-label.is-callout rect:not(.poll-map-callout-hit){fill:#20517a;stroke:#fff;stroke-width:2.5px;filter:drop-shadow(0 0 7px #3fa9f5a6)}.poll-map-local-popover{pointer-events:none;filter:drop-shadow(0 12px 18px #00000075);animation:.14s ease-out both poll-map-popover-in}.poll-map-local-popover rect{fill:#070a0ff7;stroke:#78c6f8;stroke-width:1.4px}.poll-map-local-popover text{font-family:var(--font-sans)}.poll-map-popover-state{fill:#fff;font-size:15px;font-weight:900}.poll-map-popover-races{fill:#c9d6e4;font-size:12px;font-weight:750}.poll-map-popover-action{fill:#81cafa;letter-spacing:.035em;font-size:11px;font-weight:850}@keyframes poll-map-popover-in{0%{opacity:0}to{opacity:1}}.poll-map-status{z-index:2;pointer-events:none;background:#070a0ff0;border:1px solid #78c6f859;border-radius:.5rem;gap:.22rem;width:min(20rem,100% - 2rem);margin:1rem 1rem 0 auto;padding:.85rem 1rem;display:grid;position:relative;box-shadow:0 12px 30px #00000052}.poll-map-status strong{color:#fff;font-size:.92rem}.poll-map-status span{color:#c5d0de;font-size:.78rem;line-height:1.4}.poll-map-status em{color:#81cafa;letter-spacing:.07em;text-transform:uppercase;font-size:.7rem;font-style:normal;font-weight:850}.poll-map-loading{color:var(--muted);margin:0;font-size:.78rem;position:absolute;inset:auto 1rem 1rem}.poll-map-mobile-list{border-top:1px solid var(--line);padding:1rem;display:none}.poll-map-mobile-list>p{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin:0 0 .7rem;font-size:.72rem;font-weight:850}.poll-map-mobile-list>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.poll-map-mobile-list a{color:#fff;background:#101923;border:1px solid #3a536a;border-radius:.42rem;align-content:center;gap:.15rem;min-height:3.5rem;padding:.65rem .75rem;text-decoration:none;display:grid}.poll-map-mobile-list a strong{font-size:.85rem}.poll-map-mobile-list a span{color:#aebdcd;font-size:.7rem}.poll-map-mobile-list a:focus-visible{border-color:#fff}.polls-back-nav{display:flex}.polls-back-nav.is-top{margin-top:-1.35rem;margin-bottom:1.35rem}.polls-back-nav.is-bottom{padding-block:.25rem 4rem}.polls-back-link{color:#cbd5e1;letter-spacing:.035em;background:#0f141cb8;border:1px solid #394655;border-radius:.42rem;align-items:center;gap:.5rem;min-height:2.75rem;padding:.55rem .85rem;font-size:.78rem;font-weight:850;text-decoration:none;display:inline-flex}.polls-back-link:hover{color:#fff;background:#111b26;border-color:#72bde9}.race-official-rating{margin-bottom:1.35rem}.race-official-rating-link{border:1px solid #3d495a;border-left:5px solid var(--blue);color:inherit;background:linear-gradient(110deg,#fff1,#ffffff06);border-radius:.55rem;justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem 1.15rem;display:flex}.race-official-rating-link:hover{background:#ffffff13}.race-official-rating-link:focus-visible{outline-offset:3px;outline:3px solid #3fa9f573}.race-official-rating-copy{gap:.1rem;display:grid}.race-official-rating-copy .eyebrow{margin:0}.race-official-rating-copy strong{font-size:clamp(1.45rem,3vw,2.15rem);line-height:1.1}.race-official-rating-action{color:#111923;white-space:nowrap;background:#f7f9fc;border-radius:.4rem;align-items:center;gap:.55rem;min-height:2.8rem;padding:.65rem .95rem;font-size:.8rem;font-weight:850;text-decoration:none;display:flex}.race-official-rating-action:hover{background:#daeafa}.race-official-rating-action:focus-visible{outline-offset:3px;outline:3px solid #76caff}:focus-visible{outline-offset:3px;outline:3px solid #3fa9f5cc}@media (min-width:861px) and (max-width:1250px){.header-inner{gap:1rem}.brand .theme-site-logo{width:14.5rem}.primary-nav{gap:.9rem}.theme-toggle-desktop:before{left:-.55rem}}@media (max-width:860px){.header-inner{min-height:4.6rem}.brand .theme-site-logo{width:15rem}.menu-button{display:block}.primary-nav{overscroll-behavior:contain;background:var(--mobile-nav-bg);border-bottom:1px solid var(--border);max-height:calc(100dvh - 4.6rem);box-shadow:var(--shadow);align-items:stretch;padding:.65rem 1.25rem 1rem;display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;overflow-y:auto}.primary-nav.is-open{display:grid}.primary-nav a{border-bottom:1px solid var(--border-soft);padding:.78rem 0}.primary-nav a:after{display:none}.primary-nav .support-nav-cta{border:1px solid #fff;width:100%;min-height:3rem;margin:.55rem 0 .15rem;padding:.72rem 1rem}.theme-toggle-desktop{display:none}.theme-toggle-mobile{justify-content:flex-start;gap:.7rem;width:100%;margin-top:.45rem;padding:.75rem;display:flex}.overview-grid{grid-template-columns:1fr;gap:2.6rem}.overview-copy{max-width:45rem}.ratings-layout{grid-template-columns:1fr}.race-grid{grid-template-columns:1fr 1fr}.race-card:last-child{grid-column:1/-1}.polls-hero-grid{grid-template-columns:1fr;gap:2rem}.poll-map-mobile-list{display:block}.poll-map-mobile-list>div{max-height:18rem;padding-right:.2rem;overflow-y:auto}}@media (max-width:640px){.wrap{width:min(calc(100% - 1.5rem), var(--max-width))}.brand .theme-site-logo{width:12.75rem}.demo-banner .wrap{gap:.1rem;padding-block:.55rem;line-height:1.35;display:grid}.election-overview{padding-block:2.3rem 3.4rem}.section-kicker{margin-bottom:1.5rem}.cycle-label{font-size:.7rem}h1{font-size:clamp(2.6rem,13.5vw,4rem)}.overview-text{font-size:1rem}.quick-links{grid-template-columns:1fr;display:grid}.button{width:100%}.balance-card{padding:1.2rem}.seat-totals strong{font-size:2.7rem}.center-total{padding-inline:.6rem}.content-section{padding-block:3.6rem}.section-header{align-items:flex-start}.key-races-header,.key-race-controls{width:100%;display:grid}.key-race-controls{align-items:stretch}.key-race-controls select{width:100%;min-width:0}.section-note{display:none}.poll-list{box-shadow:none;background:0 0;border:0;overflow:visible}.poll-row{border:1px solid var(--line);background:var(--surface);border-radius:.65rem;grid-template-columns:1fr auto;gap:1rem;margin-bottom:.75rem;padding:1.1rem}.poll-row:last-child{border-bottom:1px solid var(--line)}.poll-candidates{border-top:1px solid var(--line-soft);grid-area:2/1/auto/-1;padding-top:.8rem}.poll-margin{grid-area:1/2;align-self:center}.ratings-feature{grid-template-columns:1fr}.spectrum-bar{height:3.5rem}.race-grid{grid-template-columns:1fr}.race-card:last-child{grid-column:auto}.updates-list article{grid-template-columns:1fr;gap:.45rem}.footer-inner{min-height:auto;padding-block:2.5rem;display:grid}.footer-note{text-align:left}.polls-hero{padding-block:2.3rem 3.4rem}.polls-hero h1{font-size:clamp(2.6rem,13.5vw,4rem)}.race-official-rating-link{flex-direction:column;align-items:flex-start;gap:.8rem}.race-official-rating-action{white-space:normal}.aggregate-summary{grid-template-columns:1fr;gap:1.2rem;padding:1.2rem}.aggregate-margin{text-align:left;min-width:0}.aggregate-chart{padding:1.35rem 1.2rem 1rem}.aggregate-meta{padding:1rem 1.2rem;display:grid}.poll-graphic-list{gap:1.25rem}.poll-graphic-card figcaption{align-items:flex-start;padding:.9rem}.poll-graphic-card figcaption strong{font-size:.84rem}.poll-result{font-size:.82rem}.empty-state-section{min-height:28rem}.poll-map-empty-state{padding:1rem}.poll-map-shell{margin-top:1.1rem}.poll-map{padding:.3rem}.poll-map-status{width:auto;margin:.75rem .75rem 0}.poll-map-loading{padding:0 1rem 1rem;position:static}}.automation-admin{margin-top:1.25rem}.automation-status{min-height:1.5rem;color:var(--muted)}.automation-review-list{gap:1rem;display:grid}.automation-review-card{border:1px solid var(--line);background:var(--surface);border-radius:1rem;padding:clamp(1rem,2vw,1.5rem);box-shadow:0 18px 50px #00000029}.automation-review-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.automation-review-heading h2{margin:.15rem 0 .25rem}.automation-review-heading p{color:var(--muted);margin:0}.review-status{border:1px solid color-mix(in srgb, var(--gold) 50%, transparent);color:var(--gold);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;flex:none;padding:.45rem .65rem;font-size:.72rem;font-weight:800}.automation-review-reason{border-left:3px solid var(--gold);background:color-mix(in srgb, var(--gold) 8%, transparent);gap:.2rem;margin-block:1rem;padding:.8rem 1rem;display:grid}.automation-review-reason strong{color:var(--text)}.automation-review-reason span{color:var(--muted);font-size:.82rem}.automation-review-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:0;display:grid}.automation-review-summary>div{border:1px solid var(--line-soft);background:#ffffff06;border-radius:.65rem;min-width:0;padding:.7rem}.automation-review-summary>div:first-child{grid-column:1/-1}.automation-review-summary dt{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.2rem;font-size:.72rem}.automation-review-summary dd{overflow-wrap:anywhere;margin:0}.automation-review-actions,.review-source-actions,.review-modal-actions{flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:1rem;display:flex}.review-modal-backdrop{z-index:120;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.review-modal{overscroll-behavior:contain;border:1px solid var(--line);background:var(--surface);border-radius:1.1rem;width:min(58rem,100%);max-height:calc(100dvh - 2rem);padding:clamp(1rem,2.5vw,2rem);overflow-y:auto;box-shadow:0 30px 100px #0000008c}.review-modal>header{justify-content:space-between;gap:1rem;display:flex}.review-modal>header h2{margin:.2rem 0}.review-modal>header p:last-child{max-width:42rem;color:var(--muted);margin:0}.review-modal-close{border:1px solid var(--line);background:var(--surface-2);width:2.6rem;height:2.6rem;color:var(--text);border-radius:50%;flex:none;place-items:center;font-size:1.6rem;line-height:1;display:grid}.review-modal form>section{border-top:1px solid var(--line-soft);padding-block:1rem}.review-modal form h3{margin:0 0 .8rem}.review-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.review-form-grid label{min-width:0;color:var(--muted);letter-spacing:.03em;align-content:start;gap:.35rem;font-size:.78rem;font-weight:750;display:grid}.review-form-grid input,.review-form-grid select{width:100%;min-width:0;min-height:2.8rem}.review-candidate-stack{gap:.8rem;display:grid}.review-edit-candidate{border:1px solid var(--line-soft);border-radius:.75rem;min-width:0;padding:.9rem}.review-edit-candidate legend{color:var(--text);padding-inline:.35rem;font-weight:750}.review-check{grid-auto-flow:column;justify-content:start;align-self:end;align-items:center;min-height:2.8rem;display:flex!important}.review-check input{width:1.1rem;min-height:1.1rem}.review-technical{border:1px solid var(--line-soft);border-radius:.75rem;margin-top:.6rem}.review-technical summary{cursor:pointer;padding:.85rem 1rem;font-weight:750}.review-technical pre{border-top:1px solid var(--line-soft);white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;max-height:22rem;color:var(--muted);margin:0;padding:1rem;font-size:.72rem;overflow:auto}.review-modal-actions{border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:flex-end;margin-inline:-2rem;padding:1rem 2rem;position:sticky;bottom:-2rem}@media (max-width:600px){.automation-review-heading{display:grid}.review-status{justify-self:start}.automation-review-summary,.review-form-grid{grid-template-columns:1fr}.automation-review-actions .button,.review-modal-actions .button{width:100%}.review-modal-backdrop{align-items:end;padding:.4rem}.review-modal{border-radius:1rem 1rem .7rem .7rem;width:100%;max-height:calc(100dvh - .8rem);padding:1rem}.review-modal-actions{padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom));margin-inline:-1rem;bottom:-1rem}}.admin-entry-button{margin-top:1.2rem}.race-picker-card{align-self:stretch}.picker-grid{grid-template-columns:1fr 1fr;gap:.9rem;display:grid}.picker-grid label{margin:0}.state-picker-card label{gap:.45rem;display:grid}.state-picker-card input,.state-picker-card select,.poll-entry-form input,.poll-entry-form select{width:100%;min-height:3.35rem;color:var(--text);font:inherit;background:#080b10;border:1px solid #3a4759;border-radius:.45rem;padding:.75rem .9rem;font-size:1rem}.state-picker-card input:focus,.state-picker-card select:focus,.poll-entry-form input:focus,.poll-entry-form select:focus{border-color:var(--blue);outline-offset:1px;outline:3px solid #3fa9f52e}.loading-card{border:1px solid var(--line);background:var(--surface);min-height:13rem;color:var(--muted);border-radius:.7rem;place-items:center;display:grid}.party-dot.other{background:var(--gold)}.other-fill{background:linear-gradient(90deg, #9a741b, var(--gold))}.structured-poll-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:.7rem;overflow:hidden}.structured-poll-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1.5rem;padding:1.2rem 1.35rem;display:flex}.structured-poll-heading h3{margin:.1rem 0 .2rem;font-size:1.25rem}.structured-poll-heading p:last-child{color:var(--muted);margin:0;font-size:.78rem}.structured-poll-heading>strong{white-space:nowrap;font-size:1.15rem}.structured-results{gap:.8rem;padding:1.3rem 1.35rem;display:grid}.structured-results>div{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.8rem;display:flex}.structured-results>div:last-child{border:0;padding-bottom:0}.structured-results span{align-items:center;font-weight:800;display:flex}.structured-results small{color:var(--muted);margin-left:.7rem;font-size:.72rem;font-weight:600}.structured-results strong{font-size:1.2rem}.poll-detail-grid{border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);margin:0;display:grid}.poll-detail-grid div{border-right:1px solid var(--line);min-width:0;padding:.9rem 1rem}.poll-detail-grid div:last-child{border-right:0}.poll-detail-grid dt,.review-grid dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:850}.poll-detail-grid dd,.review-grid dd{overflow-wrap:anywhere;margin:.3rem 0 0;font-size:.82rem;font-weight:750}.source-link{color:var(--blue);margin:0 1.35rem 1.25rem;font-size:.82rem;font-weight:800;text-decoration:none;display:inline-flex}.polling-table-wrap{width:100%;box-shadow:var(--shadow);scrollbar-color:#53657a #090d13;background:linear-gradient(145deg,#0d1721,#091019 72%);border:1px solid #274158;border-radius:.7rem;overflow-x:auto}.polling-table-wrap:focus-visible{outline-offset:3px;outline:3px solid #3fa9f580}.polling-table{border-spacing:0;border-collapse:separate;table-layout:fixed;color:#f7f9fc;width:100%;font-size:.86rem}.polling-table col.poll-col-pollster{width:11.5rem}.polling-table col.poll-col-dates{width:10rem}.polling-table col.poll-col-sample{width:6.1rem}.polling-table col.poll-col-population{width:8.5rem}.polling-table col.poll-col-moe{width:6.5rem}.polling-table col.poll-col-candidate{width:8.6rem}.polling-table col.poll-col-others{width:6rem}.polling-table col.poll-col-undecided{width:7rem}.polling-table col.poll-col-lead{width:6.8rem}.polling-table th,.polling-table td{text-align:center;vertical-align:middle;border-bottom:1px solid #21384c;border-right:1px solid #21384c;height:4.35rem;padding:.75rem .65rem}.polling-table tr>:last-child{border-right:0}.polling-table tbody tr:last-child>*{border-bottom:0}.polling-table thead th{color:#d9e7f8;letter-spacing:.045em;text-transform:uppercase;background:linear-gradient(#102a3e,#0d2131);height:4.7rem;font-size:.72rem;font-weight:900;line-height:1.2}.polling-table thead th span,.polling-table thead th small{display:block}.polling-table thead th small{color:#fff;margin-top:.2rem;font-size:.68rem;font-weight:850}.polling-table tbody tr{background:#070d148a}.polling-table tbody tr:nth-child(2n){background:#0e1823b8}.polling-table tbody tr:hover{background:#192a3ac7}.polling-table tbody th{font-weight:800}.polling-table-pollster{line-height:1.25}.polling-table-edit{color:#fff;text-underline-offset:.2rem;font-size:.9rem;font-weight:850;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}:is(.polling-table-edit:hover,.polling-table-edit:focus-visible){color:#fff;-webkit-text-decoration-color:var(--blue);text-decoration-color:var(--blue)}.polling-table-pollster .partisan-marker{margin-left:.35rem;display:inline-block}.polling-table-source{color:#79c7ff;width:max-content;margin:.35rem auto 0;font-size:.7rem;font-weight:800;text-decoration:none;display:block}:is(.polling-table-source:hover,.polling-table-source:focus-visible){color:#fff;text-underline-offset:.18rem;text-decoration:underline}.polling-table-result,.polling-table-lead{font-size:.95rem;font-weight:850}.polling-table-result.is-leading,.polling-table-lead:not(.is-tied){color:#fff;box-shadow:inset 0 0 0 1px #ffffff2e}.poll-party-dem{background:linear-gradient(135deg,#0966c5,#138de8)!important}.poll-party-gop{background:linear-gradient(135deg,#ba1023,#ef243b)!important}.poll-party-ind{background:linear-gradient(135deg,#632592,#9a5fcb)!important}.poll-party-other{background:linear-gradient(135deg,#9a741b,#dcae35)!important}.polling-table-result.is-tied-top{color:#fff4c2;background:#efbd3f1f;box-shadow:inset 0 0 0 2px #efbd3fa6}.polling-table-lead.is-tied{color:#c7d0dc;font-weight:700}.admin-page{padding-block:3.2rem 5rem}.admin-workflow{max-width:980px}.form-intro{margin-bottom:2rem}.form-intro h1{margin:.65rem 0 .8rem;font-size:clamp(2.5rem,6vw,4.6rem)}.form-intro p,.review-heading p{max-width:47rem;color:var(--muted)}.step-chip{color:#8fd1ff;letter-spacing:.1em;text-transform:uppercase;background:#3fa9f51a;border:1px solid #3fa9f566;border-radius:99px;padding:.35rem .65rem;font-size:.7rem;font-weight:850;display:inline-flex}.form-alert{border-radius:.55rem;gap:.2rem;margin:1rem 0 1.5rem;padding:1rem 1.1rem;display:grid}.form-alert.error{color:#ffd6da;background:#e21b2d1a;border:1px solid #e21b2d80}.form-alert span{color:#d5bac0;font-size:.84rem}.form-card,.review-card{border:1px solid var(--line);background:linear-gradient(145deg, var(--surface-2), var(--surface));box-shadow:var(--shadow);border-radius:.7rem;margin-bottom:1rem;padding:1.5rem}.form-card-heading{border-bottom:1px solid var(--line);align-items:flex-start;gap:1rem;margin-bottom:1.3rem;padding-bottom:1.2rem;display:flex}.form-card-heading>span{background:linear-gradient(135deg, var(--blue-deep), #135895);color:#fff;border-radius:.35rem;flex:0 0 2.2rem;place-items:center;height:2.2rem;font-size:.75rem;font-weight:900;display:grid}.form-card-heading h2{letter-spacing:-.03em;margin:0 0 .25rem;font-size:1.45rem}.form-card-heading p{color:var(--muted);margin:0;font-size:.82rem}.form-grid{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}.form-grid.three-col{grid-template-columns:repeat(3,1fr)}.form-wide{grid-column:1/-1}.poll-entry-form label,.choice-field legend{color:#dce5f1;letter-spacing:.07em;text-transform:uppercase;font-size:.76rem;font-weight:850}.poll-entry-form label{display:block}.poll-entry-form label>input,.poll-entry-form label>select,.poll-entry-form label>.suffix-input{margin-top:.48rem}.poll-entry-form label>span[aria-hidden=true],.choice-field legend span{color:var(--red)}.poll-entry-form input::placeholder{color:#68768a;text-transform:none}.poll-entry-form [aria-invalid=true]{border-color:var(--red)}.optional-label{color:var(--muted);background:#252f3c;border-radius:99px;margin-left:.4rem;padding:.15rem .45rem;font-size:.62rem;display:inline-flex}.choice-field,.candidate-card{border:0;min-width:0;margin:0;padding:0}.segmented-control{grid-template-columns:repeat(3,1fr);gap:.45rem;margin-top:.48rem;display:grid}.segmented-control label{display:block}.segmented-control input{opacity:0;pointer-events:none;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.segmented-control span{color:#dce5f1;text-align:center;background:#080b10;border:1px solid #3a4759;border-radius:.45rem;place-items:center;min-height:3.35rem;padding:.6rem;display:grid}.segmented-control input:checked+span{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);color:#fff;background:#3fa9f526}.candidate-stack{gap:1rem;display:grid}.candidate-card{border:1px solid var(--line);background:#07090d7a;border-radius:.55rem;padding:1.1rem}.candidate-card legend{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;padding:0 .5rem;font-size:.75rem;font-weight:850}.candidate-grid{grid-template-columns:1fr 1fr 1.1fr .7fr;gap:.9rem;display:grid}.suffix-input{background:#080b10;border:1px solid #3a4759;border-radius:.45rem;align-items:stretch;display:flex;overflow:hidden}.suffix-input:focus-within{border-color:var(--blue);outline-offset:1px;outline:3px solid #3fa9f52e}.suffix-input input{border:0;border-radius:0;min-width:0;outline:0!important}.suffix-input>span{color:var(--muted);place-items:center;padding:0 .8rem;font-size:.85rem;display:grid}.suffix-input.prefix>span:first-child{padding-right:0}.field-error{color:#ff8792;letter-spacing:0;text-transform:none;margin:.38rem 0 0;font-size:.74rem;font-weight:650;line-height:1.35}.text-button{color:#ff8792;font:inherit;cursor:pointer;background:0 0;border:0;font-size:.76rem;font-weight:800;text-decoration:underline}.remove-candidate{margin-top:.8rem}.add-candidate{justify-self:start;width:auto}.workflow-actions{justify-content:space-between;gap:1rem;margin-top:1.5rem;display:flex}.workflow-actions button{cursor:pointer}.workflow-actions button:disabled{cursor:wait;opacity:.65;transform:none}.poll-delete-control{border-top:1px solid var(--line);justify-content:flex-end;margin-top:1.3rem;padding-top:1.1rem;display:flex}.poll-delete-trigger{color:#111923;min-height:2.65rem;font:inherit;cursor:pointer;background:#f7f9fc;border:1px solid #c8d1df;border-radius:.35rem;justify-content:center;align-items:center;gap:.5rem;padding:.55rem .9rem;font-size:.8rem;font-weight:800;display:inline-flex}.poll-delete-trigger:hover{background:#e2eaf4}.poll-delete-trigger:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.poll-delete-dialog[data-slot=alert-dialog-content]{z-index:201;top:50%;width:min(32rem, calc(100vw - 2rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));color:#f7f9fc;background:#151d27;border:1px solid #536273;border-radius:.7rem;outline:none;gap:1rem;padding:1.4rem;display:grid;position:fixed;top:50dvh;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 24px 70px #000000a6}[data-slot=alert-dialog-overlay]{z-index:200;background:#010306a8;position:fixed;inset:0}.poll-delete-dialog [data-slot=alert-dialog-header]{text-align:left;justify-items:start;gap:.45rem;display:grid}.poll-delete-dialog [data-slot=alert-dialog-title]{color:#fff;font-size:1.25rem;font-weight:850;line-height:1.2}.poll-delete-dialog [data-slot=alert-dialog-description]{color:#c1cbd9}.poll-delete-dialog [data-slot=alert-dialog-footer]{flex-wrap:wrap;justify-content:flex-end;gap:.7rem;display:flex}.poll-delete-dialog button{cursor:pointer;min-height:2.75rem}.poll-delete-dialog button:disabled{opacity:.65;cursor:wait}.poll-delete-error{color:#ff9fa6;margin:0;font-size:.86rem}@media (max-width:640px){.poll-delete-dialog[data-slot=alert-dialog-content]{padding:1.1rem}.poll-delete-dialog [data-slot=alert-dialog-footer]{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.poll-delete-dialog [data-slot=alert-dialog-footer] button{width:100%}}.publish-button{min-width:10rem}.review-card{padding:1.75rem}.review-heading{border-bottom:1px solid var(--line);padding-bottom:1.4rem}.review-heading h2{letter-spacing:-.05em;margin:.8rem 0 .35rem;font-size:clamp(2rem,5vw,3.5rem)}.review-heading p{margin:0}.review-grid{grid-template-columns:1fr 1fr;gap:0;margin:0;display:grid}.review-grid>div{border-bottom:1px solid var(--line-soft);padding:1rem 0}.review-grid>div:nth-child(odd){padding-right:1rem}.review-grid>div:nth-child(2n){border-left:1px solid var(--line-soft);padding-left:1rem}.review-grid .review-wide{border-left:0;grid-column:1/-1;padding-inline:0}.review-section{border-bottom:1px solid var(--line);padding:1.3rem 0 .4rem}.review-section h3{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}.review-candidate{justify-content:space-between;gap:1rem;padding:.75rem 0;display:flex}.review-candidate span{font-weight:800}.review-candidate small{color:var(--muted);font-weight:600;display:block}.review-candidate strong{font-size:1.2rem}.url-value{color:var(--blue)}@media (max-width:900px){.poll-detail-grid{grid-template-columns:repeat(3,1fr)}.poll-detail-grid div:nth-child(3){border-right:0}.poll-detail-grid div:nth-child(-n+3){border-bottom:1px solid var(--line)}.candidate-grid,.form-grid.three-col{grid-template-columns:1fr 1fr}}@media (max-width:640px){.picker-grid,.form-grid,.form-grid.three-col,.candidate-grid{grid-template-columns:1fr}.admin-page{padding-block:2rem 3.5rem}.form-card,.review-card{padding:1.05rem}.form-card-heading{gap:.75rem}.structured-poll-heading{align-items:flex-start}.structured-poll-heading>strong{font-size:.95rem}.structured-results small{display:none}.poll-detail-grid{grid-template-columns:1fr 1fr}.poll-detail-grid div,.poll-detail-grid div:nth-child(3){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.poll-detail-grid div:nth-child(2n){border-right:0}.poll-detail-grid div:last-child{border-bottom:0;border-right:0;grid-column:1/-1}.review-grid{grid-template-columns:1fr}.review-grid>div:nth-child(odd),.review-grid>div:nth-child(2n){border-left:0;padding-inline:0}.segmented-control{grid-template-columns:1fr}.workflow-actions{grid-template-columns:1fr;display:grid}.workflow-actions .button{width:100%}.workflow-actions .button-primary{grid-row:1}.workflow-actions .button-secondary{grid-row:2}.polling-table{font-size:.8rem}.polling-table th,.polling-table td{height:4.05rem;padding:.65rem .55rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root[data-theme=light] .admin-page{--surface:var(--surface-1);--surface-2:#f0f3f6;--line:var(--border);--line-soft:var(--border-soft);--text:var(--text-primary);--muted:var(--text-muted)}:root[data-theme=light] .demo-banner{border-color:var(--border);color:var(--text-secondary)}:root[data-theme=light] .admin-page :is(.form-card,.review-card,.automation-review-card,.loading-card){border-color:var(--border);background:linear-gradient(145deg, var(--surface-2), var(--surface-1));color:var(--text-primary);box-shadow:var(--shadow)}:root[data-theme=light] .admin-page :is(.form-card-heading,.review-heading,.review-section,.poll-delete-control){border-color:var(--border)}:root[data-theme=light] .admin-page :is(.form-intro p,.review-heading p,.form-card-heading p,.automation-status){color:var(--text-muted)}:root[data-theme=light] .admin-page :is(.poll-entry-form label,.choice-field legend,.import-sheet-heading label,.rating-change-explanation){color:var(--text-secondary)}:root[data-theme=light] :is(.admin-page,.review-modal) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border-color:var(--input-border);background:var(--input-bg);color:var(--text-primary)}:root[data-theme=light] :is(.admin-page,.review-modal) :is(input,select,textarea):focus-visible{border-color:var(--focus-ring);outline:3px solid color-mix(in srgb, var(--focus-ring) 22%, transparent);outline-offset:1px}:root[data-theme=light] :is(.admin-page,.review-modal) :is(input,textarea)::placeholder{color:var(--text-muted)}:root[data-theme=light] :is(.admin-page,.review-modal) :is(input,select,textarea):disabled{background:var(--surface-2);color:var(--text-muted);opacity:.82}:root[data-theme=light] :is(.admin-page,.review-modal) :is(input[type=checkbox],input[type=radio]){accent-color:var(--focus-ring)}:root[data-theme=light] .admin-page .segmented-control span{border-color:var(--input-border);background:var(--input-bg);color:var(--text-secondary)}:root[data-theme=light] .admin-page .segmented-control input:checked+span{border-color:var(--focus-ring);background:var(--selected-surface);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--focus-ring)}:root[data-theme=light] .admin-page .candidate-card,:root[data-theme=light] .admin-page .import-sheet,:root[data-theme=light] .admin-page .audit-totals>div,:root[data-theme=light] .admin-page .rating-change-race-summary{border-color:var(--border);background:var(--surface-1)}:root[data-theme=light] .admin-page .rating-change-race-summary strong,:root[data-theme=light] .admin-page .ratings-current-value strong{color:var(--text-primary)}:root[data-theme=light] .admin-page .suffix-input{border-color:var(--input-border);background:var(--input-bg)}:root[data-theme=light] .admin-page .optional-label{background:var(--surface-2);color:var(--text-muted)}:root[data-theme=light] .admin-page .step-chip{color:#075ea8}:root[data-theme=light] .admin-page .field-error,:root[data-theme=light] .admin-page .text-button,:root[data-theme=light] .poll-delete-error{color:#b51224}:root[data-theme=light] .admin-page .form-alert.error{color:#8f1020;background:#b5122414;border-color:#b5122461}:root[data-theme=light] .admin-page .form-alert.error span{color:#741723}:root[data-theme=light] .admin-page .form-alert.warning{color:#664900;background:#efbd3f29;border-color:#76540066}:root[data-theme=light] .admin-page .form-alert.success{color:#07518f;background:#075ea817;border-color:#075ea859}:root[data-theme=light] .admin-page .form-alert.warning span{color:#664900}:root[data-theme=light] .admin-page .form-alert.success span{color:#07518f}:root[data-theme=light] .admin-page .missing-toggle{border-color:var(--input-border);background:var(--surface-2);color:var(--text-secondary)}:root[data-theme=light] .admin-page .missing-toggle.active{color:#765400;background:#efbd3f2e;border-color:#9a6e00}:root[data-theme=light] .admin-page :is(.interior-navigation-link,.back-to-home){border-color:var(--border);background:var(--surface-1);color:var(--text-secondary)}:root[data-theme=light] .admin-page :is(.interior-navigation-link,.back-to-home):hover{border-color:var(--focus-ring);background:var(--hover-surface);color:var(--text-primary)}:root[data-theme=light] .admin-page :is(.admin-subnav a,.source-link,.back-to-polls,.url-value,.automation-review-summary a){color:var(--link)}:root[data-theme=light] .admin-page .button-primary{color:#fff;background:#0969b4;border-color:#0969b4}:root[data-theme=light] .admin-page .button-secondary{border-color:var(--border-strong);background:var(--surface-1);color:var(--text-primary)}:root[data-theme=light] .admin-page .button-secondary:hover{border-color:var(--focus-ring);background:var(--hover-surface)}:root[data-theme=light] .admin-page :is(.joint-actions button,.duplicate-review button,.audit-filters button){border-color:var(--border);background:var(--surface-1);color:var(--text-secondary)}:root[data-theme=light] .admin-page :is(.joint-actions button.is-active,.audit-filters button.is-active){border-color:var(--focus-ring);background:var(--selected-surface);color:var(--text-primary)}:root[data-theme=light] .admin-page .joint-review.is-resolved{background:var(--surface-2)}:root[data-theme=light] .admin-page :is(.import-table-wrap,.audit-table-wrap){border-color:var(--border);background:var(--surface-1)}:root[data-theme=light] .admin-page :is(.import-table,.audit-table){color:var(--text-primary)}:root[data-theme=light] .admin-page :is(.import-table,.audit-table) th{border-color:var(--border);background:var(--table-header-bg);color:var(--text-secondary)}:root[data-theme=light] .admin-page :is(.import-table,.audit-table) td{border-color:var(--border-soft);background:var(--table-row-bg)}:root[data-theme=light] .admin-page :is(.import-table,.audit-table) tbody tr:nth-child(2n) td{background:var(--table-row-alt)}:root[data-theme=light] .admin-page .import-table .needs-attention td:nth-child(2),:root[data-theme=light] .admin-page .audit-status.review{color:#a81425}:root[data-theme=light] .admin-page .import-table .ready-row td:nth-child(2),:root[data-theme=light] .admin-page .audit-status.complete{color:#176b3a}:root[data-theme=light] .admin-page .continuation-label{color:var(--text-secondary)}:root[data-theme=light] .admin-page .audit-table tr.needs-attention td{background:#b512240f}:root[data-theme=light] .admin-page .automation-review-summary>div,:root[data-theme=light] .review-modal .review-edit-candidate{border-color:var(--border-soft);background:var(--surface-2)}:root[data-theme=light] .admin-page .automation-review-reason,:root[data-theme=light] .review-modal .automation-review-reason{background:#efbd3f24}:root[data-theme=light] .admin-page .automation-review-reason strong,:root[data-theme=light] .review-modal .automation-review-reason strong{color:var(--text-primary)}:root[data-theme=light] .admin-page .automation-review-reason span,:root[data-theme=light] .review-modal .automation-review-reason span{color:var(--text-secondary)}:root[data-theme=light] .review-modal-backdrop{background:var(--overlay)}:root[data-theme=light] .review-modal{--surface:var(--surface-1);--surface-2:#f0f3f6;--line:var(--border);--line-soft:var(--border-soft);--text:var(--text-primary);--muted:var(--text-muted);border-color:var(--border);background:var(--surface-elevated);color:var(--text-primary);box-shadow:0 30px 80px #0f172a40}:root[data-theme=light] .review-modal-close{border-color:var(--border);background:var(--surface-2);color:var(--text-primary)}:root[data-theme=light] .review-modal .button-primary{color:#fff;background:#0969b4;border-color:#0969b4}:root[data-theme=light] .review-modal .button-secondary{border-color:var(--border-strong);background:var(--surface-1);color:var(--text-primary)}:root[data-theme=light] .review-modal-actions{border-color:var(--border);background:color-mix(in srgb,var(--surface-1) 94%,transparent)}:root[data-theme=light] .review-technical{border-color:var(--border)}:root[data-theme=light] .review-technical pre{border-color:var(--border-soft);background:var(--surface-2);color:var(--text-secondary)}:root[data-theme=light] [data-slot=alert-dialog-overlay],:root[data-theme=light] [data-slot=dialog-overlay]{background:var(--overlay)}:root[data-theme=light] .poll-delete-dialog[data-slot=alert-dialog-content]{border-color:var(--border-strong);background:var(--surface-elevated);color:var(--text-primary);box-shadow:0 24px 65px #0f172a42}:root[data-theme=light] .poll-delete-dialog [data-slot=alert-dialog-title]{color:var(--text-primary)}:root[data-theme=light] .poll-delete-dialog [data-slot=alert-dialog-description]{color:var(--text-secondary)}:root[data-theme=light] .ratings-graphic-dialog[data-slot=dialog-content]{border-color:var(--border-strong);background:var(--surface-elevated);color:var(--text-primary);box-shadow:0 24px 65px #0f172a42}:root[data-theme=light] .ratings-graphic-dialog [data-slot=dialog-title]{color:var(--text-primary)}:root[data-theme=light] .ratings-graphic-dialog [data-slot=dialog-description]{color:var(--text-secondary)}@media (max-width:640px){:root[data-theme=light] .admin-page{overflow-x:clip}:root[data-theme=light] .admin-page :is(.form-card,.review-card,.automation-review-card){min-width:0}:root[data-theme=light] .admin-page :is(.import-table-wrap,.audit-table-wrap){max-width:100%}:root[data-theme=light] .review-technical pre{max-width:calc(100vw - 2.8rem)}}.admin-action-row,.admin-subnav{flex-wrap:wrap;gap:.75rem;display:flex}.admin-subnav{gap:1rem;margin-top:1rem}.admin-subnav a{color:var(--blue);font-size:.82rem;font-weight:800}.structured-poll-card.leader-dem{border-left:3px solid #3fa9f5cc}.structured-poll-card.leader-gop{border-left:3px solid #e21b2dcc}.structured-poll-card.is-tied{border-left:3px solid #efbd3fbf}.structured-results .leading-result{border-radius:.4rem;margin-inline:-.55rem;padding:.65rem .55rem}.structured-results .leading-result.dem{box-shadow:inset 2px 0 var(--blue);background:linear-gradient(90deg,#3fa9f521,#0000 72%)}.structured-results .leading-result.gop{box-shadow:inset 2px 0 var(--red);background:linear-gradient(90deg,#e21b2d21,#0000 72%)}.structured-results .leading-result.other{box-shadow:inset 2px 0 var(--gold);background:linear-gradient(90deg,#efbd3f1f,#0000 72%)}.form-alert.warning{color:#ffe8a5;background:#efbd3f1a;border:1px solid #efbd3f73}.form-alert.success{color:#d9f0ff;background:#3fa9f51a;border:1px solid #3fa9f573}.candidate-grid.compact{grid-template-columns:1.6fr 1fr .8fr}.date-entry{grid-template-columns:1fr auto;gap:.5rem;margin-top:.48rem;display:grid}.missing-toggle{color:var(--muted);font:inherit;cursor:pointer;background:#111722;border:1px solid #3a4759;border-radius:.45rem;padding:.5rem .7rem;font-size:.73rem;font-weight:800}.missing-toggle.active{border-color:var(--gold);color:#ffe18b;background:#efbd3f1a}.form-inline-note{color:var(--muted);margin:1rem 0 0;font-size:.82rem}.review-checkbox{align-items:center;gap:.65rem;margin:1.2rem 0;display:flex!important}.review-checkbox input{width:1rem;min-height:1rem;margin:0}.mapping-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.subsection-title{margin:1.7rem 0 .85rem;font-size:1rem}.import-table-wrap{border:1px solid var(--line);border-radius:.55rem;margin-top:1.25rem;overflow-x:auto}.import-table{border-collapse:collapse;width:100%;min-width:860px;font-size:.78rem}.import-table th,.import-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.75rem}.import-table th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:#0a0d12;font-size:.68rem}.import-table tr:last-child td{border-bottom:0}.import-table .needs-attention td:nth-child(2){color:#ff9aa3;font-weight:850}.import-table .ready-row td:nth-child(2){color:#8fd1ff;font-weight:850}.import-table .ignored-row{opacity:.62}.import-table .ignored-row td:nth-child(2){color:var(--muted);font-weight:850}.continuation-label{color:#bac5d3}.import-help{color:var(--muted);margin:.8rem 0 0;font-size:.78rem}.joint-review{background:#3da9ff0f;border:1px solid #3da9ff59;border-radius:.55rem;grid-template-columns:minmax(0,1fr) auto;gap:1rem;margin-top:1rem;padding:1rem;display:grid}.joint-review.is-resolved{border-color:var(--line);background:#ffffff06}.joint-review dl{gap:.45rem;margin:.7rem 0 0;display:grid}.joint-review dl div{grid-template-columns:12rem minmax(0,1fr);gap:.75rem;display:grid}.joint-review dt{color:var(--muted);font-size:.76rem}.joint-review dd{margin:0;font-size:.82rem}.joint-review p{color:var(--muted);margin:.65rem 0 0;font-size:.78rem}.joint-actions,.duplicate-review div{flex-wrap:wrap;align-content:start;gap:.45rem;display:flex}.joint-actions button,.duplicate-review button{border:1px solid var(--line);color:#d9e1ec;font:inherit;cursor:pointer;background:#0c1016;border-radius:999px;padding:.45rem .7rem;font-weight:800}.joint-actions button.is-active{border-color:var(--blue);color:#fff;box-shadow:0 0 0 2px #3da9ff1f}.duplicate-review{gap:.4rem;min-width:13rem;display:grid}.duplicate-review span{color:var(--muted)}@media (max-width:700px){.joint-review{grid-template-columns:1fr}.joint-review dl div{grid-template-columns:1fr;gap:.15rem}}.poll-card-links{flex-wrap:wrap;gap:1.2rem;padding:0 1.35rem 1.25rem;display:flex}.poll-card-links .source-link{margin:0}.poll-card-links .edit-link{color:var(--muted)}.state-overview-section{padding-top:2rem}.state-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.aggregate-card-compact{flex-direction:column;display:flex}.aggregate-card-compact .aggregate-summary{grid-template-columns:1fr;align-items:start}.aggregate-card-compact .aggregate-margin{text-align:left;min-width:0}.aggregate-card-compact .aggregate-chart{flex:1}.overview-official-rating{border-bottom:1px solid var(--line);background:#ffffff0b;border-left:4px solid #0000;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.6rem;display:flex}.overview-official-rating span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.55rem;font-size:.69rem;font-weight:850;display:flex}.overview-official-rating i{border:1px solid #fff3;border-radius:2px;width:.55rem;height:1.35rem}.overview-official-rating strong{font-size:1.07rem}.aggregate-card-action{border-top:1px solid var(--line);padding:1.1rem 1.6rem 1.35rem}.aggregate-card-action .button{width:100%}@media (max-width:860px){.state-overview-grid{grid-template-columns:1fr}}.import-sheet{border:1px solid var(--line);background:#07090d73;border-radius:.65rem;margin-top:1.25rem;padding:1.25rem}.import-sheet-heading{grid-template-columns:1fr minmax(16rem,22rem);align-items:end;gap:1rem;margin-bottom:1.25rem;display:grid}.import-sheet-heading h3{margin:0 0 .25rem;font-size:1.35rem}.import-sheet-heading p{color:var(--muted);margin:0;font-size:.8rem}.import-sheet-heading label{color:#dce5f1;letter-spacing:.07em;text-transform:uppercase;font-size:.76rem;font-weight:850}.import-sheet-heading select{width:100%;min-height:3.35rem;color:var(--text);font:inherit;background:#080b10;border:1px solid #3a4759;border-radius:.45rem;margin-top:.48rem;padding:.75rem .9rem}.race-audit{max-width:none}.audit-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0;display:grid}.audit-totals>div{border:1px solid var(--line);background:#07090d8c;border-radius:.55rem;padding:1rem}.audit-totals span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.76rem;font-weight:800;display:block}.audit-totals strong{margin-top:.35rem;font-size:1.8rem;display:block}.audit-filters{flex-wrap:wrap;gap:.55rem;margin:1rem 0;display:flex}.audit-filters button{border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.55rem .85rem;font-size:.8rem;font-weight:800}.audit-filters button.is-active{border-color:var(--blue);color:#fff;background:#359de81f}.audit-table-wrap{border:1px solid var(--line);border-radius:.55rem;overflow-x:auto}.audit-table{border-collapse:collapse;width:100%;min-width:900px;font-size:.78rem}.audit-table th,.audit-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.8rem .75rem}.audit-table th{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem}.audit-table tr:last-child td{border-bottom:0}.audit-table tr.needs-attention{background:#b9162312}.audit-status{max-width:15rem;font-weight:850;display:inline-block}.audit-status.complete{color:#86d5a4}.audit-status.review{color:#ff9ba4}@media (max-width:900px){.mapping-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.candidate-grid.compact,.mapping-grid,.date-entry,.admin-action-row,.import-sheet-heading,.audit-totals{grid-template-columns:1fr}.admin-action-row{display:grid}.import-sheet{padding:.9rem}.audit-totals strong{font-size:1.45rem}}.ratings-hero{justify-content:space-between;align-items:end;gap:2rem;padding-block:3.7rem 2.7rem;display:flex}.ratings-hero h1{margin-bottom:.9rem}.ratings-hero-summary{max-width:48rem;color:var(--muted);margin-bottom:0}.ratings-context-note{border:1px solid #4ca4e85c;border-left:4px solid var(--blue);background:linear-gradient(135deg,#0755a621,#ffffff06);border-radius:.55rem;max-width:54rem;margin-top:1.2rem;padding:1rem 1.1rem;box-shadow:inset 0 1px #ffffff09}.ratings-context-note h2{letter-spacing:-.01em;margin:0 0 .45rem;font-size:1rem}.ratings-context-note p{color:#cbd5e1;max-width:none;margin:0;font-size:.9rem;line-height:1.65}.ratings-context-note strong{color:#fff}.interactive-context-note{background:linear-gradient(135deg,#59208a24,#ffffff06);border-color:#8045b56b #8045b56b #8045b56b #aa78d6}.ratings-admin-link{flex:none}.ratings-dashboard{padding-bottom:5.5rem}.ratings-office-tabs{border:1px solid var(--line);background:#090c11;border-radius:.6rem;grid-template-columns:1fr 1fr;gap:.3rem;padding:.3rem;display:inline-grid}.ratings-office-tabs button{min-height:2.8rem;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.4rem;padding:.6rem 1.1rem;font-size:.82rem;font-weight:850}.ratings-office-tabs button[aria-selected=true]{background:var(--surface-2);color:#fff;border-color:#47556a;box-shadow:0 5px 16px #00000040}.ratings-office-tabs button:focus-visible{outline-offset:2px;outline:3px solid #3fa9f559}.ratings-view-heading{justify-content:space-between;align-items:end;gap:2rem;margin:2.1rem 0 1.25rem;display:flex}.ratings-view-heading h2{letter-spacing:-.05em;margin:0 0 .4rem;font-size:clamp(2rem,4vw,3.45rem);line-height:1}.ratings-view-heading p:last-child{max-width:46rem;color:var(--muted);margin:0}.ratings-meter{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(145deg,#121923,#0c1017 70%);border-radius:.7rem;padding:1.3rem 1.4rem 1.15rem}.ratings-meter-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.75rem;display:flex}.ratings-meter-heading h3{margin:0;font-size:1.25rem}.ratings-meter-totals{white-space:nowrap;width:100%;min-height:1.8rem;position:relative}.ratings-meter-totals strong{font-size:clamp(1rem,2.2vw,1.45rem);position:absolute;top:0}.ratings-total-d{left:0}.ratings-total-i{left:31%;transform:translate(-50%)}.ratings-total-t{left:50%;transform:translate(-50%)}.ratings-total-r{right:0}.independent-text{color:#b984e7}.ratings-meter-track-shell{padding-top:1.55rem;position:relative}.ratings-meter-midpoint{color:#cbd5e2;justify-items:center;font-size:.68rem;font-weight:900;line-height:1;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%)}.ratings-meter-midpoint:after{content:"";background:#cbd5e2;width:1px;height:.72rem;margin-top:.2rem;box-shadow:0 0 0 1px #07090d8c}.ratings-meter-track{gap:2px;min-width:0;height:2rem;display:flex}.ratings-meter-block{border-radius:1px;flex:1 1 0;min-width:2px;box-shadow:inset 0 0 0 1px #ffffff1f}.ratings-meter-block.is-holdover.rating-solid_d{background:#032b54}.ratings-meter-block.is-holdover.rating-solid_i{background:#2b0a49}.ratings-meter-block.is-holdover.rating-solid_r{background:#4b070d}.ratings-map-state.is-holdover.rating-solid_d{fill:#032b54}.ratings-map-state.is-holdover.rating-solid_i{fill:#2b0a49}.ratings-map-state.is-holdover.rating-solid_r{fill:#4b070d}.ratings-meter-note{color:var(--muted);margin:.8rem 0 0;font-size:.72rem}.ratings-map-card{border:1px solid var(--line);box-shadow:var(--shadow);background:radial-gradient(circle at 58% 40%,#3fa9f512,#0000 40%),#090d13;border-radius:.7rem;margin-top:1.25rem;position:relative;overflow:hidden}.ratings-map{width:100%;height:auto;max-height:40rem;padding:.65rem;display:block}.ratings-map-state{stroke:#d5dce6;stroke-width:1.2px;transition:filter .15s,stroke-width .15s,opacity .15s}.ratings-state-group{cursor:default;outline:none}.ratings-state-group.is-editable{cursor:pointer}.ratings-state-group:hover .ratings-map-state,.ratings-map-state.is-highlighted{stroke:#fff;stroke-width:3px;filter:brightness(1.17)drop-shadow(0 0 6px #ffffff47)}.ratings-state-group:focus .ratings-map-state{stroke:#fff;stroke-width:4.5px;filter:brightness(1.2)drop-shadow(0 0 9px #3fa9f5b3)}.ratings-map-labels{pointer-events:none}.ratings-callout-hit{fill:#0000;stroke:none;pointer-events:all}.ratings-map-label{fill:#fff;stroke:#05070ad9;stroke-width:3px;paint-order:stroke;text-anchor:middle;letter-spacing:.04em;font-size:12px;font-weight:900}.ratings-map-callout-target{cursor:default;outline:none}.ratings-map-callout-target.is-editable{cursor:pointer}.ratings-map-callout line{stroke:#c8d1dc;stroke-width:1.35px}.ratings-map-callout .ratings-callout-box{stroke:#ffffffd1;stroke-width:1px}.ratings-map-callout text{fill:#fff;stroke:#05070a;stroke-width:2px;paint-order:stroke;text-anchor:middle;letter-spacing:.04em;font-size:11px;font-weight:900}.ratings-map-callout-target:hover .ratings-callout-box,.ratings-map-callout-target.is-highlighted .ratings-callout-box{stroke:#fff;stroke-width:2px;filter:brightness(1.18)drop-shadow(0 0 6px #ffffff3d)}.ratings-map-callout-target:focus .ratings-callout-box{stroke:#fff;stroke-width:3px;filter:brightness(1.2)drop-shadow(0 0 9px #3fa9f5b3)}.ratings-map-popover{pointer-events:none;filter:drop-shadow(0 10px 18px #0000006b)}.ratings-map-popover rect{fill:#080b10;stroke:#64748a;stroke-width:1.5px}.ratings-map-popover-state{fill:#fff;font-size:14px;font-weight:900}.ratings-map-popover-rating{fill:#c5cfdb;font-size:12px;font-weight:750}.ratings-legend{grid-template-columns:repeat(6,minmax(0,1fr));gap:.55rem;margin-top:1.25rem;display:grid}.ratings-legend div{color:#c5cfdb;align-items:center;gap:.45rem;min-width:0;font-size:.68rem;display:flex}.ratings-legend div>span{border:1px solid #ffffff2e;border-radius:2px;flex:0 0 .72rem;width:.72rem;height:1.55rem}.ratings-legend strong{line-height:1.15}.ratings-mobile-list{display:none}.ratings-admin-workflow>h1{margin:.4rem 0 .8rem}.ratings-admin-workflow>p:not(.eyebrow){max-width:48rem;color:var(--muted)}.ratings-admin-tools{flex-wrap:wrap;gap:.65rem;margin:1.2rem 0;display:flex}.rating-change-form{gap:1.25rem;display:grid}.rating-change-race-summary{border:1px solid var(--line);background:#080b109e;border-radius:.5rem;gap:.35rem;padding:1rem;display:grid}.rating-change-race-summary strong{color:#fff;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.rating-change-race-summary span{color:var(--muted)}.rating-change-explanation{color:#dce5f1;letter-spacing:.08em;text-transform:uppercase;gap:.55rem;font-size:.72rem;font-weight:850;display:grid;position:relative}.rating-change-explanation textarea{resize:vertical;width:100%;min-height:9rem;color:var(--text);letter-spacing:normal;text-transform:none;background:#080b10;border:1px solid #3a4759;border-radius:.45rem;padding:.85rem;font:500 1rem/1.5 Inter,ui-sans-serif,system-ui,sans-serif}.rating-change-explanation>span{color:var(--muted);letter-spacing:normal;justify-self:end;font-size:.75rem;font-weight:700}.ratings-update-card{margin-top:1.5rem}.ratings-current-value{color:var(--muted);margin:1.2rem 0 0}.ratings-current-value strong{color:#fff}.back-to-polls{color:var(--blue);margin-bottom:1.4rem;font-size:.82rem;font-weight:850;text-decoration:none;display:inline-flex}.back-to-home{color:#cbd5e1;background:#0f141cb8;border:1px solid #394655;border-radius:.42rem;align-items:center;min-height:2.75rem;margin-bottom:1.4rem;padding:.55rem .85rem;font-size:.78rem;font-weight:850;text-decoration:none;display:inline-flex}.back-to-home:hover{color:#fff;background:#111b26;border-color:#72bde9}.back-to-home:focus-visible{outline-offset:3px;outline:3px solid #3fa9f573}.interior-navigation{align-items:center;gap:.6rem;padding-top:1.25rem;display:flex}.interior-navigation.is-bottom{padding-block:1.5rem 3rem}.interior-navigation-link{color:#cbd5e1;min-height:2.65rem;font:inherit;cursor:pointer;background:#0f141cb8;border:1px solid #394655;border-radius:.42rem;align-items:center;gap:.35rem;padding:.5rem .8rem;font-size:.78rem;font-weight:850;text-decoration:none;display:inline-flex}.interior-navigation-link:hover{color:#fff;background:#111b26;border-color:#72bde9}.interior-navigation-link:focus-visible{outline-offset:3px;outline:3px solid #3fa9f573}.interactive-maps-hero{padding-bottom:2.2rem}.interactive-instruction{color:#c9d2de;background:#ffffff09;border-left:3px solid #728199;margin:-.15rem 0 1rem;padding:.85rem 1rem;font-size:.86rem}.interactive-map-actions{flex:none;justify-content:flex-end;align-items:center;gap:.7rem;display:flex}.interactive-version-badge{color:#fff;letter-spacing:.085em;text-transform:uppercase;background:#151d28;border:1px solid #68778a;border-radius:.42rem;align-items:center;min-height:2.85rem;padding:.55rem .85rem;font-size:.78rem;font-weight:950;display:inline-flex}.interactive-map-card{overflow:hidden}.interactive-state-editor{z-index:8;left:var(--editor-x);top:var(--editor-y);background:#080b10fa;border:1px solid #68778c;border-radius:.65rem;width:min(18rem,100% - 2rem);padding:1rem;position:absolute;transform:translate(-50%,-50%);box-shadow:0 18px 44px #00000094}.interactive-editor-close{color:#fff;cursor:pointer;background:0 0;border:0;width:2.4rem;height:2.4rem;font-size:1.6rem;position:absolute;top:.45rem;right:.5rem}.interactive-current-rating{color:#cbd5e1;margin:-.3rem 0 .8rem;font-size:.78rem}.interactive-current-rating strong{color:#fff}.interactive-state-editor h3{margin:.18rem 0 .8rem;font-size:1.3rem}.interactive-state-editor label{color:#dce5f1;letter-spacing:.06em;text-transform:uppercase;gap:.4rem;font-size:.76rem;font-weight:850;display:grid}.interactive-state-editor select{width:100%;min-height:2.8rem;color:var(--text);font:inherit;text-transform:none;background:#080b10;border:1px solid #3a4759;border-radius:.4rem;padding:.6rem .7rem}.interactive-editor-actions{gap:.55rem;margin-top:.9rem;display:flex}.interactive-editor-actions .button{min-height:2.55rem;padding:.55rem .85rem}.senate-control{letter-spacing:.055em;text-transform:uppercase;border:1px solid;border-radius:.65rem;justify-items:end;gap:.2rem;padding:.55rem .75rem;font-size:.72rem;font-weight:950;animation:.35s ease-out both control-arrival;display:grid}.senate-control-context{letter-spacing:.025em;opacity:.86;text-transform:none;font-size:.62rem;font-weight:750}.senate-control-result{align-items:center;gap:.45rem;display:inline-flex}.senate-control-check{color:#fff;border-radius:50%;place-items:center;width:1.15rem;height:1.15rem;display:grid}.senate-control-d{color:#67b7f2;background:#0755a62b}.senate-control-d .senate-control-check{background:#1376d1}.senate-control-r{color:#ff8791;background:#99101d2e}.senate-control-r .senate-control-check{background:#c81324}.ratings-meter.has-d-control{border-color:#3fa9f594;box-shadow:0 0 0 1px #3fa9f51f,0 18px 50px #0755a624}.ratings-meter.has-r-control{border-color:#ef526094;box-shadow:0 0 0 1px #ef52601f,0 18px 50px #99101d24}@keyframes control-arrival{0%{opacity:0;transform:translateY(4px)scale(.97)}to{opacity:1;transform:none}}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page){--surface:var(--surface-1);--surface-2:#f0f3f6;--line:var(--border);--line-soft:var(--border-soft);--text:var(--text-primary);--muted:var(--text-muted)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .interior-navigation-link{border-color:var(--border);background:var(--surface-1);color:var(--text-secondary)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .interior-navigation-link:hover{border-color:var(--focus-ring);background:var(--hover-surface);color:var(--text-primary)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-context-note{background:linear-gradient(135deg,#075ea817,#ffffffc7);border-color:#075ea847 #075ea847 #075ea847 #1376d1;box-shadow:inset 0 1px #ffffffd9}:root[data-theme=light] .interactive-maps-page .interactive-context-note{background:linear-gradient(135deg,#6e2e9b14,#ffffffc7);border-color:#6e2e9b47 #6e2e9b47 #6e2e9b47 #8045b5}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-context-note p{color:var(--text-secondary)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-context-note strong{color:var(--text-primary)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-office-tabs{background:var(--surface-2)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-office-tabs button[aria-selected=true]{border-color:var(--border-strong);background:var(--surface-1);color:var(--text-primary);box-shadow:0 4px 12px #1f29371f}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-office-tabs button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-state-group:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-map-callout-target:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}:root[data-theme=light] .interactive-maps-page .interactive-editor-close:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-meter{background:linear-gradient(145deg,#fff,#f0f3f6 72%)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-meter-midpoint{color:var(--text-secondary)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-meter-midpoint:after{background:var(--text-secondary);box-shadow:0 0 0 1px #fffc}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-meter-block{box-shadow:inset 0 0 0 1px #11182729}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-map-card{background:radial-gradient(circle at 58% 40%, #075ea814, transparent 40%), var(--map-bg)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-map:not([aria-hidden=true]) .ratings-map-state{stroke:var(--map-outline)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-map:not([aria-hidden=true]) .ratings-state-group:hover .ratings-map-state,:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-map:not([aria-hidden=true]) .ratings-map-state.is-highlighted{stroke:var(--map-outline-active);filter:brightness(1.08)drop-shadow(0 0 4px #11182747)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-map:not([aria-hidden=true]) .ratings-state-group:focus .ratings-map-state{stroke:var(--focus-ring);filter:brightness(1.08)drop-shadow(0 0 6px #0969b473)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-map:not([aria-hidden=true]) .ratings-map-label{fill:var(--map-label);stroke:var(--map-label-halo)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-map:not([aria-hidden=true]) .ratings-map-callout line{stroke:var(--map-callout-line)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-map:not([aria-hidden=true]) .ratings-map-callout .ratings-callout-box{stroke:var(--map-outline)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-map:not([aria-hidden=true]) .ratings-map-callout text{fill:var(--map-label);stroke:var(--map-label-halo)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-map:not([aria-hidden=true]) .ratings-map-callout-target:hover .ratings-callout-box,:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-map:not([aria-hidden=true]) .ratings-map-callout-target.is-highlighted .ratings-callout-box{stroke:var(--map-outline-active);filter:brightness(1.08)drop-shadow(0 0 4px #11182740)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-map:not([aria-hidden=true]) .ratings-map-callout-target:focus .ratings-callout-box{stroke:var(--focus-ring);filter:brightness(1.08)drop-shadow(0 0 6px #0969b473)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-map:not([aria-hidden=true]) .ratings-map-popover{filter:drop-shadow(0 10px 18px #1f293733)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-map:not([aria-hidden=true]) .ratings-map-popover rect{fill:var(--map-tooltip-bg);stroke:var(--border-strong)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-map:not([aria-hidden=true]) .ratings-map-popover-state{fill:var(--map-tooltip-text)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-map:not([aria-hidden=true]) .ratings-map-popover-rating{fill:var(--text-secondary)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-legend div,:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-mobile-list div>span:nth-child(3),:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-mobile-list button>span:nth-child(3){color:var(--text-secondary)}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .ratings-legend div>span{border-color:#11182738}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .button-primary{color:#fff;background:#172033;border-color:#172033}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .button-primary:hover{background:#263244}:root[data-theme=light] :is(.ratings-page,.interactive-maps-page) .button-secondary{border-color:var(--border-strong);background:var(--surface-1);color:var(--text-primary)}:root[data-theme=light] .interactive-maps-page .interactive-instruction{border-left-color:var(--border-strong);background:var(--surface-2);color:var(--text-secondary)}:root[data-theme=light] .interactive-maps-page .interactive-version-badge{border-color:var(--border-strong);background:var(--surface-2);color:var(--text-primary)}:root[data-theme=light] .interactive-maps-page .interactive-state-editor{border-color:var(--border-strong);background:var(--surface-elevated);box-shadow:0 18px 44px #1f29373d}:root[data-theme=light] .interactive-maps-page .interactive-editor-close{color:var(--text-primary)}:root[data-theme=light] .interactive-maps-page .interactive-current-rating{color:var(--text-secondary)}:root[data-theme=light] .interactive-maps-page .interactive-current-rating strong{color:var(--text-primary)}:root[data-theme=light] .interactive-maps-page .interactive-state-editor label{color:var(--text-secondary)}:root[data-theme=light] .interactive-maps-page .interactive-state-editor select{border-color:var(--input-border);background:var(--input-bg);color:var(--text-primary)}:root[data-theme=light] .interactive-maps-page .interactive-state-editor select:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}:root[data-theme=light] .interactive-maps-page .senate-control-d{color:#075ea8;background:#075ea817}:root[data-theme=light] .interactive-maps-page .senate-control-r{color:#b51224;background:#b5122417}@media (max-width:900px){.ratings-legend{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:640px){.ratings-hero{padding-block:2.5rem 2rem;display:grid}.ratings-admin-link{justify-self:start}.ratings-office-tabs{width:100%}.ratings-office-tabs button{padding-inline:.6rem}.ratings-meter{padding:1rem}.ratings-meter-totals strong{font-size:.92rem}.ratings-total-i{left:28%}.ratings-total-t{font-size:.82rem!important}.ratings-meter-track-shell{padding-top:1.4rem}.ratings-meter-track{gap:1px;height:1.55rem}.ratings-map{padding:.25rem}.ratings-legend{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:.2rem}.ratings-mobile-list{border-top:1px solid var(--line);grid-template-columns:1fr;max-height:20rem;display:grid;overflow-y:auto}.ratings-mobile-list div{border-bottom:1px solid var(--line-soft);grid-template-columns:.65rem 2.2rem 1fr auto;align-items:center;gap:.55rem;padding:.65rem .85rem;font-size:.72rem;display:grid}.ratings-mobile-list button{border:0;border-bottom:1px solid var(--line-soft);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:.65rem 2.2rem 1fr auto;align-items:center;gap:.55rem;padding:.65rem .85rem;font-size:.72rem;display:grid}.ratings-mobile-list button:focus-visible{outline-offset:-3px;outline:3px solid #3fa9f573}.ratings-mobile-list div>span:first-child,.ratings-mobile-list button>span:first-child{border-radius:2px;width:.65rem;height:1.15rem}.ratings-mobile-list div>span:nth-child(3),.ratings-mobile-list button>span:nth-child(3){color:#c8d1dd}.ratings-mobile-list em{color:var(--muted);font-style:normal;font-weight:750}.interactive-state-editor{z-index:70;left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));top:auto;bottom:max(12px, env(safe-area-inset-bottom));border-radius:.85rem;width:auto;max-height:min(70dvh,34rem);margin:0;padding:1.15rem;position:fixed;overflow-y:auto;transform:none}.interactive-editor-actions .button{min-height:2.8rem}.ratings-meter-heading{align-items:start}.senate-control{text-align:center;justify-content:center;max-width:9.5rem}}.feature-promo-section{padding-block:2.8rem}.feature-promo-card{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(130deg,#111823,#0b0f16 72%);border-radius:.75rem;justify-content:space-between;align-items:center;gap:2.5rem;padding:2rem;display:flex}.feature-promo-card h2{letter-spacing:-.045em;margin:0 0 .7rem;font-size:clamp(1.8rem,3.5vw,3rem);line-height:1}.feature-promo-card p:last-child{max-width:47rem;color:var(--muted);margin:0}.feature-promo-card .button{flex:none}.interactive-maps-promo{background:radial-gradient(circle at 85% 20%,#8045b52e,#0000 22rem),linear-gradient(130deg,#111823,#0b0f16 72%);border-left:4px solid #8045b5}.elections-promo{border-left:4px solid var(--red);background:radial-gradient(circle at 85% 20%,#e21b2d21,#0000 22rem),linear-gradient(130deg,#111823,#0b0f16 72%)}.home-support-section{padding-top:2.8rem;padding-bottom:5.5rem}.home-support-card{border:1px solid var(--line);box-shadow:var(--shadow);background:radial-gradient(circle at 88% 12%,#3fa9f521,#0000 18rem),linear-gradient(130deg,#111823,#0b0f16 72%);border-radius:.75rem;justify-content:space-between;align-items:center;gap:2.5rem;padding:2rem;display:flex;position:relative;overflow:hidden}.home-support-card:before{content:"";background:linear-gradient(90deg, var(--blue), var(--red));height:3px;position:absolute;inset:0 0 auto}.home-support-card>*{z-index:1;position:relative}.home-support-card h2{letter-spacing:-.045em;margin:0 0 .7rem;font-size:clamp(1.8rem,3.5vw,3rem);line-height:1}.home-support-card p:last-child{max-width:46rem;color:var(--muted);margin:0}.home-support-card .button{flex:none}.support-page{min-height:65vh}.support-hero{border-bottom:1px solid var(--border-soft);padding-block:2.5rem 1.5rem}.support-hero h1{max-width:58rem;margin-bottom:1.25rem}.support-lede{max-width:47rem;color:var(--text-secondary);margin:0;font-size:clamp(1.08rem,2vw,1.35rem)}.support-voluntary-message{margin:1.25rem 0 0}.support-layout{gap:3.5rem;padding-block:1.5rem 6rem;display:grid}.support-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.support-story{gap:3.2rem;display:grid}.support-story section{border-top:1px solid var(--border-soft);padding-top:3.2rem}.support-story section:first-child{border-top:0;padding-top:0}.support-story h2{letter-spacing:-.04em;margin-bottom:1rem;font-size:clamp(1.75rem,3vw,2.55rem);line-height:1.05}.support-story p{max-width:49rem;color:var(--text-secondary)}.support-story p:last-child{margin-bottom:0}.support-cta-card{border:1px solid var(--border);background:linear-gradient(145deg, var(--surface-1), var(--surface-2));min-width:0;box-shadow:var(--shadow);border-radius:.75rem;flex-direction:column;padding:1.6rem;display:flex;position:relative;overflow:hidden}.support-cta-card:before{content:"";background:linear-gradient(90deg, var(--blue), var(--red));height:3px;position:absolute;inset:0 0 auto}.support-cta-card h2{letter-spacing:-.035em;margin-bottom:.8rem;font-size:1.7rem}.support-cta-card>p:not(.eyebrow){color:var(--text-secondary);font-size:.9rem}.support-tiers{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1.35rem 0;display:grid}.support-tiers>div{border:1px solid var(--border-soft);background:var(--surface-elevated);border-radius:.5rem;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.45rem;padding:.8rem .9rem;display:flex}.support-tiers span{color:var(--text-secondary);font-size:.82rem;font-weight:750}.support-tiers strong{color:var(--text-primary);font-size:1.1rem}.support-tiers strong span{color:var(--text-muted);margin-left:.12rem;font-size:.67rem}.support-patreon-button,.support-paypal-button{border-color:var(--text-primary);background:var(--text-primary);width:100%;min-height:3rem;color:var(--surface-1);white-space:normal;text-align:center;margin-top:auto}.support-patreon-button:hover,.support-paypal-button:hover{border-color:var(--text-secondary);background:var(--text-secondary)}:is(.support-patreon-button:focus-visible,.support-paypal-button:focus-visible){outline:3px solid var(--focus-ring);outline-offset:3px}.support-external-note{text-align:center;margin:.7rem 0 0;color:var(--text-muted)!important;font-size:.72rem!important}:root[data-theme=light] .home-support-card{background:radial-gradient(circle at 88% 12%, #1376d114, transparent 18rem), linear-gradient(130deg, var(--surface-1), var(--surface-2) 72%)}@media (max-width:860px){.support-options{grid-template-columns:1fr}}@media (max-width:640px){.home-support-card{gap:1.5rem;padding:1.35rem;display:grid}.home-support-section{padding-bottom:4rem}.support-hero{padding-block:.75rem .5rem}.support-hero h1{margin-bottom:.5rem;font-size:clamp(2rem,8vw,2.6rem)}.support-lede{font-size:1rem;line-height:1.4}.support-voluntary-message{margin-top:.5rem}.support-options{gap:.75rem}.support-layout{padding-block:1rem 4rem}.support-story{gap:2.5rem}.support-story section{padding-top:2.5rem}.support-cta-card{padding:.75rem}.support-cta-card .eyebrow{margin-bottom:.35rem}.support-external-note{margin-top:.5rem}.support-cta-card h2{margin-bottom:.6rem;font-size:1.5rem;line-height:1.15}.support-cta-card>p:not(.eyebrow):not(.support-external-note){margin-bottom:.65rem;line-height:1.4}.support-tiers{margin:.25rem 0 .6rem}.support-tiers>div{gap:.25rem;padding:.65rem .6rem}}:root[data-theme=light] body{background:radial-gradient(circle at 78% 5%, #e21b2d0b, transparent 25rem), radial-gradient(circle at 20% 15%, #1376d111, transparent 28rem), var(--page-bg)}:root[data-theme=light] .demo-banner{border-color:var(--border);color:var(--text-secondary);background:linear-gradient(90deg,#1376d117,#e21b2d13)}:root[data-theme=light] .demo-banner strong{color:var(--text-primary)}:root[data-theme=light] .home-page{--surface:var(--surface-1);--surface-2:#f0f3f6;--line:var(--border);--line-soft:var(--border-soft);--text:var(--text-primary);--muted:var(--text-muted)}:root[data-theme=light] .home-page .section-kicker,:root[data-theme=light] .home-page .overview-text,:root[data-theme=light] .home-page .section-link,:root[data-theme=light] .home-page .poll-candidates span,:root[data-theme=light] .home-page .race-card-candidates div,:root[data-theme=light] .home-page .key-race-controls label{color:var(--text-secondary)}:root[data-theme=light] .home-page .section-link:hover,:root[data-theme=light] .home-page .majority-note strong,:root[data-theme=light] .home-page .race-card-footer strong{color:var(--text-primary)}:root[data-theme=light] .home-page .button-primary{color:#fff;background:#111827;border-color:#111827}:root[data-theme=light] .home-page .button-primary:hover{background:#263244}:root[data-theme=light] .home-page .button-secondary,:root[data-theme=light] .home-page .back-to-key-races{border-color:var(--border);background:var(--surface-1);color:var(--text-primary)}:root[data-theme=light] .home-page .balance-card,:root[data-theme=light] .home-page .race-card{background:linear-gradient(145deg, var(--surface-1), var(--surface-2))}:root[data-theme=light] .home-page .balance-bar{background:var(--track-bg)}:root[data-theme=light] .home-page .poll-row:hover{background:var(--hover-surface)}:root[data-theme=light] .home-page .race-card:after{border-color:#11182709}:root[data-theme=light] .home-page .race-card:hover{border-color:var(--border-strong)}:root[data-theme=light] .home-page .race-card-candidates small{color:var(--text-muted)}:root[data-theme=light] .home-page .key-race-controls select{border-color:var(--input-border);background:var(--input-bg);color:var(--text-primary)}:root[data-theme=light] .home-page .key-races-empty{border-color:var(--border-strong);background:#ffffffa6}:root[data-theme=light] .home-page .feature-promo-card{background:linear-gradient(130deg, var(--surface-1), var(--surface-2) 72%)}:root[data-theme=light] .home-page .interactive-maps-promo{background:radial-gradient(circle at 85% 20%, #8045b51a, transparent 22rem), linear-gradient(130deg, var(--surface-1), var(--surface-2) 72%)}:root[data-theme=light] .home-page .elections-promo{background:radial-gradient(circle at 85% 20%, #e21b2d13, transparent 22rem), linear-gradient(130deg, var(--surface-1), var(--surface-2) 72%)}:root[data-theme=light] .home-page .dem-text{color:#075ea8!important}:root[data-theme=light] .home-page .gop-text{color:#b51224!important}:root[data-theme=light] .home-page .ind-text{color:#6e2e9b!important}:root[data-theme=light] .home-page .other-text,:root[data-theme=light] .home-page .tied-text{color:#765400!important}:root[data-theme=light] .home-page .toss-pill{color:#765400}:root[data-theme=light] .home-page .blue-pill{color:#075ea8}:root[data-theme=light] .home-page .red-pill{color:#b51224}:root[data-theme=light] .home-page .independent-pill{color:#6e2e9b}:root[data-theme=light] .polls-page{--surface:var(--surface-1);--line:var(--border);--line-soft:var(--border-soft);--text:var(--text-primary);--muted:var(--text-muted)}:root[data-theme=light] .polls-page .section-kicker,:root[data-theme=light] .polls-page .overview-text,:root[data-theme=light] .polls-page .section-note,:root[data-theme=light] .polls-page .state-picker-card label,:root[data-theme=light] .polls-page .method-note strong{color:var(--text-secondary)}:root[data-theme=light] .polls-page .state-picker-card,:root[data-theme=light] .polls-page .aggregate-card{background:linear-gradient(145deg, var(--surface-1), var(--surface-2) 72%)}:root[data-theme=light] .polls-page .state-picker-card input,:root[data-theme=light] .polls-page .state-picker-card select{border-color:var(--input-border);background:var(--input-bg);color:var(--text-primary)}:root[data-theme=light] .polls-page .state-picker-card select:hover{border-color:var(--border-strong)}:root[data-theme=light] .polls-page .state-picker-card select:disabled{background:var(--surface-2);color:var(--text-muted)}:root[data-theme=light] .polls-page .button-primary{color:#fff;background:#111827;border-color:#111827}:root[data-theme=light] .polls-page .button-secondary{border-color:var(--border);background:var(--surface-1);color:var(--text-primary)}:root[data-theme=light] .polls-page .loading-card,:root[data-theme=light] .polls-page .empty-state-card{border-color:var(--border-strong);background:#ffffffb3}:root[data-theme=light] .polls-page .aggregate-margin{background:#075ea814;border-color:#075ea847}:root[data-theme=light] .polls-page .aggregate-track{border-color:var(--border);background:var(--track-bg)}:root[data-theme=light] .polls-page .aggregate-axis{color:var(--text-muted)}:root[data-theme=light] .polls-page .aggregate-meta strong{color:var(--text-primary)}:root[data-theme=light] .polls-page .overview-official-rating{background:#11182709}:root[data-theme=light] .polls-page .race-official-rating-link{border-color:var(--border);background:linear-gradient(110deg,#ffffffe6,#f0f3f6d1)}:root[data-theme=light] .polls-page .race-official-rating-link:hover{background:var(--hover-surface)}:root[data-theme=light] .polls-page .race-official-rating-action{color:#fff;background:#111827}:root[data-theme=light] .polls-page .race-official-rating-action:hover{background:#263244}:root[data-theme=light] .polls-page .polls-back-link{border-color:var(--border);color:var(--text-secondary);background:#ffffffd1}:root[data-theme=light] .polls-page .polls-back-link:hover{border-color:var(--focus-ring);background:var(--hover-surface);color:var(--text-primary)}:root[data-theme=light] .polls-page .interior-navigation-link{border-color:var(--border);color:var(--text-secondary);background:#ffffffd1}:root[data-theme=light] .polls-page .interior-navigation-link:hover{border-color:var(--focus-ring);background:var(--hover-surface);color:var(--text-primary)}:root[data-theme=light] .polls-page .dem-text,:root[data-theme=light] .polls-page .blue-text{color:#075ea8!important}:root[data-theme=light] .polls-page .gop-text,:root[data-theme=light] .polls-page .red-text{color:#b51224!important}:root[data-theme=light] .polls-page .ind-text{color:#6e2e9b!important}:root[data-theme=light] .polls-page .other-text,:root[data-theme=light] .polls-page .tied-text{color:#765400!important}:root[data-theme=light] .polls-page .polling-table-wrap{border-color:var(--border-strong);background:var(--surface-1);scrollbar-color:var(--border-strong) var(--surface-2)}:root[data-theme=light] .polls-page .polling-table{color:var(--text-primary)}:root[data-theme=light] .polls-page .polling-table th,:root[data-theme=light] .polls-page .polling-table td{border-color:var(--border)}:root[data-theme=light] .polls-page .polling-table thead th{background:var(--table-header-bg);color:var(--text-secondary)}:root[data-theme=light] .polls-page .polling-table thead th small{color:var(--text-primary)}:root[data-theme=light] .polls-page .polling-table tbody tr{background:var(--table-row-bg)}:root[data-theme=light] .polls-page .polling-table tbody tr:nth-child(2n){background:var(--table-row-alt)}:root[data-theme=light] .polls-page .polling-table tbody tr:hover{background:var(--hover-surface)}:root[data-theme=light] .polls-page .polling-table-edit{color:var(--text-primary)}:is(:root[data-theme=light] .polls-page .polling-table-edit:hover,:root[data-theme=light] .polls-page .polling-table-edit:focus-visible),:root[data-theme=light] .polls-page .polling-table-source{color:var(--link)}:is(:root[data-theme=light] .polls-page .polling-table-source:hover,:root[data-theme=light] .polls-page .polling-table-source:focus-visible){color:#064f8d}:root[data-theme=light] .polls-page .polling-table-result.is-leading,:root[data-theme=light] .polls-page .polling-table-lead:not(.is-tied){color:#fff;box-shadow:inset 0 0 0 1px #11182729}:root[data-theme=light] .polls-page .polling-table-result.is-tied-top{color:#765400}:root[data-theme=light] .polls-page .polling-table-lead.is-tied{color:var(--text-muted)}:root[data-theme=light] .polls-page .poll-map-shell{border-color:var(--border);background:radial-gradient(circle at 60% 35%, #075ea814, transparent 38%), var(--surface-2)}:root[data-theme=light] .polls-page .poll-map-state.is-unavailable{fill:#dce2e8;stroke:#a9b4c0}:root[data-theme=light] .polls-page .poll-map-state.is-available{fill:#cfe7f7;stroke:#1673ad}:root[data-theme=light] .polls-page .poll-map-state-link:hover .poll-map-state.is-available,:root[data-theme=light] .polls-page .poll-map-state.is-available.is-highlighted{fill:#a9d6f2;stroke:#075e96}:root[data-theme=light] .polls-page .poll-map-state-link:focus .poll-map-state.is-available{fill:#a9d6f2;stroke:#075ea8}:root[data-theme=light] .polls-page .poll-map-availability-marker{fill:#fff;stroke:#25445b}:root[data-theme=light] .polls-page .poll-map-state-label{fill:#52606f;stroke:#f0f3f6}:root[data-theme=light] .polls-page .poll-map-state-label.is-active{fill:#102f46}:root[data-theme=light] .polls-page .poll-map-state-label.is-callout line{stroke:#7d8997}:root[data-theme=light] .polls-page .poll-map-state-label.is-callout rect{fill:#e1e7ed;stroke:#8b98a7}:root[data-theme=light] .polls-page .poll-map-state-label.is-callout.is-active line{stroke:#1673ad}:root[data-theme=light] .polls-page .poll-map-state-label.is-callout.is-active rect{fill:#cfe7f7;stroke:#1673ad}:root[data-theme=light] .polls-page .poll-map-state-label.is-callout text{fill:#42505e}:root[data-theme=light] .polls-page .poll-map-state-label.is-callout.is-active text{fill:#102f46}:root[data-theme=light] .polls-page .poll-map-callout-link:hover .poll-map-state-label.is-callout rect:not(.poll-map-callout-hit),:root[data-theme=light] .polls-page .poll-map-callout-link:focus .poll-map-state-label.is-callout rect:not(.poll-map-callout-hit){fill:#a9d6f2;stroke:#075ea8}:root[data-theme=light] .polls-page .poll-map-local-popover{filter:drop-shadow(0 12px 18px #1f293733)}:root[data-theme=light] .polls-page .poll-map-local-popover rect{fill:var(--tooltip-bg);stroke:#1673ad}:root[data-theme=light] .polls-page .poll-map-popover-state{fill:var(--tooltip-text)}:root[data-theme=light] .polls-page .poll-map-popover-races{fill:var(--text-secondary)}:root[data-theme=light] .polls-page .poll-map-popover-action{fill:var(--link)}:root[data-theme=light] .polls-page .poll-map-status{background:#fffffff2;border-color:#075ea84d;box-shadow:0 12px 26px #1f293721}:root[data-theme=light] .polls-page .poll-map-status strong{color:var(--text-primary)}:root[data-theme=light] .polls-page .poll-map-status span{color:var(--text-secondary)}:root[data-theme=light] .polls-page .poll-map-status em{color:var(--link)}:root[data-theme=light] .polls-page .poll-map-mobile-list a{border-color:var(--border);background:var(--surface-1);color:var(--text-primary)}:root[data-theme=light] .polls-page .poll-map-mobile-list a span{color:var(--text-muted)}:root[data-theme=light] .polls-page .poll-map-mobile-list a:focus-visible{border-color:var(--focus-ring)}:root[data-theme=light] .polls-page .form-alert.error{color:#8e1020;background:#b5122414;border-color:#b512246b}:root[data-theme=light] .polls-page .form-alert span{color:#6f3840}.ratings-hero-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:.65rem;display:flex}.ratings-create-graphic{cursor:pointer;border-color:#fff}[data-slot=dialog-overlay]{z-index:200;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#010306d1;animation:.16s ease-out both dialog-fade-in;position:fixed;inset:0}.ratings-graphic-dialog[data-slot=dialog-content]{z-index:201;max-height:94vh;color:var(--text);overscroll-behavior:contain;border-radius:.72rem;outline:none;gap:1rem;padding:1.35rem;animation:.18s ease-out both dialog-arrive;display:grid;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 28px 90px #000000c7;background:#0a0e14!important;border:1px solid #46546a!important;width:min(94vw,74rem)!important;max-width:74rem!important}.ratings-graphic-dialog [data-slot=dialog-header]{gap:.25rem;padding-right:2.5rem;display:grid}.ratings-graphic-dialog [data-slot=dialog-title]{color:#fff;font-size:1.25rem;font-weight:900;line-height:1.2}.ratings-graphic-dialog [data-slot=dialog-description]{color:var(--muted);font-size:.88rem}.ratings-graphic-dialog [data-slot=dialog-footer]{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}.ratings-graphic-dialog>[data-slot=dialog-close]{color:#fff;cursor:pointer;background:#111823;border:1px solid #455266;border-radius:.4rem;place-items:center;width:2.4rem;height:2.4rem;padding:0;display:grid;position:absolute;top:1rem;right:1rem}.ratings-graphic-dialog>[data-slot=dialog-close] svg{width:1.1rem;height:1.1rem}.ratings-graphic-dialog>[data-slot=dialog-close]:focus-visible{outline-offset:2px;outline:3px solid #3fa9f58c}.ratings-graphic-preview{border:1px solid var(--line);background:#05070a;border-radius:.55rem;place-items:center;min-height:18rem;display:grid;overflow:hidden}.ratings-graphic-preview img{width:100%;height:auto;display:block}.ratings-graphic-status,.ratings-graphic-error{color:#cbd5e1;text-align:center;align-content:center;place-items:center;gap:.8rem;min-height:18rem;display:grid}.ratings-graphic-spinner{border:3px solid #334155;border-top-color:var(--blue);border-radius:50%;width:2rem;height:2rem;animation:.75s linear infinite graphic-spin}.ratings-graphic-error strong{color:#fff;font-size:1.1rem}.ratings-graphic-error span{color:var(--muted)}.ratings-graphic-dialog button:disabled{cursor:not-allowed;opacity:.45;transform:none}@keyframes graphic-spin{to{transform:rotate(360deg)}}@keyframes dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-arrive{0%{opacity:0;transform:translate(-50%,-48%)scale(.985)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.ratings-graphic-capture{z-index:-1000;pointer-events:none;width:1536px;height:1152px;position:fixed;top:0;left:-20000px;overflow:hidden}.ratings-graphic-capture.rating-change-graphic-capture{height:1536px}.aggregate-graphic-action{border-top:1px solid var(--line);justify-content:flex-end;padding:16px 26px;display:flex}.ratings-graphic-capture.polling-aggregate-capture{height:1536px}.polling-aggregate-poster{box-sizing:border-box;color:#f7f9fc;background:radial-gradient(circle at 12% 15%,#3fa9f526,#0000 440px),radial-gradient(circle at 88% 9%,#e21b2d1f,#0000 390px),#07090d;grid-template-rows:160px 222px minmax(0,1fr) 180px 140px 72px;gap:14px;width:1536px;height:1536px;padding:35px 46px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid;overflow:hidden}.polling-poster-brand{border-bottom:2px solid #394658;justify-content:space-between;align-items:center;gap:24px;display:flex}.polling-poster-kicker{color:#76caff;letter-spacing:.09em;text-transform:uppercase;font-size:28px;font-weight:950}.polling-poster-identity{border-bottom:1px solid #394658;grid-template-columns:255px minmax(0,1fr);justify-content:center;align-items:center;gap:32px;display:grid}.polling-poster-geography{width:230px;height:165px}.polling-poster-geography .rating-change-state-shape{width:100%;height:100%}.polling-poster-identity>div:last-child{text-align:center;padding-right:240px}.polling-poster-identity h2{text-transform:uppercase;margin:0;font-size:67px;font-weight:950;line-height:1}.polling-poster-identity p{margin:8px 0;font-size:37px;font-weight:850}.polling-poster-identity span{color:#b8c4d3;text-transform:uppercase;font-size:21px;font-weight:750}.polling-poster-results{background:#131b26db;border:1px solid #3e4c60;border-radius:12px;grid-template-rows:auto minmax(0,1fr) auto;padding:28px 35px;display:grid}.polling-poster-result-header{text-align:center}.polling-poster-result-header>span{color:#76caff;letter-spacing:.1em;text-transform:uppercase;font-size:23px;font-weight:950}.polling-poster-result-header h3{margin:10px 0;font-size:52px;font-weight:950;line-height:1.1}.polling-poster-margin{color:#c7d5e6;text-transform:uppercase;margin:0;font-size:24px;font-weight:750}.polling-poster-margin strong{color:#fff}.polling-poster-bars{align-content:center;gap:19px;min-height:0;display:grid;overflow:hidden}.polling-poster-row{gap:9px;display:grid}.polling-poster-row>div:first-child{justify-content:space-between;gap:20px;font-size:26px;font-weight:850;display:flex}.polling-poster-row strong{font-size:30px}.polling-poster-track{background:#080b10;border:1px solid #425064;border-radius:5px;height:24px;overflow:hidden}.polling-poster-track span{height:100%;display:block}.ind-fill{background:linear-gradient(90deg,#642898,#c58af0)}.polling-poster-meta{color:#c8d1df;border-top:1px solid #394658;justify-content:space-between;gap:18px;padding-top:22px;font-size:20px;display:flex}.polling-poster-meta strong{color:#fff}.polling-poster-method{background:#121922;border:1px solid #3e4c60;border-radius:9px;align-content:center;gap:8px;padding:15px 26px;display:grid}.polling-poster-method>strong,.polling-poster-rating>span{color:#b9c9db;letter-spacing:.075em;text-transform:uppercase;font-size:22px;font-weight:950}.polling-poster-method p{margin:0;font-size:21px;line-height:1.4}.polling-poster-rating{background:#151d27;border:2px solid #526071;border-left-width:12px;border-radius:9px;align-content:center;justify-items:center;gap:8px;display:grid}.polling-poster-rating>strong{font-size:44px;font-weight:950}.polling-poster-disclaimer{background:#460a1473;border:1px solid #8d2d39;border-radius:8px;place-items:center;font-size:22px;font-weight:850;display:grid}.ratings-export-poster{color:#f7f9fc;background:radial-gradient(circle at 82% 8%,#e21b2d1f,#0000 360px),radial-gradient(circle at 17% 15%,#3fa9f521,#0000 390px),#07090d;grid-template-rows:160px 72px 128px 82px minmax(0,1fr) 150px;gap:8px;width:1536px;max-width:none;height:1152px;max-height:none;padding:26px 40px 22px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid;overflow:hidden}.ratings-export-header{border-bottom:2px solid #344052;grid-template-columns:190px minmax(0,1fr) 380px;align-items:center;gap:24px;display:grid}.ratings-export-version{color:#f3f6fa;letter-spacing:.075em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#151d28;border:1px solid #68778a;place-self:center start;align-items:center;width:max-content;padding:11px 15px 10px;font-size:22px;font-weight:950;line-height:1;display:inline-flex}.ratings-export-title{text-align:center;text-transform:uppercase;align-content:center;justify-items:center;min-width:0;display:grid}.ratings-export-title p{letter-spacing:.025em;white-space:nowrap;margin:0 0 4px;font-size:38px;font-weight:950;line-height:1}.ratings-export-title h2{letter-spacing:-.045em;margin:0;font-size:76px;font-weight:950;line-height:.9}.ratings-export-brand{align-content:center;justify-items:end;display:grid}.ratings-export-brand .ratings-export-logo{width:330px;height:auto;visibility:visible!important;opacity:1!important;display:block!important}.ratings-export-social{color:#fff;text-align:left;align-items:center;gap:11px;margin-top:3px;visibility:visible!important;opacity:1!important;display:flex!important}.ratings-export-social img{object-fit:contain;width:44px;height:49px;visibility:visible!important;opacity:1!important;display:block!important}.ratings-export-social span{color:#fff;font-size:15px;font-weight:800;line-height:1.12;display:grid}.ratings-export-social strong{color:#fff;letter-spacing:.02em;font-size:20px}.ratings-export-summary{grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;display:grid}.ratings-export-date{color:#e2e8f0;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;grid-column:1;font-size:23px;font-weight:950}.ratings-export-totals{text-transform:uppercase;white-space:nowrap;grid-column:2;justify-content:center;align-items:center;gap:34px;font-size:50px;line-height:1;display:flex}.ratings-export-control{color:#fff;text-align:right;text-transform:uppercase;grid-column:3;justify-self:end;justify-items:end;gap:2px;line-height:1.05;display:grid}.ratings-export-control>span{letter-spacing:.04em;font-size:13px;font-weight:850}.ratings-export-control>strong{letter-spacing:.02em;white-space:nowrap;align-items:center;gap:7px;font-size:23px;font-weight:950;display:inline-flex}.ratings-export-control b{color:#fff;border-radius:50%;place-items:center;width:25px;height:25px;font-size:18px;display:grid}.ratings-export-control.is-d>strong{color:#67b7f2}.ratings-export-control.is-d b{background:#1376d1}.ratings-export-control.is-r>strong{color:#ff8791}.ratings-export-control.is-r b{background:#c81324}.ratings-export-poster .ratings-meter{height:120px;box-shadow:none;border-radius:5px;padding:12px 16px 10px}.ratings-export-poster .ratings-meter-heading,.ratings-export-poster .ratings-meter-totals{display:none}.ratings-export-poster .ratings-meter-track-shell{padding-top:27px}.ratings-export-poster .ratings-meter-track{gap:2px;height:39px}.ratings-export-poster .ratings-meter-midpoint{font-size:19px}.ratings-export-poster .ratings-meter-midpoint:after{height:17px}.ratings-export-poster .ratings-meter-note{margin:9px 0 0;font-size:12px}.ratings-export-legend{grid-template-columns:repeat(6,minmax(0,1fr));align-content:center;gap:8px 16px;display:grid}.ratings-export-legend div{color:#fff;align-items:center;gap:9px;min-width:0;font-size:15px;line-height:1.1;display:flex}.ratings-export-legend div>span{border:1px solid #fff6;border-radius:2px;flex:0 0 15px;width:15px;height:25px}.ratings-export-map{background:radial-gradient(circle at 58% 40%,#3fa9f512,#0000 40%),#090d13;border:1px solid #28313e;border-radius:6px;min-height:0;overflow:hidden}.ratings-export-poster .ratings-map{width:100%;height:100%;max-height:none;padding:3px;display:block!important}.ratings-export-poster .ratings-map-state{transition:none}.ratings-export-footer{grid-template-columns:.92fr 1.08fr;gap:14px;min-height:0;display:grid}.ratings-export-notice,.ratings-export-disclaimer{background:#10161fe6;border:1px solid #3c4858;border-radius:6px;margin:0}.ratings-export-notice{color:#fff;grid-template-columns:38px 1fr;align-items:center;gap:11px;padding:14px 16px;font-size:20px;font-weight:650;line-height:1.25;display:grid}.ratings-export-notice>span{color:#fff;background:#c81324;border-radius:50%;place-items:center;width:30px;height:30px;font-size:21px;font-weight:950;display:grid}.ratings-export-notice p{margin:0}.ratings-export-notice strong{color:#fff;font-weight:950}.ratings-export-scenario-notice{grid-template-columns:none;align-items:center;display:flex}.ratings-export-scenario-notice p{gap:7px;display:grid}.ratings-export-scenario-notice strong{letter-spacing:.05em;text-transform:uppercase;font-size:20px}.ratings-export-scenario-notice span{color:#fff;font-weight:680}.ratings-export-disclaimer{color:#fff;align-items:center;padding:14px 17px;font-size:19px;font-weight:680;line-height:1.28;display:flex}.rating-change-export-poster{color:#f7f9fc;background:radial-gradient(circle at 82% 8%,#e21b2d1f,#0000 360px),radial-gradient(circle at 17% 15%,#3fa9f521,#0000 390px),#07090d;grid-template-rows:160px 160px minmax(0,1fr) 220px 150px;gap:10px;width:1536px;max-width:none;height:1536px;max-height:none;padding:26px 40px 22px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid;overflow:hidden}.rating-change-export-header .ratings-export-title h2{white-space:nowrap;font-size:64px}.rating-change-meta{text-align:center;border-bottom:1px solid #344052;align-content:center;justify-items:center;gap:12px;min-width:0;display:grid}.rating-change-meta>div{justify-items:center;gap:12px;min-width:0;max-width:100%;display:grid}.rating-change-meta>div strong{color:#fff;letter-spacing:.025em;text-transform:uppercase;font-size:48px;font-weight:950;line-height:1}.rating-change-meta>div span{color:#d6deea;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:20px;font-weight:720;overflow:hidden}.rating-change-meta>p{color:#e2e8f0;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;margin:0;font-size:22px;font-weight:950}.rating-change-comparison{grid-template-columns:minmax(0,1fr) var(--rating-change-center-column) minmax(0,1fr);background:radial-gradient(circle at 50% 42%,#ffffff0b,#0000 48%),#090d13;border:1px solid #28313e;border-radius:6px;align-items:stretch;gap:0;min-height:0;padding:18px 18px 12px;display:grid}.rating-change-side{grid-template-rows:var(--rating-change-heading-zone) minmax(0,var(--rating-change-state-zone)) var(--rating-change-label-zone);row-gap:var(--rating-change-zone-gap);align-content:center;place-items:stretch center;min-width:0;min-height:0;display:grid}.rating-change-side.is-previous{transform:translateX(var(--rating-change-side-shift))}.rating-change-side.is-new{transform:translateX(calc(var(--rating-change-side-shift) * -1))}.rating-change-heading-zone{color:#f2f5f9;letter-spacing:.075em;text-align:center;text-transform:uppercase;place-items:center;font-size:24px;font-weight:950;line-height:1;display:grid}.rating-change-state-zone{width:100%;min-width:0;height:100%;min-height:0;padding:var(--rating-change-state-inset-y) var(--rating-change-state-inset-x);contain:layout paint;place-items:center;display:grid;overflow:hidden}.rating-change-state-shape{width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;display:block;overflow:hidden}.rating-change-label-zone{width:100%;min-width:0;padding-inline:var(--rating-change-label-inset-x);color:#fff;font-size:var(--rating-change-label-size);letter-spacing:.025em;text-align:center;text-shadow:0 2px 3px #000000b8;text-transform:uppercase;white-space:nowrap;place-items:center;font-weight:950;line-height:1;display:grid}.rating-change-arrow{width:var(--rating-change-center-column);align-self:center;height:170px;display:block;overflow:visible}.rating-change-arrow-glow{fill:none;stroke:currentColor;stroke-width:12px;opacity:.2;filter:blur(7px)}.rating-change-why{background:#10161fe6;border:1px solid #3c4858;border-radius:6px;grid-template-columns:290px minmax(0,1fr);align-items:center;gap:26px;padding:18px 24px;display:grid}.rating-change-why h3{color:#fff;letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:23px;font-weight:950;line-height:1.15}.rating-change-why p{color:#fff;white-space:pre-wrap;overflow-wrap:anywhere;max-height:182px;margin:0;font-size:44px;font-weight:600;line-height:1.12}.rating-change-disclaimer{background:#460a1473;border:1px solid #8d2d39;border-radius:6px;align-items:center;margin:0;padding:16px 22px;display:flex}.rating-change-disclaimer p{color:#fff;margin:0;font-size:36px;font-weight:650;line-height:1.05}.rating-change-disclaimer strong{color:#fff;letter-spacing:.045em;text-transform:uppercase;font-weight:950}.elections-hero{padding-block:4rem 2.4rem}.elections-hero h1{margin-bottom:1rem}.elections-hero>p:last-child{max-width:48rem;color:var(--muted);font-size:1.05rem}.elections-hub{padding-bottom:5.5rem}.elections-coverage-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.elections-coverage-card{color:#b8b8b8;cursor:default;background:linear-gradient(145deg,#1b1b1b,#111);border:1px solid #363636;border-radius:.7rem;flex-direction:column;min-height:17rem;padding:1.5rem;display:flex}.elections-coverage-card>span{color:#aaa;letter-spacing:.13em;text-transform:uppercase;font-size:.7rem;font-weight:900}.elections-coverage-card h2{letter-spacing:-.035em;margin:1.2rem 0 .55rem;font-size:2rem}.elections-coverage-card p{color:#aaa}.elections-coverage-card>strong{border-top:1px solid var(--line);margin-top:auto;padding-top:1rem;font-size:.82rem}.elections-state-picker{border:1px solid var(--line);background:#0d1219;border-radius:.7rem;grid-template-columns:minmax(0,1fr) minmax(18rem,.7fr);align-items:end;gap:3rem;margin-top:1rem;padding:2rem;display:grid}.elections-state-picker h2{letter-spacing:-.04em;margin:0 0 .5rem;font-size:clamp(1.8rem,3vw,2.65rem)}.elections-state-picker p{max-width:39rem;color:var(--muted);margin:0}.elections-state-picker label{color:#dce5f1;letter-spacing:.09em;text-transform:uppercase;gap:.5rem;font-size:.72rem;font-weight:850;display:grid}.elections-state-picker select{width:100%;min-height:3.2rem;color:var(--text);font:inherit;background:#080b10;border:1px solid #3a4759;border-radius:.45rem;padding:.7rem 2.5rem .7rem .8rem;font-weight:750}.election-placeholder{align-content:center;justify-items:start;min-height:40rem;padding-block:4rem;display:grid}.election-placeholder h1{text-transform:uppercase;margin-bottom:1rem}.election-placeholder h2{margin:0 0 .8rem;font-size:clamp(1.5rem,3vw,2.35rem)}.election-placeholder>p:not(.eyebrow){max-width:46rem;color:var(--muted);font-size:1.04rem}.election-placeholder .button{margin-top:.7rem}.election-results-page{padding-block:2.2rem 4.5rem}.election-results-prototype-intro{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.5rem;display:flex}.election-results-prototype-intro h1{letter-spacing:-.055em;text-transform:uppercase;margin:0 0 .35rem;font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.05}.election-results-prototype-intro p:last-child{color:var(--muted);margin:.45rem 0 0}.election-results-test-panel{background:#0a0e14;border:1px dashed #566579;border-radius:.7rem;margin-bottom:1.2rem;padding:1.1rem}.election-results-test-heading{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1rem;display:flex}.election-results-test-heading h2{margin:0;font-size:1.25rem}.election-results-test-heading>span{color:var(--gold);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:850}.election-results-test-grid{grid-template-columns:1.1fr .9fr;gap:1rem;display:grid}.election-results-test-group{border:1px solid var(--line);background:var(--surface);border-radius:.55rem;padding:.9rem}.election-results-test-group h3{letter-spacing:.04em;text-transform:uppercase;margin:0 0 .75rem;font-size:.82rem}.election-results-test-group>p{color:var(--muted);margin:.6rem 0 0;font-size:.7rem}.election-results-test-group>.election-results-call-error{color:#ff9ca6;font-size:.76rem;font-weight:750}.election-results-vote-inputs{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.election-results-editorial-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.election-results-editorial-inputs label:last-child{grid-column:1/-1}.election-results-editorial-bar{grid-template-columns:repeat(4,minmax(9rem,1fr)) auto;align-items:end;gap:.7rem;display:grid}.election-results-editorial-bar label,.election-results-estimated-input{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;gap:.35rem;font-size:.68rem;font-weight:800;display:grid}.election-results-editorial-bar select,.election-results-estimated-input input{width:100%;min-height:2.85rem;color:var(--text);font:inherit;text-transform:none;letter-spacing:0;background:#111923;border:1px solid #344154;border-radius:.42rem;padding:.65rem .75rem}.election-results-editorial-bar select:disabled{color:#697383;cursor:not-allowed;opacity:.78;background:#0d1219;border-color:#29313d}.election-results-save-state{border:1px solid var(--line);min-height:2.85rem;color:var(--muted);white-space:nowrap;border-radius:.42rem;justify-content:center;align-items:center;gap:.45rem;padding:.55rem .75rem;display:flex}.election-results-save-state.is-saved{color:#74d99f}.election-results-save-state.is-error,.election-results-save-error,.election-results-call-error{color:#ff9ca6}.election-results-save-state button,.election-results-clock-actions button,.election-results-unsaved-dialog button{background:var(--surface-2);min-height:2.35rem;color:var(--text);cursor:pointer;border:1px solid #42516a;border-radius:.4rem;padding:.45rem .7rem;font-weight:800}.election-results-control-note,.election-results-save-error,.election-results-call-error{margin:.7rem 0 0;font-size:.75rem}.election-results-control-note{color:var(--muted)}.election-results-provider-test{margin-top:-.4rem}.election-results-estimated-input{max-width:13rem;margin-top:.8rem}.election-results-clock-actions{flex-wrap:wrap;gap:.55rem;margin:.7rem 0;display:flex}.election-results-unsaved-backdrop{z-index:1000;background:#03070cc7;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.election-results-unsaved-dialog{background:var(--surface);width:min(31rem,100%);box-shadow:var(--shadow);border:1px solid #56657a;border-radius:.65rem;padding:1.3rem}.election-results-unsaved-dialog h2{margin:0 0 .55rem;font-size:1.2rem}.election-results-unsaved-dialog p{color:var(--muted);line-height:1.55}.election-results-unsaved-dialog>div{justify-content:flex-end;gap:.6rem;display:flex}.election-results-unsaved-dialog button.danger{border-color:var(--red)}.election-results-vote-inputs label,.election-results-editorial-inputs label,.election-results-county-select{color:var(--muted);letter-spacing:.055em;text-transform:uppercase;gap:.4rem;font-size:.7rem;font-weight:800;display:grid}.election-results-vote-inputs input,.election-results-editorial-inputs input,.election-results-editorial-inputs select,.election-results-county-select select{background:var(--surface-2);width:100%;min-height:2.8rem;color:var(--text);font:inherit;letter-spacing:normal;text-transform:none;border:1px solid #3a4759;border-radius:.45rem;padding:.5rem .7rem;font-size:.86rem;font-weight:700}:is(.election-results-vote-inputs input:focus-visible,.election-results-editorial-inputs input:focus-visible,.election-results-editorial-inputs select:focus-visible,.election-results-county-select select:focus-visible){outline:3px solid var(--blue);outline-offset:2px}.election-results-disclaimer{border:1px solid #47556a;border-left:4px solid var(--gold);background:var(--surface-2);color:#dce5f1;border-radius:.55rem;margin:0 0 1.2rem;padding:.85rem 1rem;font-size:.88rem}.election-results-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:1.2rem;display:grid}.election-results-office-switcher{border:1px solid var(--line);background:var(--surface);border-radius:.55rem;gap:.35rem;margin:0 0 1.15rem;padding:.3rem;display:inline-flex}.election-results-office-switcher button{min-height:2.7rem;color:var(--muted);font:inherit;letter-spacing:.055em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.4rem;padding:.55rem 1rem;font-size:.78rem;font-weight:900}.election-results-office-switcher button[aria-selected=true]{background:var(--surface-2);color:var(--text);border-color:#526176}.election-results-office-switcher button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.election-results-card{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:.7rem;padding:1.35rem}.election-results-card-heading{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1.2rem;display:flex}.election-results-card-heading .eyebrow,.election-results-model-placeholder .eyebrow{color:var(--text)}.election-results-card-heading h2,.election-results-card-heading h3{letter-spacing:-.035em;margin:0;font-size:clamp(1.5rem,2.2vw,2.2rem);line-height:1.12}.election-results-card-heading h3{font-size:clamp(1.25rem,2vw,1.8rem)}.election-results-card-heading>span{color:var(--muted);white-space:nowrap;font-size:.72rem;font-weight:800}.election-results-card-heading .election-results-simulation-tag{color:var(--gold);letter-spacing:.08em;border:1px solid #4c3b23;border-radius:.3rem;padding:.2rem .45rem}.election-results-status{--status-accent:#d8e0ea;--status-highlight:#f5f8fc;--status-border:#465467;isolation:isolate;border:4px solid var(--status-border);background:var(--surface-2);border-radius:.5rem;align-content:center;gap:.55rem;min-height:4.6rem;margin-bottom:1.3rem;padding:1.05rem 1.15rem;display:grid;position:relative;overflow:hidden}.election-results-status.is-uncalled,.election-results-status.is-runoff{--status-border:#58687c}.election-results-status.is-called.party-democrat{--status-accent:var(--blue);--status-highlight:#9bdbff;--status-border:var(--blue)}.election-results-status.is-called.party-republican{--status-accent:var(--red);--status-highlight:#ff9aa4;--status-border:var(--red)}.election-results-status.is-called.party-independent{--status-accent:var(--independent);--status-highlight:#d9b0ff;--status-border:var(--independent)}.election-results-status.is-called.party-minor{--status-accent:var(--gold);--status-highlight:#ffe395;--status-border:var(--gold)}.election-results-status:is(.is-uncalled,.is-called,.is-runoff):before{--status-orbit-cw:0deg;--status-orbit-ccw:0deg;content:"";z-index:1;border-radius:inherit;background:conic-gradient(from var(--status-orbit-cw), transparent 0deg 340deg, var(--status-accent) 344deg, var(--status-highlight) 351deg 357deg, transparent 360deg), conic-gradient(from var(--status-orbit-ccw), transparent 0deg 340deg, var(--status-accent) 344deg, var(--status-highlight) 351deg 357deg, transparent 360deg);opacity:1;filter:drop-shadow(0 0 3px var(--status-highlight));pointer-events:none;-webkit-mask-composite:xor;padding:5px;animation:5s linear infinite election-results-status-orbit-cw,5s linear infinite election-results-status-orbit-ccw;position:absolute;inset:-4px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.election-results-status.is-uncalled .election-results-status-copy{color:#0000;-webkit-text-fill-color:transparent;background-image:linear-gradient(105deg,#0000 25%,#fff 50%,#0000 75%),linear-gradient(#dce4ee,#dce4ee);background-position:-100%,0 0;background-repeat:no-repeat;background-size:50% 100%,100% 100%;-webkit-background-clip:text;background-clip:text;animation:5s linear infinite election-results-status-sheen}@property --status-orbit-cw{syntax:"<angle>";inherits:false;initial-value:0deg}@property --status-orbit-ccw{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes election-results-status-orbit-cw{to{--status-orbit-cw:360deg}}@keyframes election-results-status-orbit-ccw{to{--status-orbit-ccw:-360deg}}@keyframes election-results-status-sheen{0%,50%{background-position:-100%,0 0}90%,to{background-position:200%,0 0}}.election-results-status-heading{justify-content:space-between;align-items:baseline;gap:.65rem 1rem;display:flex}.election-results-status strong{letter-spacing:.075em;font-size:clamp(.95rem,1.35vw,1.15rem);line-height:1.2}.election-results-status span{color:var(--muted);font-size:.85rem}.election-results-status .election-results-outcome{text-align:right}.election-results-status .election-results-outcome.party-democrat{color:var(--blue)}.election-results-status .election-results-outcome.party-republican{color:var(--red)}.election-results-status .election-results-outcome.party-independent{color:var(--independent)}.election-results-status .election-results-outcome.party-minor{color:var(--gold)}.election-results-candidates{gap:.75rem;min-width:0;display:grid}.election-results-candidate{border:1px solid var(--line);background:var(--surface-2);border-radius:.6rem;min-width:0;padding:1rem}.election-results-candidate.has-published-call{--winner-accent:var(--text);--winner-highlight:#fff;--winner-orbit:0deg;isolation:isolate;border-width:5px;position:relative}.election-results-candidate.has-published-call:after{content:"";z-index:1;border-radius:inherit;background:conic-gradient(from var(--winner-orbit), transparent 0deg 338deg, var(--winner-accent) 344deg, var(--winner-highlight) 352deg 358deg, transparent 360deg);filter:drop-shadow(0 0 3px var(--winner-highlight));pointer-events:none;-webkit-mask-composite:xor;padding:4px;animation:10s linear infinite election-results-winner-orbit;position:absolute;inset:-5px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.election-results-candidate.has-published-call.party-democrat{--winner-accent:var(--blue);--winner-highlight:#9bdbff;border-color:var(--blue);box-shadow:inset 5px 0 var(--blue);background:linear-gradient(95deg, #3fa9f526, var(--surface-2) 80%)}.election-results-candidate.has-published-call.party-republican{--winner-accent:var(--red);--winner-highlight:#ff9aa4;border-color:var(--red);box-shadow:inset 5px 0 var(--red);background:linear-gradient(95deg, #e21b2d26, var(--surface-2) 80%)}.election-results-candidate.has-published-call.party-independent{--winner-accent:var(--independent);--winner-highlight:#d9b0ff;border-color:var(--independent);box-shadow:inset 5px 0 var(--independent);background:linear-gradient(95deg, #b984e726, var(--surface-2) 80%)}.election-results-candidate.has-published-call.party-minor{--winner-accent:var(--gold);--winner-highlight:#ffe395;border-color:var(--gold);box-shadow:inset 5px 0 var(--gold);background:linear-gradient(95deg, #efbd3f1f, var(--surface-2) 80%)}@property --winner-orbit{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes election-results-winner-orbit{to{--winner-orbit:360deg}}.election-results-candidate-main{flex-wrap:wrap;align-items:center;gap:.75rem;min-width:0;display:flex}.election-results-totals{container-type:inline-size}@container (width<=500px){.election-results-candidate-main>.election-results-call{text-align:left;flex:1 0 100%;order:3;min-width:0;margin-left:0}.election-results-candidate-main>.election-results-call .election-results-call-visual{justify-items:start;min-width:0}.election-results-candidate-main>.election-results-call .election-results-call-designation{white-space:normal}}.election-results-avatar{--election-portrait-size:52px;border:1px solid var(--line);background:var(--surface);flex:0 0 52px;place-items:center;width:52px;height:52px;font-size:.84rem;font-weight:850;display:grid}.election-results-avatar.party-democrat{border-color:var(--blue-deep);color:var(--blue)}.election-results-avatar.party-republican{border-color:var(--red-deep);color:var(--red)}.election-results-avatar.party-independent{border-color:var(--independent-deep);color:var(--independent)}.election-results-avatar.party-minor{color:var(--gold);border-color:#766126}.election-results-avatar [data-slot=avatar-fallback]{background:0 0;place-items:center;width:100%;height:100%;display:grid}.election-results-candidate-identity{min-width:0}.election-results-candidate-identity>span{min-height:.9rem;color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:800;display:block}.election-results-candidate-identity h3{margin:.1rem 0 0;font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.15}.election-results-call{--call-color:var(--text);text-align:center;flex:none;min-width:max-content;margin-left:auto}.party-democrat .election-results-call{--call-color:var(--blue)}.party-republican .election-results-call{--call-color:var(--red)}.party-independent .election-results-call{--call-color:var(--independent)}.party-minor .election-results-call{--call-color:var(--gold)}.election-results-call-visual{place-items:center;min-width:max-content;display:grid;overflow:hidden}.election-results-call-designation{color:var(--call-color);letter-spacing:.055em;white-space:nowrap;grid-area:1/1;font-size:clamp(.82rem,1.1vw,1rem);font-weight:950;line-height:1.15}.election-results-candidate.has-published-call .election-results-call-designation{font-size:clamp(.88rem,1.15vw,1.05rem)}.election-results-call.is-single-winner .election-results-call-designation{color:#0000;background-image:linear-gradient(105deg, transparent 25%, #fff 50%, transparent 75%), linear-gradient(var(--call-color), var(--call-color));-webkit-text-fill-color:transparent;background-position:-100%,0 0;background-repeat:no-repeat;background-size:50% 100%,100% 100%;-webkit-background-clip:text;background-clip:text;animation:5s linear infinite election-results-call-sheen}.election-results-flip-badge{letter-spacing:.08em;white-space:nowrap;background-image:linear-gradient(105deg,#0000 25%,#ffffffd1 50%,#0000 75%);background-position:-100%;background-repeat:no-repeat;background-size:50% 100%;border-radius:.25rem;grid-area:1/1;justify-self:center;width:fit-content;padding:.2rem .48rem;font-size:.72rem;font-weight:950;line-height:1.15;color:#fff!important}.election-results-call.is-flip .election-results-call-visual{height:1.55rem}.election-results-call.is-flip .election-results-call-designation{animation:9s linear infinite election-results-flip-call-sheen,9s ease-in-out infinite election-results-call-phase}.election-results-call.is-flip .election-results-flip-badge{animation:9s ease-in-out infinite election-results-flip-phase,9s linear infinite election-results-flip-sheen}.election-results-call.is-compact{vertical-align:middle;margin-left:.35rem;display:inline-grid}.election-results-call.is-compact .election-results-call-designation{font-size:.62rem}.election-results-call.is-compact .election-results-flip-badge{padding:.13rem .32rem;font-size:.58rem}.election-results-call.is-compact.is-flip .election-results-call-visual{height:1.1rem}@keyframes election-results-call-sheen{0%,50%{background-position:-100%,0 0}90%,to{background-position:200%,0 0}}@keyframes election-results-flip-call-sheen{0%,27.778%{background-position:-100%,0 0}50%,to{background-position:200%,0 0}}@keyframes election-results-call-phase{0%,54.444%{opacity:1;transform:translateY(0)}55.556%{opacity:0;transform:translateY(-115%)}55.557%,98.889%{opacity:0;transform:translateY(115%)}to{opacity:1;transform:translateY(0)}}@keyframes election-results-flip-phase{0%,54.444%{opacity:0;transform:translateY(115%)}55.556%,98.889%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-115%)}}@keyframes election-results-flip-sheen{0%,77.778%{background-position:-100%}94.444%,to{background-position:200%}}.election-results-vote{white-space:nowrap;justify-items:end;margin-left:auto;display:grid}.election-results-call+.election-results-vote{margin-left:0}.election-results-percentage{justify-content:flex-end;align-items:baseline;gap:.4rem;display:flex}.election-results-percentage>span:first-child{color:var(--text);font-size:1.45rem;font-weight:800;line-height:1.1}.election-results-vote>span{color:var(--muted);font-size:.75rem}.election-results-delta{font-size:.68rem;font-weight:850;animation:1.05s both election-results-delta}.election-results-candidate.party-democrat .election-results-delta{color:var(--blue)}.election-results-candidate.party-republican .election-results-delta{color:var(--red)}.election-results-candidate.party-independent .election-results-delta{color:var(--independent)}.election-results-candidate.party-minor .election-results-delta{color:var(--gold)}.election-results-candidate.party-other .election-results-delta{color:#b8c2cf}@keyframes election-results-delta{0%{opacity:0;transform:translateY(2px)}15%,72%{opacity:1;transform:translateY(0)}to{opacity:0}}.election-results-vote-track{background:var(--line);border-radius:1rem;height:.27rem;margin-top:.8rem;overflow:hidden}.election-results-vote-track span{background:#8290a2;height:100%;transition:width .4s cubic-bezier(.2,.8,.2,1);display:block}.election-results-candidate.party-democrat .election-results-vote-track span{background:var(--blue)}.election-results-candidate.party-republican .election-results-vote-track span{background:var(--red)}.election-results-candidate.party-independent .election-results-vote-track span{background:var(--independent)}.election-results-candidate.party-minor .election-results-vote-track span{background:var(--gold)}.election-results-total-votes{color:var(--muted);margin:1.1rem 0 0;font-size:.82rem}.election-results-total-votes span{color:var(--text);font-variant-numeric:tabular-nums;font-weight:800}.election-results-map-card .election-results-card-heading{margin-bottom:.3rem}.election-results-map-note{color:var(--muted);margin:0 0 .8rem;font-size:.83rem}.election-results-map-stage{min-height:12rem;position:relative}.election-results-county-map{width:min(100%,31rem);max-height:36rem;margin-inline:auto;display:block;overflow:visible}.election-results-county{stroke:#101923;stroke-width:1.05px;vector-effect:non-scaling-stroke;cursor:pointer;transition:opacity .12s}:is(.election-results-county:hover,.election-results-county:focus-visible,.election-results-county.is-active){stroke:#fff;stroke-width:2.3px;outline:none}:is(.election-results-county:hover,.election-results-county:focus-visible){opacity:.87}.election-results-map-legend{color:var(--muted);flex-wrap:wrap;gap:.4rem .8rem;margin-top:.65rem;font-size:.7rem;display:flex}.election-results-map-legend span{align-items:center;gap:.32rem;display:inline-flex}.election-results-map-legend i{border-radius:.1rem;width:.55rem;height:.55rem;display:inline-block}.election-results-map-tooltip{z-index:4;box-sizing:border-box;pointer-events:none;background:#070a0ff5;border:1px solid #526176;border-radius:.5rem;gap:.35rem;width:15.5rem;min-width:0;padding:.75rem;display:grid;position:absolute;overflow:auto;transform:translateZ(0);box-shadow:0 12px 28px #00000073}.election-results-map-tooltip>strong{font-size:.9rem}.election-results-map-tooltip>span{color:var(--muted);font-size:.68rem}.election-results-map-tooltip>div{grid-template-columns:.5rem minmax(0,1fr) auto;align-items:center;gap:.35rem;font-size:.72rem;display:grid}.election-results-map-tooltip>strong,.election-results-map-tooltip>div>span{overflow-wrap:anywhere;min-width:0}.election-results-map-tooltip.is-touch{pointer-events:auto}.election-results-map-tooltip i,.election-results-county-line i{background:#9aa5b2;border-radius:50%;width:.45rem;height:.45rem}.election-results-map-tooltip .party-democrat i,.election-results-county-line.party-democrat i{background:var(--blue)}.election-results-map-tooltip .party-republican i,.election-results-county-line.party-republican i{background:var(--red)}.election-results-map-tooltip .party-independent i,.election-results-county-line.party-independent i{background:var(--independent)}.election-results-map-tooltip .party-minor i,.election-results-county-line.party-minor i{background:var(--gold)}.election-results-county-controls{align-items:end;gap:.7rem;margin-top:1rem;display:flex}.election-results-county-select{flex:1}.election-results-clear-county{color:#dce5f1;min-height:2.8rem;font:inherit;cursor:pointer;background:0 0;border:1px solid #3a4759;border-radius:.45rem;padding:.5rem .75rem;font-size:.75rem;font-weight:800}.election-results-clear-county:hover{border-color:var(--blue)}.election-results-clear-county:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.election-results-county-detail{border:1px solid var(--line);background:var(--surface-2);border-radius:.55rem;gap:.5rem;margin-top:.8rem;padding:1rem;display:grid}.election-results-county-detail>div{min-width:0}.election-results-county-detail>div:first-child{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:.5rem;padding-bottom:.35rem;display:flex}.election-results-county-detail>div:first-child strong{font-size:1.05rem}.election-results-county-detail>div:first-child span{color:var(--muted);font-size:.72rem}.election-results-county-line{flex-wrap:wrap;justify-content:space-between;gap:1rem;min-width:0;font-size:.8rem;display:flex}.election-results-county-line>span{flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0;display:inline-flex}.election-results-county-line small{color:var(--muted);font-size:inherit;font-weight:500}.election-results-county-line.has-statewide-call{padding-block:.12rem}.election-results-county-call-marker{width:1.15rem;height:1.15rem;color:var(--call-color,var(--text));cursor:help;border:1px solid;border-radius:50%;place-items:center;font-size:.65rem;font-weight:950;display:inline-grid}.election-results-county-line.party-democrat{--call-color:var(--blue)}.election-results-county-line.party-republican{--call-color:var(--red)}.election-results-county-line.party-independent{--call-color:var(--independent)}.election-results-county-line.party-minor{--call-color:var(--gold)}.election-results-model-placeholder{border:1px solid var(--line);background:var(--surface);border-radius:.7rem;margin-top:1.2rem;padding:1.4rem}.election-results-model-placeholder h2{margin:0 0 .35rem;font-size:1.25rem}.election-results-model-placeholder p:last-child{color:var(--muted);margin:0;font-size:.9rem}.election-coverage-notice{border:1px solid #e21b2db3;border-left:5px solid var(--red);background:linear-gradient(110deg,#e21b2d26,#e21b2d0a);border-radius:.65rem;margin:0 0 1.25rem;padding:1rem 1.15rem}.election-coverage-notice strong{color:#fff;letter-spacing:.065em;text-transform:uppercase;font-size:.92rem}.election-coverage-notice p{color:#d7dee8;max-width:70rem;margin:.35rem 0 0;font-size:.88rem;line-height:1.55}.election-national-dashboard{gap:1.15rem;min-width:0;padding-bottom:2rem;display:grid}.election-national-dashboard>*{min-width:0;max-width:100%}.election-national-controls{justify-content:space-between;align-items:end;gap:1.25rem;display:flex}.election-national-controls .election-results-office-switcher{gap:.45rem;padding:.4rem}.election-national-controls .election-results-office-switcher button{min-height:3.8rem;padding:.85rem 1.55rem;font-size:.9rem}.election-national-controls .election-results-office-switcher button[aria-selected=true]{color:#07090d;background:#f7f9fc;border-color:#fff;box-shadow:0 4px 16px #00000047}.election-national-controls .election-results-office-switcher button[aria-selected=false]{color:#aeb8c6;background:#0b0f15;border-color:#303b49}.election-national-state-select{gap:.4rem;width:min(100%,29rem);display:grid}.election-national-state-select>span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.election-national-state-select select{background:var(--surface-2);min-height:3.25rem;color:var(--text);border:1px solid #526176;border-radius:.5rem;padding:.75rem .9rem;font-size:.95rem}.election-national-state-select select:focus-visible{outline-offset:2px;outline:3px solid #3fa9f566}.election-national-visualization{border:1px solid var(--line);background:radial-gradient(circle at 58% 55%, #3fa9f50e, transparent 36rem), var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:.75rem;padding:1.25rem;position:relative;overflow:hidden}.election-national-visualization-heading h2{margin:.1rem 0 .25rem;font-size:clamp(1.65rem,3vw,2.25rem)}.election-national-visualization-heading p:last-child{color:var(--muted);margin:0;font-size:.85rem}.election-meter{border-top:1px solid var(--line);margin-top:1.15rem;padding-top:1rem}.election-meter-heading,.election-meter-totals{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.election-meter-heading h3{margin:.1rem 0 0;font-size:1.12rem}.election-meter-control{letter-spacing:.06em;font-size:.82rem}.election-meter-control.party-democrat{color:var(--blue)}.election-meter-control.party-republican{color:var(--red)}.election-meter-totals{margin:.8rem 0 .45rem;font-size:.8rem}.election-meter-totals span{color:var(--muted)}.election-meter-track-shell{padding-top:1.35rem;position:relative}.election-meter-midpoint{z-index:2;color:#d9e1ec;justify-items:center;font-size:.68rem;font-weight:900;line-height:1;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%)}.election-meter-midpoint:after{content:"";background:#d9e1ec;width:1px;height:.7rem;margin-top:.18rem;box-shadow:0 0 0 1px #07090db3}.election-meter-track{grid-template-columns:repeat(var(--meter-position-count), minmax(0, 1fr));background:0 0;border:0;border-radius:.22rem;gap:2px;width:100%;min-width:0;height:1.6rem;padding:0;display:grid;overflow:visible}.election-meter-seat{background:#748092;border:1px solid #ffffff21;border-radius:1px;width:auto;min-width:0;height:1.6rem;display:block}.election-meter-seat.party-democrat{background:var(--blue-deep)}.election-meter-seat.party-republican{background:var(--red-deep)}.election-meter-seat.party-independent{background:var(--independent-deep)}.election-meter-seat.is-called.party-democrat{background:var(--blue)}.election-meter-seat.is-called.party-republican{background:var(--red)}.election-meter-seat.is-called.party-independent{background:var(--independent)}.election-meter-seat.is-called{outline-offset:-1px;outline:1px solid #ffffffb8;position:relative}.election-meter-seat.is-flip{background-image:repeating-linear-gradient(45deg,#ffffffa6 0 2px,#0000 2px 5px)}.election-meter-seat.is-flip.party-democrat{background-image:repeating-linear-gradient(45deg, var(--blue-deep) 0 3px, var(--blue) 3px 6px)}.election-meter-seat.is-flip.party-republican{background-image:repeating-linear-gradient(45deg, var(--red-deep) 0 3px, var(--red) 3px 6px)}.election-meter-seat.is-flip.party-independent{background-image:repeating-linear-gradient(45deg, var(--independent-deep) 0 3px, var(--independent) 3px 6px)}.election-meter-note{color:var(--muted);margin:.55rem 0 0;font-size:.75rem}.election-national-map-stage{min-width:0;margin-top:.35rem;position:relative}.election-national-map{width:100%;max-height:38rem;display:block}.election-national-state{stroke:#d1d8e2;stroke-width:1.15px;cursor:default;transition:filter .12s,stroke-width .12s}g[role=button]>.election-national-state{cursor:pointer}g[data-election-state],g[data-election-state-shape]{outline:none}g[data-election-state]:hover>.election-national-state,.election-national-state.is-active{stroke:#fff;stroke-width:2.8px;filter:brightness(1.14)drop-shadow(0 0 4px #ffffff6b)}g[data-election-state]:focus-visible>.election-national-state{stroke:#fff;stroke-width:2.8px;filter:brightness(1.14)drop-shadow(0 0 4px #ffffff6b)}.election-national-state-flip{stroke:none;pointer-events:none}.election-national-map-labels{pointer-events:none}.election-national-map-label{fill:#f8fafc;stroke:#05070a;stroke-width:3px;paint-order:stroke fill;letter-spacing:.035em;font-size:13px;font-weight:900}.election-national-map-callout{outline:none}.election-national-map-callout line{stroke:#8d99a9;stroke-width:1.3px;pointer-events:none}.election-national-map-callout text{fill:#f8fafc;stroke:#05070a;stroke-width:2.5px;paint-order:stroke fill;letter-spacing:.035em;pointer-events:none;font-size:13px;font-weight:900}.election-national-callout-hit{fill:#0000;pointer-events:all}.election-national-callout-box{stroke:#cfd7e2;stroke-width:1.15px;pointer-events:none;transition:filter .12s,stroke-width .12s}.election-national-map-callout.is-selectable{cursor:pointer}.election-national-map-callout.is-selectable:hover .election-national-callout-box,.election-national-map-callout.is-active .election-national-callout-box{stroke:#fff;stroke-width:2.8px;filter:brightness(1.14)drop-shadow(0 0 4px #ffffff6b)}.election-national-map-callout.is-selectable:focus-visible .election-national-callout-box{stroke:#fff;stroke-width:2.8px;filter:brightness(1.14)drop-shadow(0 0 4px #ffffff6b)}.election-national-legend{border-block:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:.45rem .8rem;margin-top:.95rem;padding:.65rem .75rem;font-size:.68rem;display:flex}.election-national-legend-party,.election-national-legend-neutral{align-items:center;gap:.45rem;display:inline-flex}.election-national-legend-party{border-right:1px solid var(--line);padding-right:.75rem}.election-national-legend-party>strong{color:#fff;background:#202936;border-radius:50%;place-items:center;width:1.35rem;height:1.35rem;font-size:.7rem;display:grid}.election-national-legend span{white-space:nowrap;align-items:center;gap:.25rem;display:inline-flex}.election-national-legend i{background:#748092;border:1px solid #ffffff47;border-radius:.12rem;width:.72rem;height:.72rem}.election-national-legend .is-no-election{background:#343d49}.election-national-hover-card{z-index:8;pointer-events:none;background:#080b10f7;border:1px solid #68778c;border-radius:.55rem;gap:.45rem;width:min(19rem,100% - 1rem);padding:.8rem;display:grid;position:absolute;box-shadow:0 16px 38px #0000008c}.election-national-hover-kicker{color:var(--gold);letter-spacing:.055em;text-transform:uppercase;margin:0;font-size:.73rem;font-weight:900}.election-national-hover-status{color:#f6f8fb;font-size:.72rem}.election-national-hover-estimated{border-top:1px solid var(--line);color:#f2f5f9;margin:.15rem 0 0;padding-top:.45rem;font-size:.74rem;font-weight:750}.election-national-hover-estimated strong{color:#fff}.election-national-hover-instruction{color:#f7cf67;letter-spacing:.055em;text-transform:uppercase;background:#efbd3f1a;border:1px solid #7d6423;border-radius:.25rem;width:fit-content;margin-top:.1rem;padding:.2rem .42rem;font-size:.62rem;font-weight:900}:is(.election-national-hover-card,.election-national-state-dialog) .candidate-accent-democrat>span>strong{color:var(--blue)}:is(.election-national-hover-card,.election-national-state-dialog) .candidate-accent-republican>span>strong{color:var(--red)}:is(.election-national-hover-card,.election-national-state-dialog) .candidate-accent-independent>span>strong{color:var(--independent)}:is(.election-national-hover-card,.election-national-state-dialog) .candidate-accent-minor>span>strong{color:var(--gold)}.election-national-dialog-scrim{z-index:68;pointer-events:none;background:#03050861;position:fixed;inset:0}.election-national-state-dialog{z-index:70;top:50%;right:max(1.25rem, calc((100vw - var(--max-width)) / 2));background:#080b10fb;border:1px solid #718096;border-radius:.8rem;gap:.8rem;width:min(28rem,100vw - 2.5rem);max-height:min(82dvh,44rem);padding:1.15rem;display:grid;position:fixed;overflow-y:auto;transform:translateY(-50%);box-shadow:0 24px 70px #000000ad}.election-national-dialog-close{color:#fff;width:2.65rem;height:2.65rem;font:inherit;cursor:pointer;background:0 0;border:0;place-items:center;font-size:1.65rem;display:grid;position:absolute;top:.45rem;right:.5rem}.election-national-dialog-close:focus-visible{outline-offset:1px;border-radius:.35rem;outline:3px solid #3fa9f573}.election-national-dialog-heading{padding-right:2.5rem}.election-national-dialog-heading h3{letter-spacing:-.035em;margin:0 0 .2rem;font-size:1.7rem}.election-national-dialog-heading>strong{font-size:.75rem}.election-national-candidates{gap:.35rem;display:grid}.election-national-candidates>div{border-top:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.45rem 0;display:flex}.election-national-candidates span{gap:.12rem;display:grid}.election-national-candidates span:last-child{text-align:right}.election-national-candidates small{color:var(--muted);font-size:.65rem}.election-national-estimated{color:var(--muted);margin:0;font-size:.75rem}.election-national-flip{background:var(--red-deep);color:#fff;border-radius:.2rem;margin-left:.75rem;padding:.16rem .38rem;font-weight:900}.election-national-flip.party-democrat{background:var(--blue-deep)}.election-national-flip.party-independent{background:var(--independent-deep)}.election-national-state-dialog .button{width:fit-content}.election-admin-control-room{gap:1rem;display:grid}.election-admin-race-navigation{grid-template-columns:minmax(0,1fr) minmax(22rem,.8fr);align-items:end;gap:1rem;display:grid}.election-admin-race-navigation>div:last-child{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.election-admin-race-navigation label{gap:.32rem;display:grid}.election-admin-race-navigation label span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.election-admin-race-navigation select{border:1px solid var(--line);background:var(--surface-2);width:100%;min-height:2.8rem;color:var(--text);border-radius:.4rem;padding:.65rem}:root[data-theme=light] :is(.elections-page,.election-state-page){--surface:var(--surface-1);--surface-2:#f0f3f6;--line:var(--border);--line-soft:var(--border-soft);--text:var(--text-primary);--muted:var(--text-muted)}:root[data-theme=light] :is(.elections-page,.election-state-page) .interior-navigation-link{border-color:var(--border);background:var(--surface-1);color:var(--text-secondary)}:root[data-theme=light] :is(.elections-page,.election-state-page) .interior-navigation-link:hover{border-color:var(--focus-ring);background:var(--hover-surface);color:var(--text-primary)}:root[data-theme=light] :is(.elections-page,.election-state-page) .election-coverage-notice{background:linear-gradient(110deg,#b5122417,#ffffffb3);border-color:#b512246b #b512246b #b512246b #b51224}:root[data-theme=light] :is(.elections-page,.election-state-page) .election-coverage-notice strong{color:#8f1020}:root[data-theme=light] :is(.elections-page,.election-state-page) .election-coverage-notice p{color:var(--text-secondary)}:root[data-theme=light] :is(.elections-page,.election-state-page) .election-results-office-switcher{background:var(--surface-2)}:root[data-theme=light] :is(.elections-page,.election-state-page) .election-results-office-switcher button[aria-selected=true]{border-color:var(--border-strong);background:var(--surface-1);color:var(--text-primary);box-shadow:0 4px 12px #1f29371f}:root[data-theme=light] :is(.elections-page,.election-state-page) .election-results-office-switcher button[aria-selected=false]{color:var(--text-muted);background:0 0;border-color:#0000}:root[data-theme=light] :is(.elections-page,.election-state-page) .election-results-office-switcher button:focus-visible{outline-color:var(--focus-ring)}:root[data-theme=light] :is(.elections-page,.election-state-page) select:focus-visible{outline-color:var(--focus-ring)}:root[data-theme=light] :is(.elections-page,.election-state-page) button:focus-visible{outline-color:var(--focus-ring)}:root[data-theme=light] .elections-page .election-national-state-select select,:root[data-theme=light] .election-state-page .election-results-county-select select{border-color:var(--input-border);background:var(--input-bg);color:var(--text-primary)}:root[data-theme=light] .elections-page .election-national-visualization{background:radial-gradient(circle at 58% 55%, #075ea813, transparent 36rem), var(--surface-1)}:root[data-theme=light] .elections-page .election-meter-midpoint{color:var(--text-secondary)}:root[data-theme=light] .elections-page .election-meter-midpoint:after{background:var(--text-secondary);box-shadow:0 0 0 1px #ffffffd9}:root[data-theme=light] .elections-page .election-meter-seat{border-color:#11182729}:root[data-theme=light] .elections-page .election-meter-seat.is-called{outline-color:#11182766}:root[data-theme=light] .elections-page .election-national-map-stage{background:radial-gradient(circle at 58% 45%, #075ea812, transparent 34rem), var(--map-bg);border-radius:.6rem}:root[data-theme=light] .elections-page .election-national-state{stroke:var(--map-outline)}:root[data-theme=light] .elections-page g[data-election-state]:hover>.election-national-state,:root[data-theme=light] .elections-page .election-national-state.is-active{stroke:var(--map-outline-active);filter:brightness(1.08)drop-shadow(0 0 4px #11182747)}:root[data-theme=light] .elections-page g[data-election-state]:focus-visible>.election-national-state{stroke:var(--map-outline-active);filter:brightness(1.08)drop-shadow(0 0 4px #11182747)}:root[data-theme=light] .elections-page .election-national-map-label,:root[data-theme=light] .elections-page .election-national-map-callout text{fill:var(--map-label);stroke:var(--map-label-halo)}:root[data-theme=light] .elections-page .election-national-map-callout line{stroke:var(--map-callout-line)}:root[data-theme=light] .elections-page .election-national-callout-box{stroke:var(--map-outline)}:root[data-theme=light] .elections-page .election-national-map-callout:is(.is-selectable:hover,:focus-visible,.is-active) .election-national-callout-box{stroke:var(--map-outline-active);filter:brightness(1.08)drop-shadow(0 0 4px #11182742)}:root[data-theme=light] .elections-page .election-national-legend-party>strong{color:var(--text-primary);background:#dce4ec}:root[data-theme=light] .elections-page .election-national-legend i{border-color:#1118273d}:root[data-theme=light] .elections-page .election-national-hover-card{border-color:var(--border-strong);background:var(--tooltip-bg);color:var(--tooltip-text);box-shadow:0 16px 38px #1f293733}:root[data-theme=light] .elections-page .election-national-hover-kicker{color:var(--text-primary)}:root[data-theme=light] .elections-page .election-national-hover-status,:root[data-theme=light] .elections-page .election-national-hover-estimated{color:var(--text-secondary)}:root[data-theme=light] .elections-page .election-national-hover-estimated strong{color:var(--text-primary)}:root[data-theme=light] .elections-page .election-national-hover-instruction{color:#765400;border-color:#9a7410}:root[data-theme=light] .elections-page .election-national-dialog-scrim{background:var(--overlay)}:root[data-theme=light] .elections-page .election-national-state-dialog{border-color:var(--border-strong);background:var(--surface-elevated);color:var(--text-primary);box-shadow:0 24px 70px #1f293747}:root[data-theme=light] .elections-page .election-national-dialog-close{color:var(--text-primary)}:root[data-theme=light] .elections-page .button-primary,:root[data-theme=light] .election-state-page .button-primary{color:#fff;background:#172033;border-color:#172033}:root[data-theme=light] .elections-page .button-secondary,:root[data-theme=light] .election-state-page .button-secondary{border-color:var(--border-strong);background:var(--surface-1);color:var(--text-primary)}:root[data-theme=light] .election-state-page .election-results-disclaimer{border-color:var(--border-strong);background:var(--surface-2);color:var(--text-secondary)}:root[data-theme=light] .election-state-page .election-results-status:is(.is-uncalled,.is-runoff){--status-accent:#657384;--status-border:#8a98a8}:root[data-theme=light] .election-state-page .election-results-status.is-called.party-democrat{--status-accent:var(--blue);--status-highlight:#86d2ff;--status-border:var(--blue)}:root[data-theme=light] .election-state-page .election-results-status.is-called.party-republican{--status-accent:var(--red);--status-highlight:#ff8490;--status-border:var(--red)}:root[data-theme=light] .election-state-page .election-results-status.is-called.party-independent{--status-accent:var(--independent);--status-highlight:#cf9dff;--status-border:var(--independent)}:root[data-theme=light] .election-state-page .election-results-status.is-called.party-minor{--status-accent:var(--gold);--status-highlight:#ffdc74;--status-border:var(--gold)}:root[data-theme=light] .election-state-page .election-results-status:is(.is-uncalled,.is-runoff):before{opacity:.6;filter:none}:root[data-theme=light] .election-state-page .election-results-status.is-called:before{opacity:1}:root[data-theme=light] .election-state-page .election-results-status.is-uncalled .election-results-status-copy{background-image:linear-gradient(105deg,#0000 25%,#ffffffb3 50%,#0000 75%),linear-gradient(#374151,#374151)}:root[data-theme=light] .election-state-page .election-results-candidate{background:var(--surface-2)}:root[data-theme=light] .election-state-page .election-results-avatar{background:var(--surface-1)}:root[data-theme=light] .election-state-page .election-results-county-map{background:var(--map-bg);border-radius:.55rem}:root[data-theme=light] .election-state-page .election-results-county{stroke:var(--map-outline)}:root[data-theme=light] .election-state-page .election-results-county:is(:hover,:focus-visible,.is-active){stroke:var(--map-outline-active)}:root[data-theme=light] .election-state-page .election-results-map-tooltip{border-color:var(--border-strong);background:var(--tooltip-bg);color:var(--tooltip-text);box-shadow:0 12px 28px #1f293733}:root[data-theme=light] .election-state-page .election-results-clear-county{border-color:var(--input-border);color:var(--text-secondary)}:root[data-theme=light] .election-state-page .election-results-county-detail{background:var(--surface-2)}:root[data-theme=light] .election-state-page .election-results-candidate.party-democrat :is(.election-results-delta,.election-results-call-designation){--call-color:#075ea8;color:#075ea8}:root[data-theme=light] .election-state-page .election-results-candidate.party-republican :is(.election-results-delta,.election-results-call-designation){--call-color:#b51224;color:#b51224}:root[data-theme=light] .election-state-page .election-results-candidate.party-independent :is(.election-results-delta,.election-results-call-designation){--call-color:#6e2e9b;color:#6e2e9b}:root[data-theme=light] .election-state-page .election-results-candidate.party-minor :is(.election-results-delta,.election-results-call-designation){--call-color:#765400;color:#765400}:root[data-theme=light] .election-state-page .election-results-test-panel{border-color:var(--border-strong);background:var(--surface-2);color:var(--text-primary)}:root[data-theme=light] .election-state-page .election-results-test-group{border-color:var(--border);background:var(--surface-1)}:root[data-theme=light] .election-state-page .election-results-test-heading>span{color:#765400}:root[data-theme=light] .election-state-page :is(.election-results-editorial-bar select,.election-results-estimated-input input,.election-results-vote-inputs input,.election-results-editorial-inputs input,.election-results-editorial-inputs select,.election-results-county-select select){border-color:var(--input-border);background:var(--input-bg);color:var(--text-primary)}:root[data-theme=light] .election-state-page :is(.election-results-editorial-bar select,.election-results-editorial-inputs select,.election-results-county-select select) option{background:var(--input-bg);color:var(--text-primary)}:root[data-theme=light] .election-state-page :is(.election-results-editorial-bar select,.election-results-editorial-inputs select,.election-results-county-select select) option:disabled{color:var(--text-muted)}:root[data-theme=light] .election-state-page .election-results-editorial-bar select:disabled{border-color:var(--border-soft);background:var(--surface-2);color:var(--text-muted);opacity:1}:root[data-theme=light] .election-state-page :is(.election-results-editorial-bar select,.election-results-estimated-input input,.election-results-vote-inputs input,.election-results-editorial-inputs input,.election-results-editorial-inputs select,.election-results-county-select select):focus-visible{outline-color:var(--focus-ring)}:root[data-theme=light] .election-state-page :is(.election-results-save-state,.election-results-save-state button,.election-results-clock-actions button,.election-results-unsaved-dialog button){border-color:var(--input-border);background:var(--surface-1);color:var(--text-primary)}:root[data-theme=light] .election-state-page .election-results-save-state.is-saved{color:#187344}:root[data-theme=light] .election-state-page :is(.election-results-save-state.is-error,.election-results-save-error,.election-results-call-error){color:#b51224}:root[data-theme=light] .election-state-page :is(.election-results-save-state button,.election-results-clock-actions button,.election-results-unsaved-dialog button):hover{background:var(--hover-surface)}:root[data-theme=light] .election-state-page .election-results-unsaved-backdrop{background:var(--overlay)}:root[data-theme=light] .election-state-page .election-results-unsaved-dialog{border-color:var(--border-strong);background:var(--surface-elevated);color:var(--text-primary)}@media (max-width:940px){.election-results-layout{grid-template-columns:1fr}.election-results-county-map{max-height:34rem}.election-results-test-grid{grid-template-columns:1fr}.election-results-editorial-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.election-coverage-notice{padding:.8rem .9rem}.election-coverage-notice p{font-size:.8rem}.election-national-controls{display:grid}.election-national-controls .election-results-office-switcher{gap:.3rem;padding:.3rem}.election-national-controls .election-results-office-switcher button{min-height:3rem;padding:.62rem .7rem;font-size:.78rem}.election-national-state-select{width:100%}.election-national-state-select select{min-height:2.8rem;padding:.65rem .75rem;font-size:.85rem}.election-national-visualization{padding:.85rem}.election-meter-heading{flex-direction:column;align-items:flex-start}.election-meter-control{align-self:flex-start}.election-meter-track{gap:1px;height:1.45rem}.election-meter-seat{border-inline:0;width:auto;min-width:0;height:1.45rem}.election-meter-note{font-size:.68rem}.election-national-legend{gap:.5rem .7rem;padding-inline:.15rem}.election-national-legend-party{border-right:0;flex:calc(50% - .5rem);min-width:9rem;padding-right:0}.election-national-legend-neutral{border-top:1px solid var(--line-soft);width:100%;padding-top:.15rem}.election-national-hover-card{display:none}.election-national-state-dialog{top:auto;right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));width:auto;max-height:min(76dvh,38rem);transform:none}.election-national-state-dialog .button{width:100%}.election-admin-race-navigation,.election-admin-race-navigation>div:last-child{grid-template-columns:1fr}.election-results-page{padding-block:1.7rem 3rem}.election-results-prototype-intro{gap:1rem;display:grid}.election-results-test-heading{display:grid}.election-results-vote-inputs,.election-results-editorial-inputs,.election-results-editorial-bar{grid-template-columns:1fr}.election-results-editorial-inputs label:last-child{grid-column:auto}.election-results-card{padding:1rem}.election-results-office-switcher{grid-template-columns:1fr 1fr;width:100%;display:grid}.election-results-candidate{padding:.8rem}.election-results-candidate-main{flex-wrap:wrap;gap:.55rem}.election-results-avatar{--election-portrait-size:43px;flex-basis:43px;width:43px;height:43px}.election-results-candidate-main>.election-results-call{text-align:left;flex:1 0 100%;order:3;min-width:0;margin-left:0}.election-results-candidate-main>.election-results-call .election-results-call-visual{justify-items:start;min-width:0}.election-results-candidate-main>.election-results-call .election-results-call-designation{white-space:normal}.election-results-call .election-results-flip-badge{justify-self:start}.election-results-status-heading{flex-direction:column;align-items:flex-start}.election-results-status .election-results-outcome{text-align:left}.election-results-vote{margin-left:auto!important}.election-results-county-detail>div{min-width:0}.election-results-county-detail>div:first-child{display:grid}.election-results-county-map{max-height:none}.election-results-county-controls{flex-direction:column;align-items:stretch}}@media (hover:hover) and (pointer:fine){.election-results-map-tooltip.is-touch{display:none}}@media (prefers-reduced-motion:reduce){.election-results-delta{animation:none}.election-results-vote-track span{transition:none}.election-results-status:is(.is-uncalled,.is-called,.is-runoff):before,.election-results-candidate.has-published-call:after{animation:none;display:none}.election-results-status.is-uncalled .election-results-status-copy{color:var(--text);-webkit-text-fill-color:currentColor;background:0 0;animation:none}.election-results-call.is-single-winner .election-results-call-designation{color:var(--call-color);-webkit-text-fill-color:currentColor;background:0 0;animation:none}.election-results-call.is-flip .election-results-call-visual{justify-content:center;align-items:center;gap:.4rem;height:auto;display:flex;overflow:visible}.election-results-call.is-flip .election-results-call-designation,.election-results-call.is-flip .election-results-flip-badge{opacity:1;animation:none;transform:none}}@media (max-width:860px){.elections-coverage-grid{grid-template-columns:1fr 1fr}.elections-coverage-card:last-child{grid-column:1/-1}.elections-state-picker{grid-template-columns:1fr;gap:1.5rem}}@media (max-width:640px){.ratings-hero-actions{justify-content:stretch}.ratings-hero-actions .button{width:100%}.ratings-view-heading{flex-direction:column;align-items:start;gap:1rem}.ratings-view-heading .ratings-create-graphic{width:100%}.interactive-map-actions{grid-template-columns:1fr;align-items:stretch;width:100%;display:grid}.interactive-version-badge{justify-content:center}.feature-promo-card{gap:1.5rem;padding:1.35rem;display:grid}.feature-promo-card .button{width:100%}.elections-coverage-grid{grid-template-columns:1fr}.elections-coverage-card:last-child{grid-column:auto}.elections-coverage-card{min-height:13rem}.elections-state-picker{padding:1.25rem}.ratings-graphic-dialog[data-slot=dialog-content]{max-height:calc(100dvh - 1rem);width:calc(100vw - 1rem)!important;padding:1rem!important}.ratings-graphic-dialog [data-slot=dialog-footer]{grid-template-columns:1fr 1fr;display:grid}.ratings-graphic-dialog [data-slot=dialog-footer] .button{width:100%}}.poll-graphic-dialog{border:1px solid var(--border);background:var(--surface-1);width:min(1150px,95vw);max-height:95vh;color:var(--text-primary);border-radius:.65rem;margin:auto;padding:20px;overflow:auto}.poll-graphic-dialog::backdrop{background:var(--overlay)}.poll-graphic-preview{max-width:1100px;margin:auto}.poll-graphic-preview img{width:auto;max-width:100%;height:auto;max-height:calc(95vh - 116px);max-height:calc(95dvh - 116px);margin-inline:auto;display:block}.poll-graphic-actions{flex-wrap:wrap;gap:.65rem;margin-top:16px;display:flex}.button.poll-graphic-download{color:#080a0e;cursor:pointer;background:#fff;border-color:#fff}.button.poll-graphic-close{color:#f7f9fc;cursor:pointer;background:#141a23;border-color:#465264}.poll-graphic-actions .button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}:root[data-theme=light] .button.poll-graphic-download{color:#fff;background:#0969b4;border-color:#0969b4}:root[data-theme=light] .button.poll-graphic-close{color:#111827;background:#fff;border-color:#8a98a8}@media (max-width:640px){.poll-graphic-preview img{max-height:calc(95vh - 162px);max-height:calc(95dvh - 162px)}.poll-graphic-dialog{padding:12px}.poll-graphic-actions .button{flex:100%;min-width:0}}.primary-nav{gap:clamp(1rem,1.7vw,2rem);margin-left:auto}.primary-nav>a,.midterms-nav>summary{white-space:nowrap}.midterms-nav{position:relative}.midterms-nav>summary{cursor:pointer;color:var(--nav-text);letter-spacing:.02em;font-size:.91rem;font-weight:750;list-style:none}.midterms-nav>summary::-webkit-details-marker{display:none}.midterms-nav summary span{margin-left:.2rem;font-size:.8em}.midterms-nav ul{border:1px solid var(--border);background:var(--surface-1);min-width:13rem;box-shadow:var(--shadow);border-radius:.6rem;margin:0;padding:.5rem;list-style:none;position:absolute;top:calc(100% + 1rem);left:0}.midterms-nav li a{border-radius:.3rem;padding:.75rem .85rem;display:block}:is(.midterms-nav li a:hover,.midterms-nav li a:focus-visible){background:var(--hover-surface)}.midterms-nav li a:after{display:none}.primary-nav .support-nav-cta{isolation:isolate;transition:background .15s;transform:none}.primary-nav .support-nav-cta:hover{transform:none}@property --support-orbit-blue{syntax:"<angle>";inherits:false;initial-value:0deg}@property --support-orbit-red{syntax:"<angle>";inherits:false;initial-value:180deg}.primary-nav .support-nav-cta:before{content:"";border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--support-orbit-blue),transparent 0deg 329deg,#1687db 340deg 356deg,transparent 360deg),conic-gradient(from var(--support-orbit-red),transparent 0deg 329deg,#e21b2d 340deg 356deg,transparent 360deg);-webkit-mask-composite:xor;padding:2px;animation:8s linear infinite support-trace-blue,8s linear infinite support-trace-red;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes support-trace-blue{to{--support-orbit-blue:360deg}}@keyframes support-trace-red{to{--support-orbit-red:-180deg}}@media (prefers-reduced-motion:reduce){.primary-nav .support-nav-cta:before{background:linear-gradient(110deg,#1687db 0% 48%,#e21b2d 52% 100%);animation:none}}.publication-archive,.article-public-page,.article-editor-page,.article-management{padding-block:3rem 5rem}.article-page-heading{justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;display:flex}.article-page-heading h1{letter-spacing:-.045em;margin:.5rem 0;font-size:clamp(2.1rem,4vw,3.3rem);line-height:1.1}.article-page-heading p{color:var(--text-muted);margin:.7rem 0 0}.article-section{color:var(--link);text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:850}.article-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.article-button{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#0969b4;border:1px solid #1687db;border-radius:.45rem;justify-content:center;align-items:center;padding:.7rem 1rem;font-size:.85rem;font-weight:800;text-decoration:none;display:inline-flex}.article-button.secondary{background:var(--surface-1);border-color:var(--border-strong);color:var(--text-primary)}.article-button:disabled{opacity:.55;cursor:wait}.article-button:hover{filter:brightness(1.08)}.article-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.archive-grid{border-top:1px solid var(--border);grid-template-columns:220px minmax(0,1fr);gap:3rem;padding-top:2rem;display:grid}.archive-sidebar nav{gap:.3rem;display:grid}.archive-sidebar nav a{color:var(--text-secondary);border-radius:.35rem;padding:.7rem .9rem;font-weight:750;text-decoration:none}.archive-sidebar nav a[aria-current=page]{background:var(--selected-surface);color:var(--text-primary);border-left:3px solid var(--blue)}.archive-index{border-top:1px solid var(--border);margin-top:2rem;padding-top:1rem}.archive-index summary{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);cursor:pointer;font-size:.8rem}.archive-index ol{padding:0;list-style:none}.archive-index li{margin-block:1.2rem;font-size:.85rem;line-height:1.45}.archive-index li a{font-weight:700;text-decoration:none}.archive-index time{color:var(--text-muted);margin-top:.4rem;font-size:.72rem;display:block}.publication-empty{border:1px solid var(--border-soft);background:var(--surface-1);border-radius:.65rem;flex-direction:column;justify-content:center;align-items:flex-start;min-height:330px;padding:2rem 2.5rem;display:flex}.publication-empty-rule{background:linear-gradient(90deg,var(--blue),var(--red));width:48px;height:3px;margin-bottom:1.6rem}.publication-empty h2{margin:0 0 .4rem;font-size:1.6rem}.publication-empty p{color:var(--text-muted);margin:0}.archive-story{border-bottom:1px solid var(--border);grid-template-columns:210px minmax(0,1fr);gap:1.4rem;margin-bottom:2rem;padding-bottom:2rem;display:grid}.archive-story.is-featured{display:block}.archive-story-image{aspect-ratio:1200/630;background:var(--surface-2);border-radius:.45rem;display:block;overflow:hidden}.archive-story img{object-fit:cover;width:100%;height:100%;display:block}.archive-story.is-featured .archive-story-image{margin-bottom:1.4rem}.archive-story h2{margin:.6rem 0;font-family:Georgia,Times New Roman,serif;font-size:1.6rem;line-height:1.25}.archive-story.is-featured h2{font-size:2.3rem}.archive-story h2 a{text-decoration:none}.archive-story p{color:var(--text-secondary);margin:.7rem 0}.archive-story time{color:var(--text-muted);font-size:.8rem}.article-breadcrumb{color:var(--text-muted);flex-wrap:wrap;gap:.7rem;margin-bottom:2.3rem;font-size:.83rem;display:flex}.publication-article{max-width:1100px;margin-inline:auto}.article-heading{max-width:920px;margin-inline:auto}.article-heading h1{letter-spacing:-.035em;margin:.8rem 0 1.3rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.35rem,4.8vw,4.2rem);line-height:1.08}.article-deck{color:var(--text-secondary);margin:0 0 1.65rem;font-size:1.23rem;line-height:1.65}.article-byline{align-items:center;gap:.8rem;display:flex}.article-byline img{object-fit:cover;object-position:center;border-radius:50%;flex:0 0 48px;width:48px;height:48px;display:block}.article-byline>div{flex-direction:column;gap:3px;display:flex}.article-author-name{font:italic 1.12rem/1.25 Georgia,Times New Roman,serif}.article-byline strong{font-size:.85rem;font-weight:850;line-height:1.3}.article-publication-date{color:var(--text-muted);margin:1rem 0 1.8rem;font-size:.78rem}.article-hero{aspect-ratio:1200/630;background:var(--surface-2);border-radius:.35rem;width:100%;margin:0 0 2.8rem;overflow:hidden}.article-hero img{width:100%;height:100%;display:block}.article-body{overflow-wrap:anywhere;max-width:720px;margin-inline:auto;font:1.15rem/1.85 Georgia,Times New Roman,serif}.article-body p{white-space:pre-wrap;margin:0 0 1.4rem}.article-body h2,.article-body h3{margin:2.2rem 0 1rem;line-height:1.3}.article-body h2{font-size:1.8rem}.article-body h3{font-size:1.35rem}.article-body a{color:var(--link);text-underline-offset:3px}.article-body blockquote{border-left:3px solid var(--blue);color:var(--text-secondary);margin:1.8rem 0;padding:.4rem 0 .4rem 1.4rem;font-style:italic}.article-body li{margin-block:.4rem;padding-left:.3rem}.article-editor-grid{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:2rem;display:grid}.article-editor-fields,.article-editor-media{border:1px solid var(--border);background:var(--surface-1);border-radius:.6rem;min-width:0;padding:1.5rem}.article-editor-page label{margin-bottom:1rem;font-size:.85rem;font-weight:750;display:block}.article-editor-page input:not([type=checkbox]),.article-editor-page select,.article-editor-page textarea{border:1px solid var(--input-border);width:100%;min-height:44px;color:var(--text-primary);background:var(--input-bg);font:inherit;border-radius:.4rem;margin-top:.4rem;padding:.65rem .7rem;display:block}.article-editor-page textarea{resize:vertical}.article-editor-page input:disabled,.article-editor-page select:disabled{opacity:.65}.article-editor-page input[type=range]{padding:0}.article-editor-page .article-checkbox{align-items:center;gap:.7rem;display:flex}.article-field-help{color:var(--text-muted);overflow-wrap:anywhere;font-size:.8rem}.article-editor-media h2{margin:0 0 .7rem;font-size:1.2rem}.article-editor-media h2:not(:first-child){margin-top:2rem}.article-editor-media p{color:var(--text-secondary);font-size:.85rem}.article-hero-crop{aspect-ratio:1200/630;background:var(--surface-2);border-radius:.35rem;margin-block:1rem;overflow:hidden}.article-hero-crop img{width:100%;height:100%;display:block}.rich-editor{border:1px solid var(--input-border);border-radius:.4rem;overflow:hidden}.rich-toolbar{background:var(--surface-2);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.3rem;padding:.5rem;display:flex}.rich-toolbar button,.rich-toolbar select{border:1px solid var(--border-strong);min-height:40px;color:var(--text-primary);background:var(--surface-1);font:inherit;cursor:pointer;border-radius:.3rem;padding:.4rem .6rem;font-size:.8rem}.article-editor-page .rich-toolbar select{width:auto;margin:0}.rich-editable{min-height:390px;padding:1.2rem;font-size:1.05rem}.rich-editable:focus{outline:2px solid var(--focus-ring);outline-offset:-2px}.rich-link-controls{background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:.7rem;padding:1rem;display:flex}.rich-link-controls label{flex:230px;margin:0}.article-editor-actions{z-index:5;background:var(--surface-1);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:.5rem;margin-top:1.5rem;padding:1rem;position:sticky;bottom:0}.article-editor-actions>span{color:var(--text-muted);margin-left:auto;font-size:.8rem}.article-error,.article-notice,.article-preview-notice{border:1px solid var(--border);border-left:3px solid var(--blue);background:var(--surface-2);color:var(--text-primary);border-radius:.3rem;padding:.85rem 1rem}.article-error{border-left-color:var(--red)}.article-published-link{border:1px solid var(--border);border-radius:.4rem;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.article-published-link>a{color:var(--link);overflow-wrap:anywhere}.article-published-link span{font-size:.8rem;font-weight:750}.article-confirm-dialog,.article-preview-dialog{background:var(--page-bg);color:var(--text-primary);border:1px solid var(--border-strong);box-shadow:var(--shadow);border-radius:.75rem}.article-confirm-dialog{width:calc(100% - 2rem);max-width:480px;padding:1.7rem}.article-confirm-dialog h2{margin-top:0;font-size:1.5rem;line-height:1.25}.article-confirm-dialog .article-actions{justify-content:flex-end;margin-top:1.4rem}.article-preview-dialog{width:min(1200px,100% - 2rem);max-height:94dvh;padding:1.5rem}.article-confirm-dialog::backdrop{background:var(--overlay)}.article-preview-dialog::backdrop{background:var(--overlay)}.article-preview-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.article-preview-notice{margin-bottom:2rem;font:.85rem/1.5 ui-sans-serif,system-ui}.article-hero-empty{min-height:240px;color:var(--text-muted);border:1px dashed var(--border);place-content:center;margin-bottom:2rem;display:grid}.article-url-warning{color:var(--text-secondary);font-weight:700}.article-management-row{border:1px solid var(--border);background:var(--surface-1);border-radius:.5rem;margin-top:1.5rem;padding:1.5rem}.article-management-title{justify-content:space-between;align-items:center;gap:1rem;display:flex}.article-status{border:1px solid var(--border);color:var(--text-secondary);border-radius:.3rem;padding:.25rem .55rem;font-size:.75rem}.article-management-row h2{margin:.7rem 0 1rem;font-size:1.35rem}.article-management-row dl{flex-wrap:wrap;gap:1rem 2rem;margin:0 0 1.3rem;display:flex}.article-management-row dt{color:var(--text-muted);font-size:.72rem}.article-management-row dd{margin:.2rem 0 0;font-size:.85rem}@media (min-width:1001px) and (max-width:1250px){.primary-nav{gap:1rem}.primary-nav>a,.midterms-nav>summary{font-size:.83rem}}@media (max-width:1000px){.header-inner{gap:1rem;min-height:4.6rem}.brand .theme-site-logo{width:min(15rem,100vw - 7rem)}.menu-button{flex:0 0 44px;width:44px;height:44px;display:block}.primary-nav{overscroll-behavior:contain;background:var(--mobile-nav-bg);border-bottom:1px solid var(--border);max-height:calc(100dvh - 4.6rem);box-shadow:var(--shadow);align-items:stretch;gap:0;margin-left:0;padding:.65rem 1.25rem 1rem;display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;overflow-y:auto}.primary-nav.is-open{display:grid}.primary-nav>a{border-bottom:1px solid var(--border-soft);padding:.78rem 0}.primary-nav a:after{display:none}.midterms-nav>summary{border-bottom:1px solid var(--border-soft);padding:.85rem 0}.midterms-nav ul{border:0;border-left:2px solid var(--border);box-shadow:none;background:0 0;border-radius:0;min-width:0;margin:.7rem 0 .7rem .25rem;padding:0 .7rem;position:static}.midterms-nav li a{border:0;padding:.65rem .5rem}.primary-nav .support-nav-cta{width:100%;min-height:3rem;margin:.55rem 0 .15rem;padding:.72rem 1rem}.theme-toggle-desktop{display:none}.theme-toggle-mobile{justify-content:flex-start;gap:.7rem;width:100%;margin-top:.45rem;padding:.75rem;display:flex}.article-editor-grid{grid-template-columns:minmax(0,1fr)}.article-editor-media{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 1.5rem;display:grid}.article-editor-media h2,.article-editor-media>p,.article-hero-crop{grid-column:1/-1}}@media (max-width:700px){.publication-archive,.article-public-page,.article-editor-page,.article-management{padding-block:2rem 3rem}.article-page-heading{flex-direction:column;align-items:flex-start}.archive-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}.archive-sidebar nav{flex-wrap:wrap;display:flex}.archive-index{margin-top:1rem}.archive-index ol{max-height:180px;overflow-y:auto}.archive-index li{margin-block:.7rem}.publication-empty{min-height:250px;padding:1.5rem}.archive-story{grid-template-columns:minmax(0,1fr)}.archive-story.is-featured h2{font-size:1.9rem}.article-heading h1{font-size:2.3rem}.article-deck{font-size:1.05rem}.article-body{font-size:1.05rem;line-height:1.8}.article-hero{margin-bottom:2rem}.article-editor-fields,.article-editor-media{padding:1rem}.article-editor-media{display:block}.article-editor-actions{padding:.7rem}.article-editor-actions>span{flex-basis:100%;margin:0}.article-editor-actions button{flex:1}.article-preview-dialog{width:calc(100% - 1rem);padding:1rem}.article-preview-toolbar{font-size:.85rem}.article-preview-toolbar button{padding:.5rem .65rem}.article-management-row{padding:1rem}}.article-hero.has-caption{aspect-ratio:auto;background:0 0;overflow:visible}.article-hero.has-caption img{aspect-ratio:1200/630;border-radius:inherit;background:var(--surface-2);height:auto}.article-image-caption{color:var(--text-muted);overflow-wrap:anywhere;margin:.7rem 0 0;font:.85rem/1.55 ui-sans-serif,system-ui,sans-serif}.election-state-heading{align-items:center}.election-state-identity{flex:1;min-width:0}.election-state-identity h1{overflow-wrap:anywhere}.election-state-selector{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;flex:0 0 16rem;gap:.5rem;font-size:.7rem;font-weight:800;display:grid}.election-state-selector select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:2.9rem;color:var(--text);font:inherit;text-transform:none;letter-spacing:0;border-radius:.45rem;padding:.65rem .8rem;font-size:.9rem}.election-state-selector select:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.mobile-state-select-label{display:none}.election-inline-editorial{border-style:solid;border-color:var(--line);background:var(--surface)}.election-inline-editorial .election-results-editorial-bar{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.election-inline-editorial .election-results-test-heading{gap:.8rem}.election-inline-editorial .election-results-test-heading h2{font-size:1.05rem}.election-inline-editorial .election-results-control-note{overflow-wrap:anywhere;font-size:.72rem}.election-inline-call-options{margin-top:.85rem}.election-inline-call-options summary{cursor:pointer;font-size:.8rem;font-weight:800}.election-inline-call-options>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:.7rem;display:grid}.election-inline-call-options label{color:var(--muted);gap:.35rem;font-size:.72rem;font-weight:800;display:grid}.election-inline-call-options select{border:1px solid var(--line);background:var(--surface-2);width:100%;min-height:2.8rem;color:var(--text);font:inherit;border-radius:.4rem;padding:.6rem}.election-call-confirmation{border:1px solid var(--line);background:var(--surface);width:min(31rem,100% - 2rem);color:var(--text);box-shadow:var(--shadow);border-radius:.65rem;padding:1.3rem}.election-call-confirmation::backdrop{background:#03070cc7}.election-call-confirmation h2{margin:0 0 .65rem;font-size:1.25rem}.election-call-confirmation p{line-height:1.55}.election-confirm-race{font-weight:800}.election-call-confirmation>div{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}.election-call-confirmation button{border:1px solid var(--line);background:var(--surface-2);min-height:2.75rem;color:var(--text);font:inherit;cursor:pointer;border-radius:.4rem;padding:.6rem .8rem;font-weight:800}.election-call-confirmation button.danger{border-color:var(--red)}.election-call-confirmation button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}@media (max-width:900px){.election-state-heading{gap:1.1rem;display:grid}.election-state-selector{width:100%}.desktop-state-select-label{display:none}.mobile-state-select-label{display:inline}}@media (max-width:640px){.election-inline-editorial .election-results-editorial-bar,.election-inline-call-options>div{grid-template-columns:1fr}.election-inline-editorial .election-results-save-state{justify-self:start}}.local-election-actions,.local-election-inputs{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.local-election-inputs label{gap:4px;max-width:100%;display:grid}.local-election-inputs input{width:190px;max-width:100%}.local-png-inspection{border:1px solid var(--line,#334155);overflow-wrap:anywhere;margin:16px 0;padding:16px}@media (min-width:1001px){.election-state-page .election-results-prototype>.georgia-sequence>.georgia-sequence-stage,.election-state-page .election-results-prototype>.instruction-one-public>.instruction-one,.election-state-page .election-results-prototype>.instruction-two-public>.instruction-two{width:min(100%,885px,124.444vh,177.778vh - 320px);aspect-ratio:16/9;width:min(100%,885px,124.444svh,177.778svh - 320px);margin-inline:auto}}
