:root{color-scheme:dark;--el-bg:#070b13;--el-panel:#101827;--el-border:#29354a;--el-muted:#a9b5c9;--el-blue:#59b6ff;--el-red:#ef6576}
*{box-sizing:border-box}body{margin:0;background:var(--el-bg);color:#edf3fe;font:14px Inter,Arial,sans-serif}a{color:inherit}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid #91d2ff;outline-offset:3px}button{border:1px solid #3c597c;background:#142a43;color:#d2e8ff;border-radius:5px;min-height:42px;padding:9px 12px;font-size:11px}button:hover{background:#1d3b5d}button:disabled{opacity:.6;cursor:default}.navbar{background:#0b111d}.nav-links{display:flex;gap:22px;overflow-x:auto;padding:14px 24px;white-space:nowrap}.nav-links a{font-size:11px;font-weight:800;text-decoration:none;color:var(--el-muted)}.nav-links [aria-current]{color:var(--el-blue)}.election-mobile-header,.election-mobile-nav{display:none}
#election-page{max-width:1500px;margin:auto;padding:0 24px 44px}.election-stripe{height:4px;background:linear-gradient(90deg,#bf4d60 0 33.3%,#e0e8f4 33.3% 66.6%,#308bd3 66.6%);margin:0 -24px 27px}.election-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:25px}.election-eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--el-blue);font-weight:800}h1{font-size:36px;margin:6px 0 9px;letter-spacing:-1px}h2{font-size:17px;margin:0 0 8px}h3{font-size:14px;margin:0 0 12px}p{line-height:1.6;margin:8px 0}.election-intro>div>p:last-child{color:var(--el-muted);font-size:12px}.election-state{flex-shrink:0;border:1px solid #61718c;border-radius:5px;padding:11px 15px;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:1px}.election-panel{min-width:0;border:1px solid var(--el-border);border-radius:9px;background:var(--el-panel);padding:20px}.election-top{display:grid;grid-template-columns:minmax(0,3fr) minmax(230px,1fr);gap:18px}.election-panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.election-muted,[data-reference-status],[data-results-status],[data-poll-status]{font-size:11px;color:var(--el-muted)}.election-compositions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}.election-compositions article{min-width:0;padding:0 15px 0 0;border-right:1px solid var(--el-border)}.election-compositions article:last-child{border:0;padding:0}.election-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.election-counts>div{display:flex;justify-content:space-between;align-items:baseline;gap:6px;font-size:10px}.election-counts strong{font-size:18px;font-variant-numeric:tabular-nums}.election-counts .Republican{color:#ff8b99}.election-counts .Democratic{color:#71c2ff}.election-counts .Independent,.election-counts .Other{color:#c2b9e2}.election-composition-bar{display:flex;height:6px;border-radius:2px;overflow:hidden;background:#536073}.election-composition-bar span{height:100%}.election-composition-bar .Republican{background:#dc5368}.election-composition-bar .Democratic{background:#258fde}.election-composition-bar .Independent{background:#a79ac8}.election-composition-bar .Other{background:#cead64}.election-sources{font-size:10px;line-height:1.7;overflow-wrap:anywhere}.election-sources a{color:#8dcaff}.election-top-races{background:linear-gradient(140deg,#172b46,#101827);display:flex;flex-direction:column;justify-content:center}.election-top-races>p:not(.election-eyebrow){font-size:12px;color:var(--el-muted)}.election-polls{margin:18px 0}.election-poll-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:15px}.election-poll-row{padding:12px;border-left:3px solid #408ec6;background:#0c1422;font-size:12px;min-width:0}.election-poll-row strong{display:block;margin-bottom:6px}.election-poll-row p{font-size:11px}.election-polls details{font-size:11px;margin-top:14px;color:var(--el-muted)}summary{cursor:pointer;min-height:32px;line-height:1.6}.election-columns{display:grid;grid-template-columns:minmax(220px,1fr) minmax(330px,2fr) minmax(230px,1fr);gap:18px;align-items:start}.election-market{border-top:1px solid var(--el-border);padding:15px 0}.election-market h3{margin:0 0 7px;font-size:12px}.election-market [data-price]{font-size:21px;font-weight:800;font-variant-numeric:tabular-nums}.election-market [data-change]{font-size:12px;margin:6px 0}.election-market [data-source],.election-market [data-market-note]{font-size:10px;color:var(--el-muted);line-height:1.6;margin:5px 0;overflow-wrap:anywhere}.election-up{color:#50dfa2}.election-down{color:#ff7e8e}.election-neutral{color:var(--el-muted)}.election-tabs{display:flex;gap:8px;margin:20px 0;border-bottom:1px solid var(--el-border);padding-bottom:12px}.election-tabs button{flex:1;background:#0c1422;color:var(--el-muted)}.election-tabs [aria-selected=true]{border-color:#5fb5f5;color:#fff;background:#1c4062}#election-office{text-align:center;min-height:270px;padding:24px 8px}.election-awaiting-icon{font-size:27px;color:#3e6086;margin-bottom:20px}.election-result-title{font-size:20px;font-weight:700}.election-news-item{padding:15px 0;border-bottom:1px solid var(--el-border);overflow-wrap:anywhere}.election-news-item>a,.election-news-item>strong{font-size:13px;line-height:1.6;text-decoration:none;display:block}.election-news-item>a:hover{text-decoration:underline}.election-news-item p{font-size:10px;color:var(--el-muted)}[data-news-more]{margin-top:14px}.election-footnote{margin-top:20px}.dt-legal-footer{padding:20px 24px 35px;text-align:center;color:var(--el-muted);font-size:11px;line-height:1.8}.dt-legal-footer a{color:#a0c9ee}.dt-page-ad-space{margin-top:24px}.election-panel [hidden]{display:none}
@media(max-width:1100px){.election-top{grid-template-columns:minmax(0,1fr)}.election-top-races{display:block}.election-columns{grid-template-columns:minmax(210px,1fr) minmax(0,2fr)}.election-news-panel{grid-column:1/-1}.election-compositions{gap:12px}.election-counts strong{font-size:16px}}
@media(max-width:767px){.dt-chrome,.navbar{display:none}.election-mobile-header{display:block;background:linear-gradient(180deg,#153655,#080e1a);padding:6px 12px}.header-top{display:flex;align-items:center;gap:12px;position:relative}.m-logo-mark{width:54px;height:54px}.m-header-wordmark{font-size:24px;font-weight:800;text-decoration:none}.m-header-wordmark span{color:#43adff}.election-mobile-label{font-size:10px;letter-spacing:2px;margin-top:4px;color:var(--el-muted)}.election-home{margin-left:auto;font-size:10px;text-decoration:none;min-height:44px;display:flex;align-items:center}.nav-right{display:flex;justify-content:flex-end;gap:8px}.election-mobile-nav{display:block;position:fixed;bottom:0;left:0;right:0;max-width:none;background:#0b1425;border-top:1px solid #273953;z-index:90}.election-mobile-nav a{text-decoration:none}#election-page{padding:0 12px 30px}.election-stripe{margin:0 -12px 20px}.election-intro{display:block}.election-state{display:inline-block;margin-top:10px}h1{font-size:31px}.election-panel{padding:16px}.election-panel-heading{flex-wrap:wrap}.election-compositions{grid-template-columns:minmax(0,1fr);gap:20px}.election-compositions article{border-right:0;border-bottom:1px solid var(--el-border);padding:0 0 15px}.election-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.election-counts strong{font-size:21px}.election-top{gap:14px}.election-polls{margin:14px 0}.election-columns{display:flex;flex-direction:column;gap:14px}.election-columns>.election-panel{width:100%}.election-market-panel{order:0}.election-results-panel{order:1}.election-news-panel{order:2}[data-election-markets]{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:15px;padding-bottom:6px}.election-market{flex:0 0 84%;scroll-snap-align:start;padding-right:15px;min-width:0}.election-tabs{gap:5px}.election-tabs button{padding:9px 7px}.dt-legal-footer{padding:20px 16px 115px}.election-poll-rows{display:block}.election-poll-row{margin-top:10px}}
@media(min-width:768px){.election-mobile-nav.bottom-nav[data-mobile-navigation]{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* The supplied schedule is a horizontal strip; each closing area retains its own source. */
.election-poll-rows{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:12px;padding:0 0 10px;overscroll-behavior-x:contain}.election-poll-row{flex:0 0 240px;scroll-snap-align:start;margin:0;min-width:0}.election-poll-row details{margin-top:8px}.election-poll-row .election-sources{max-height:160px;overflow-y:auto}.election-market [data-price],.election-market [data-change]{display:inline-block;margin:4px 8px 4px 0}.election-compositions details{font-size:11px}
@media(max-width:767px){.election-poll-row{flex-basis:86%}.election-poll-rows{display:flex}}

/* Existing shared mobile navigation carousel, scoped to Election. */
@media(max-width:767px){
.election-mobile-nav.bottom-nav[data-mobile-navigation] {
  display: block;
  padding: 8px 0 calc(12px + env(safe-area-inset-bottom, 0px));
}
.election-mobile-nav .mobile-nav-scroll {
  display: flex;
  position: relative;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: calc(100% / 8);
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.election-mobile-nav .mobile-nav-scroll::-webkit-scrollbar { display: none; }
.election-mobile-nav .mobile-nav-scroll::before,
.election-mobile-nav .mobile-nav-scroll::after { content: ''; flex: 0 0 12.5%; }
.election-mobile-nav.bottom-nav[data-mobile-navigation] .nav-item {
  box-sizing: border-box;
  flex: 0 0 25%;
  min-height: 48px;
  padding: 4px;
  text-decoration: none;
  scroll-snap-align: start;
}
.election-mobile-nav.bottom-nav[data-mobile-navigation] .nav-lbl {
  width: 100%;
  min-height: 40px;
  padding: 8px 2px;
  font-size: clamp(10px, 2.8vw, 11px);
  letter-spacing: 0;
}
.election-mobile-nav.bottom-nav[data-mobile-navigation] .nav-item:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -3px;
  border-radius: 6px;
}
.election-mobile-nav.bottom-nav[data-mobile-navigation]::before,
.election-mobile-nav.bottom-nav[data-mobile-navigation]::after {
  content: '';
  position: absolute;
  top: 8px;
  width: 10px;
  height: 48px;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
}
.election-mobile-nav.bottom-nav[data-mobile-navigation]::before { left: 0; background: linear-gradient(to right, #050508, transparent); }
.election-mobile-nav.bottom-nav[data-mobile-navigation]::after { right: 0; background: linear-gradient(to left, #050508, transparent); }
.election-mobile-nav.bottom-nav[data-mobile-navigation].has-more-left::before,
.election-mobile-nav.bottom-nav[data-mobile-navigation].has-more-right::after { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .election-mobile-nav .mobile-nav-scroll { scroll-behavior: auto; }
}

}

@media(max-width:767px){.election-mobile-header .nav-right{flex-wrap:wrap;align-items:center}.election-mobile-header .live-ind{display:inline-flex;align-items:center;gap:5px;margin-right:auto;font-size:10px;font-weight:800}.election-mobile-header .live-dot{width:7px;height:7px;border-radius:50%}.election-mobile-header #dtAuthWidget{min-width:0}}
