:root{--ink:#14202a;--muted:#61717c;--line:#dce2e3;--cream:#f6f5ef;--paper:#fff;--blue:#3e73a7;--red:#c8665c;--navy:#121b25;--gold:#d7a652}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer}.topbar{height:66px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1240px)/2));gap:20px}.brand{color:#f5f2e9;text-decoration:none;letter-spacing:.13em;font-size:12px;display:flex;align-items:center;gap:11px;white-space:nowrap}.brand strong{font-weight:700}.brand-mark{font-size:25px;color:var(--gold);line-height:1}.top-right{display:flex;align-items:center;gap:22px}.date{font-size:10px;letter-spacing:.17em;color:#9dabaf}.feed-pill{font-size:10px;font-weight:700;letter-spacing:.1em;border:1px solid #475259;border-radius:30px;padding:8px 11px;white-space:nowrap}.feed-pill i{width:6px;height:6px;border-radius:50%;display:inline-block;background:var(--gold);margin-right:7px}.feed-pill.live i{background:#7ccaa1}.feed-pill.error i{background:#df8a7e}main{max-width:1240px;margin:auto;padding:0 24px}.hero{padding:76px 0 48px}.hero-kicker,.eyebrow{display:block;color:#aa8050;font-size:10px;letter-spacing:.21em;font-weight:700}.hero h1{font:normal clamp(55px,6.3vw,100px)/.98 'Instrument Serif',Georgia,serif;letter-spacing:-.035em;margin:20px 0 22px}.hero h1 em{font-weight:400;color:#b55d53}.hero-sub{font-size:17px;color:#56646b;max-width:590px;line-height:1.65;margin:0}.hero-meta{display:flex;align-items:center;gap:20px;color:#819095;font-size:11px;letter-spacing:.02em;margin-top:29px}.text-button{background:none;border:0;color:#435f6c;text-decoration:underline;text-underline-offset:3px;padding:0}.tabs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:38px;overflow:auto;white-space:nowrap}.tab{background:none;border:0;border-bottom:2px solid transparent;padding:19px 0 17px;color:#6c777a;font-weight:600;font-size:12px}.tab span{font-weight:400;color:#9da5a5;margin-left:4px}.tab.active{color:#172630;border-color:#b65e54}.panel{display:none;padding:42px 0 80px}.panel.active{display:block}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:23px}.section-heading h2{font:normal 44px/1 'Instrument Serif',Georgia,serif;margin:9px 0 0;letter-spacing:-.02em}.muted{color:#8b989b;font-size:11px}.chambers{display:grid;grid-template-columns:1fr 1fr;gap:18px}.chamber-card{background:var(--paper);border:1px solid #e4e8e7;padding:27px 29px 23px;min-height:310px;box-shadow:0 6px 22px #15222c08}.card-top{display:flex;justify-content:space-between;align-items:center;color:#9a8362;font-size:10px;letter-spacing:.18em;font-weight:700}.card-icon{font-size:22px;color:#abb7b8}.chamber-card h3{font:normal 31px/1.1 'Instrument Serif',Georgia,serif;margin:22px 0 8px}.chamber-card p{color:#6d7c80;margin:0 0 28px;font-size:12px;min-height:35px}.balance{height:14px;background:#e9edec;border-radius:20px;overflow:hidden}.balance-inner{height:100%;display:flex}.segment-d{background:var(--blue)}.segment-r{background:var(--red)}.segment-other{background:#b5bdbd}.balance-legend{display:flex;justify-content:space-between;color:#6e7c80;font-size:11px;margin-top:11px}.card-link{border:0;border-top:1px solid #e8eceb;width:100%;background:none;text-align:left;color:#354b57;font-size:11px;font-weight:700;margin-top:27px;padding:16px 0 0;display:flex;justify-content:space-between}.overview-lower{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-top:18px}.note,.coverage{border:1px solid #dfdfd3;background:#f0efe5;padding:25px 28px}.note{display:flex;gap:21px}.note-icon{font-size:27px;color:#ba8952}.note strong,.coverage strong{font-family:'Instrument Serif',Georgia,serif;font-size:23px;font-weight:400}.note p,.coverage p{color:#6f7979;font-size:12px;line-height:1.7;margin:7px 0 0}.coverage{background:#eaece8}.coverage strong{font-size:39px;display:block;margin-top:11px}.toolbar{display:flex;gap:12px;margin-bottom:20px}.toolbar input,.toolbar select{border:1px solid #d9e0e0;background:#fff;color:#273741;border-radius:3px;padding:12px 14px;outline-color:#8ca6af}.toolbar input{flex:1;min-width:0}.toolbar select{min-width:170px}.race-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.race-card{background:#fff;border:1px solid #e0e6e5;padding:20px 21px;min-height:172px}.race-head{display:flex;justify-content:space-between;align-items:start;gap:8px}.race-title{font-size:15px;font-weight:700}.race-status{font-size:10px;letter-spacing:.05em;color:#7d8a8d;white-space:nowrap}.race-status.reporting{color:#338363}.race-status.no-feed{color:#a07e59}.race-sub{color:#899597;font-size:10px;margin-top:5px}.race-body{margin-top:19px}.candidate{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:7px 0;font-size:12px}.candidate strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.candidate .votes{font-variant-numeric:tabular-nums;color:#57656c;white-space:nowrap}.party{display:inline-block;font-size:9px;min-width:16px;font-weight:700;margin-right:5px}.party.d{color:var(--blue)}.party.r{color:var(--red)}.prob-track{height:5px;background:#eee;margin:17px 0 8px;border-radius:5px;overflow:hidden}.prob-fill{height:100%;background:var(--blue)}.race-foot{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#859095}.race-foot b{color:#4b626d;font-weight:700}.empty{grid-column:1/-1;color:#77868b;background:#fff;border:1px solid var(--line);padding:35px;text-align:center}.ca-intro{display:flex;align-items:center;gap:20px;background:#e8ece8;border:1px solid #dce3df;padding:19px 24px;margin-bottom:22px}.ca-monogram{font:normal 37px 'Instrument Serif',Georgia,serif;color:#bd6256}.ca-intro strong{font-size:13px}.ca-intro p{font-size:11px;color:#6f7c80;margin:5px 0 0;line-height:1.5}.subsection{margin-top:52px}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.method-grid article{border-top:2px solid #ba6559;padding-top:18px}.method-grid article>span{font:normal 35px 'Instrument Serif',Georgia,serif;color:#a5afb0}.method-grid h3{font:normal 28px 'Instrument Serif',Georgia,serif;margin:18px 0 10px}.method-grid p,.sources p{color:#67767b;font-size:13px;line-height:1.8}.sources{border-top:1px solid var(--line);margin-top:46px;padding-top:18px}.sources h3{font:normal 26px 'Instrument Serif',Georgia,serif}.sources p{display:flex;flex-wrap:wrap;gap:20px}.sources a{color:#315b72}footer{background:#121b25;color:#9eaaac;display:flex;justify-content:space-between;gap:20px;padding:27px max(24px,calc((100vw - 1240px)/2));font-size:10px;letter-spacing:.04em}footer span:first-child{color:#eadbc3;letter-spacing:.13em}@media(max-width:850px){.race-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chambers,.overview-lower{grid-template-columns:1fr}.method-grid{grid-template-columns:1fr}.method-grid article{padding-bottom:15px}}@media(max-width:580px){.topbar{height:58px}.date{display:none}.hero{padding:54px 0 39px}.hero h1{font-size:58px}.hero-sub{font-size:15px}.tabs{gap:25px}.panel{padding-top:32px}.section-heading h2{font-size:38px}.section-heading .muted{display:none}.race-grid{grid-template-columns:1fr}.toolbar{flex-direction:column}.toolbar select{width:100%}.ca-intro{align-items:start}footer{flex-direction:column}}
.party.l{color:#b48900}.party.g{color:#218a55}.party.i{color:#7954a6}
.baseline-detail{border-top:1px solid #eef0ee;margin-top:11px;padding-top:9px;color:#718186;font-size:10px;line-height:1.5}
.prob-track{display:flex}.prob-fill.democrat{background:var(--blue)}.prob-fill.republican{background:var(--red)}.prob-fill.neutral{background:#a9b4b5}.prob-fill.independent{background:#7954a6}
.control-goals{display:flex;justify-content:space-between;gap:12px;color:#405260;font-size:11px;font-weight:700;margin:-13px 0 10px}.control-goals span:last-child{text-align:right}.control-goals small{display:block;color:#839196;font-weight:400;margin-top:2px}
.balance{position:relative;height:18px;background:#edf0ef}.balance-inner{width:100%}.confidence-segment{height:100%}.confidence-segment.dSolid{background:var(--blue)}.confidence-segment.rSolid{background:var(--red)}.confidence-segment.dLikely{background:#a8c4df}.confidence-segment.rLikely{background:#e8b2ad}.confidence-segment.dLean{background:repeating-linear-gradient(45deg,#c5d9eb 0 3px,#e7f0f8 3px 6px)}.confidence-segment.rLean{background:repeating-linear-gradient(45deg,#efcfcc 0 3px,#faf0ee 3px 6px)}.confidence-segment.undecided{background:#edf0ef}.control-line{position:absolute;left:50%;top:0;bottom:0;border-left:2px solid #263947;opacity:.7}.balance-legend{gap:8px}.balance-legend span:nth-child(2){text-align:center}
.confidence-key{display:flex;flex-wrap:wrap;gap:10px 20px;margin:16px 0 0;color:#64757d;font-size:11px}.confidence-key span{display:inline-flex;align-items:center;gap:6px}.confidence-key i{display:inline-block;width:16px;height:11px;border:1px solid #cbd6d9}.key-solid{background:var(--blue)}.key-likely{background:#a8c4df}.key-lean{background:repeating-linear-gradient(45deg,#c5d9eb 0 3px,#e7f0f8 3px 6px)}.key-empty{background:#edf0ef}
.chamber-insights{margin:0 0 28px}.insight-seats,.insight-odds,.insight-trend,.insight-loading{background:#fff;border:1px solid #e0e6e5;padding:24px 26px}.insight-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:26px}.chamber-insights h3{font:normal 29px/1.1 'Instrument Serif',Georgia,serif;margin:7px 0 0}.chamber-insights .control-goals{margin:0 0 11px}.chamber-insights .balance{height:23px}.chamber-insights .confidence-key{border-top:1px solid #edf0ef;padding-top:15px;margin-top:18px}.insight-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:14px;margin-top:14px}.insight-odds,.insight-trend{min-width:0}.insight-odds p,.insight-trend p{font-size:11px;line-height:1.55;color:#7a898d;margin:13px 0 0}.scale-wrap{height:172px;display:flex;align-items:center;justify-content:center;margin-top:1px}.scale-art{width:min(100%,340px);height:172px}.scale-labels{display:flex;justify-content:space-around;max-width:340px;margin:-3px auto 0;font-weight:700;font-size:19px}.scale-labels span:first-child{color:var(--blue)}.scale-labels span:last-child{color:var(--red)}.chart-legend{display:flex;gap:18px;font-size:11px;color:#708085;margin-top:13px}.chart-legend span:before{content:'';display:inline-block;width:17px;height:3px;vertical-align:middle;margin-right:6px;background:var(--blue)}.chart-legend span:last-child:before{background:var(--red)}.control-chart{display:block;width:100%;height:auto;margin-top:5px}.insight-loading{color:#7a898d;font-size:12px}
@media(max-width:850px){.insight-grid{grid-template-columns:1fr}}
@media(max-width:580px){.insight-heading{align-items:start;flex-direction:column}.insight-seats,.insight-odds,.insight-trend{padding:20px}.scale-wrap{height:155px}.scale-art{height:155px}}
.confidence-segment.dLocked{background:#244d75;border-right:2px solid #fff}.confidence-segment.rLocked{background:#9e403b;border-left:2px solid #fff}.key-locked{background:linear-gradient(90deg,#244d75 0 50%,#9e403b 50% 100%)}
.locked-count{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;color:#5b6b73;font-size:11px;border-top:1px solid #edf0ef;padding-top:12px;margin-top:14px}.locked-count strong{color:#283d4b}.locked-count span:last-child{color:#879398}.locked-dot{width:8px;height:8px;display:inline-block;border-radius:50%;margin-right:5px}.locked-dot.d{background:#244d75}.locked-dot.r{background:#9e403b}
.race-link{display:block;color:inherit;text-decoration:none;transition:box-shadow .15s,border-color .15s,transform .15s}.race-link:hover,.race-link:focus-visible{border-color:#8ea9b8;box-shadow:0 9px 24px #162a3818;transform:translateY(-1px);outline:none}.race-link:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.map-slot{margin:24px 0 30px}.map-card{background:#fff;border:1px solid #e0e6e5;padding:25px 26px 18px}.map-heading{display:flex;justify-content:space-between;align-items:end;gap:16px}.map-heading h3{font:normal 30px/1.1 'Instrument Serif',Georgia,serif;margin:7px 0 0}.map-tabs{display:flex;gap:4px;background:#eef1ef;padding:4px;border-radius:6px}.map-tabs button{border:0;background:transparent;border-radius:4px;color:#61717a;font-size:11px;font-weight:700;padding:8px 11px}.map-tabs button.active{background:#fff;color:#213b4c;box-shadow:0 1px 5px #182a3716}.map-help{font-size:11px;color:#73838b;margin:12px 0 0}.map-canvas{position:relative;max-width:1000px;margin:9px auto 0}.map-canvas svg{display:block;width:100%;height:auto;max-height:590px}.map-shape{stroke:#fff;stroke-width:.75;vector-effect:non-scaling-stroke;transition:filter .12s,stroke-width .12s}.map-shape.dSolid{fill:var(--blue)}.map-shape.rSolid{fill:var(--red)}.map-shape.dLikely{fill:#a8c4df}.map-shape.rLikely{fill:#e8b2ad}.map-shape.dLean{fill:url(#map-d-lean)}.map-shape.rLean{fill:url(#map-r-lean)}.map-shape.undecided{fill:#edf0ef}.map-shape.no-race{fill:#c8cfcd}.map-region{cursor:pointer}.map-region:hover .map-shape,.map-region:focus-visible .map-shape,.map-shape.map-region:hover,.map-shape.map-region:focus-visible{stroke:#14202a;stroke-width:2;filter:brightness(.95);outline:none}.map-tooltip{position:absolute;z-index:5;width:210px;background:#172734;color:#fff;border-radius:5px;padding:12px 13px;box-shadow:0 8px 26px #0c1b2580;pointer-events:none;display:flex;flex-direction:column;gap:5px;font-size:11px}.map-tooltip[hidden]{display:none}.map-tooltip strong{font-size:13px}.map-tooltip span{color:#e7f0f4;font-weight:700}.map-tooltip small{font-size:10px;line-height:1.35;color:#b8c7d0}.map-key{border-top:1px solid #eef0ee;padding-top:12px}.map-source{color:#9aa7a9;font-size:10px;margin-top:10px}
.race-page{max-width:1000px;margin:auto}.race-back{display:inline-block;color:#4e6b7b;text-decoration:none;font-size:12px;font-weight:700;margin:1px 0 34px}.race-back:hover{text-decoration:underline}.detail-title h1{font:normal clamp(46px,5vw,70px)/1 'Instrument Serif',Georgia,serif;margin:10px 0}.detail-title p{color:#718188;font-size:12px}.detail-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:18px;margin-top:28px}.detail-primary,.detail-aside{background:#fff;border:1px solid #e0e6e5;padding:24px 25px;margin-bottom:16px}.detail-primary h2,.detail-aside h2{font:normal 27px 'Instrument Serif',Georgia,serif;margin:0 0 15px}.detail-primary p,.detail-aside p,.detail-aside li{color:#6b7c83;font-size:12px;line-height:1.6}.detail-aside ul{padding-left:19px;margin:0 0 25px}.detail-aside li{margin-bottom:8px}.detail-aside a{color:#315b72;font-size:12px}.detail-odds{display:flex;justify-content:space-between;gap:15px;font-size:22px;font-weight:700}.detail-odds span:first-child{color:var(--blue)}.detail-odds span:last-child{color:var(--red)}.detail-primary .prob-track{height:12px;margin:13px 0}.detail-candidate{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #edf0ef;font-size:12px}.detail-candidate span:last-child{color:#718188;text-align:right}.detail-table-wrap{max-height:430px;overflow:auto}.detail-table-wrap table{border-collapse:collapse;width:100%;font-size:11px}.detail-table-wrap th,.detail-table-wrap td{padding:9px 10px;border-bottom:1px solid #edf0ef;text-align:right;white-space:nowrap}.detail-table-wrap th:first-child,.detail-table-wrap td:first-child{text-align:left}.detail-table-wrap th{position:sticky;top:0;background:#f5f7f5;color:#65767d}
@media(max-width:850px){.detail-layout{grid-template-columns:1fr}}@media(max-width:580px){.map-card{padding:18px 14px}.map-heading{align-items:start;flex-direction:column}.map-tabs{align-self:stretch}.map-tabs button{flex:1}.map-tooltip{width:190px}.detail-primary,.detail-aside{padding:20px}.detail-odds{font-size:18px}.detail-candidate{flex-direction:column;gap:3px}}
.race-view .hero{display:none}.race-view .race-page{padding-top:34px}
.train-intro{max-width:730px;color:#61717c;font-size:14px;line-height:1.65;margin:0 0 24px}.train-grid{display:grid;gap:22px}.train-card{background:#fff;border:1px solid #dbe2e1;padding:27px 29px 24px;box-shadow:0 8px 25px #15222c09;min-width:0}.train-card-head,.train-poles,.train-batch-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.train-card h3{font:normal 36px/1 'Instrument Serif',Georgia,serif;margin:9px 0 0}.train-current{display:flex;gap:14px;font-weight:700;font-size:15px}.train-current span:first-child{color:var(--blue)}.train-current span:last-child{color:var(--red)}.train-poles{font-size:10px;font-weight:700;letter-spacing:.13em;color:#8d9a9d;margin-top:30px}.train-poles span:first-child{color:var(--blue)}.train-poles span:last-child{color:var(--red)}.train-odds-rail{height:90px;position:relative;margin:6px 0 24px;background:linear-gradient(90deg,#e9f1f8 0%,#f3f2ee 49%,#f3f2ee 51%,#f9eeee 100%);border:1px solid #e0e5e5;border-radius:4px;overflow:hidden}.train-odds-rail:before,.train-odds-rail:after{content:"";position:absolute;left:0;right:0;height:3px;background:#8a9799;bottom:13px;box-shadow:0 5px 0 #c1c9c9}.train-odds-rail:after{height:1px;bottom:3px;background:repeating-linear-gradient(90deg,#727e80 0 7px,transparent 7px 26px);box-shadow:none}.train-midline{position:absolute;left:50%;top:0;bottom:0;border-left:1px dashed #a9b5b6}.train-locomotive{position:absolute;bottom:19px;width:86px;height:50px;transform:translateX(-50%);transition:left .7s ease;filter:drop-shadow(0 5px 3px #24323c26)}.engine-cab{position:absolute;left:3px;bottom:0;width:55px;height:34px;background:#243b4b;color:#f6f3e8;border:2px solid #162a36;border-radius:4px 4px 1px 1px;display:flex;align-items:center;justify-content:center;font:bold 15px Georgia,serif}.engine-cab:before{content:"";position:absolute;top:-12px;left:4px;width:29px;height:11px;background:#243b4b;border:2px solid #162a36;border-bottom:0;border-radius:4px 4px 0 0}.engine-nose{position:absolute;right:0;bottom:0;width:29px;height:23px;background:#bd9b5f;border:2px solid #8f7447;border-radius:2px 5px 1px 1px}.engine-wheels:before,.engine-wheels:after{content:"";position:absolute;bottom:-8px;width:15px;height:15px;border-radius:50%;background:#172b37;border:3px solid #74848b}.engine-wheels:before{left:13px}.engine-wheels:after{right:13px}.train-batch-heading{color:#8c989a;font-size:10px;font-weight:700;letter-spacing:.12em;margin-bottom:11px}.train-cars{display:flex;gap:5px;align-items:flex-start;min-height:96px}.train-car{position:relative;flex:1 1 0;min-width:0}.train-car summary{list-style:none;cursor:pointer;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:73px;background:#e5ebed;border:2px solid #7e9097;border-bottom:5px solid #52636d;border-radius:4px 4px 1px 1px;color:#263843;text-align:center;outline-offset:3px}.train-car summary::-webkit-details-marker{display:none}.train-car.dem summary{background:#e2edf6;border-color:#6b97be;color:#2a5d87}.train-car.rep summary{background:#f7e9e6;border-color:#cf8880;color:#a64842}.train-car.even summary{background:#ecefeb}.car-state{font-size:10px;font-weight:800;letter-spacing:.12em}.train-car strong{font-size:11px;white-space:nowrap}.train-car small{font-size:9px;white-space:nowrap}.car-wheels:before,.car-wheels:after{content:"";position:absolute;bottom:-12px;width:11px;height:11px;border-radius:50%;background:#283943;border:2px solid #89999d}.car-wheels:before{left:18%}.car-wheels:after{right:18%}.train-rails{height:13px;border-top:3px solid #899698;border-bottom:3px solid #899698;background:repeating-linear-gradient(90deg,#778486 0 5px,transparent 5px 24px);margin-top:10px}.train-tooltip{display:none;position:absolute;z-index:20;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);width:310px;max-width:min(310px,85vw);background:#172b38;color:#eaf1f3;border-radius:5px;box-shadow:0 12px 32px #101d2755;padding:17px;text-align:left;font-size:11px;line-height:1.45}.train-car:hover .train-tooltip,.train-car:focus-within .train-tooltip,.train-car[open] .train-tooltip{display:block}.train-car:first-child .train-tooltip{left:0;transform:none}.train-car:last-child .train-tooltip{left:auto;right:0;transform:none}.train-tooltip>strong{display:block;font-size:15px;color:#fff;white-space:normal}.train-tooltip>span,.train-tooltip>small{display:block;color:#9eafb8;margin-top:4px}.train-tooltip ul{padding:0;margin:12px 0;list-style:none}.train-tooltip li{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px solid #ffffff20}.train-tooltip li strong{font-size:11px;color:#fff}.train-tooltip .party{min-width:0;margin:0 0 0 3px}.train-place-title{color:#bdcdd5;font-weight:700;margin-top:12px}.train-tooltip p{color:#bdcdd5;margin:12px 0}.train-delta{display:flex;justify-content:space-between;border-top:1px solid #ffffff38;padding-top:10px;color:#d7e9f4;font-weight:700}.train-empty{width:100%;text-align:center;border:1px dashed #bac6c8;color:#849298;padding:26px 15px;font-size:12px}.train-method{max-width:920px;color:#7d8a8d;font-size:11px;line-height:1.7;margin:19px 0 0}
@media(max-width:850px){.train-card{padding:22px 18px}.train-cars{overflow-x:auto;overflow-y:visible;padding-bottom:8px}.train-car{flex:0 0 69px}.train-tooltip{position:fixed;left:50%!important;right:auto!important;top:30vh;bottom:auto;transform:translateX(-50%)!important;max-height:60vh;overflow:auto}}
@media(max-width:580px){.train-card-head{align-items:start;flex-direction:column}.train-card h3{font-size:31px}.train-intro{font-size:13px}.train-current{font-size:13px}.train-poles{font-size:9px}}
.train-car{flex:0 0 65px}
.train-tooltip{max-height:min(430px,75vh);overflow:auto}.train-tooltip li span small{display:block;color:#a9bbc4;font-size:9px;margin-top:2px}
.train-axis-top,.train-axis-bottom,.train-timeline{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:10px;letter-spacing:.07em}.train-axis-top{margin-top:25px;color:#567da3}.train-axis-top strong{color:#3e73a7}.train-axis-bottom{margin-top:10px;color:#b46a61}.train-axis-bottom strong{color:#b9564c}.train-timeline{margin-top:23px;color:#849296}.train-timeline span:first-child,.train-timeline span:last-child{font-weight:700;color:#5b6e76}.train-plot{height:380px;position:relative;margin-top:10px;border:1px solid #dfe5e5;border-radius:4px;background:linear-gradient(180deg,#e9f2fa 0%,#f9fbfb 43%,#f7f7f4 50%,#fdf9f7 57%,#faeae8 100%);overflow:visible}.train-plot:before,.train-plot:after{content:"";position:absolute;left:0;right:0;border-top:1px dotted #b8c5c8}.train-plot:before{top:25%}.train-plot:after{top:75%}.train-plot-mid{position:absolute;left:0;right:0;top:50%;height:0;border-top:1px dashed #a6b3b6}.train-plot-mid span{position:absolute;left:9px;top:5px;color:#9aa8aa;font-size:10px}.train-plot .train-car{position:absolute;left:var(--car-x);top:var(--car-y);width:74px;flex:none;transform:translate(-50%,-50%);z-index:2}.train-plot .train-car:hover,.train-plot .train-car:focus-within,.train-plot .train-car[open]{z-index:30}.train-plot .train-car summary{height:82px;border-bottom-width:4px;box-shadow:0 4px 9px #1827351c}.train-plot .train-tooltip{top:calc(100% + 10px);bottom:auto}.train-plot .train-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:auto;min-width:280px;background:#ffffffc7;border-radius:3px}.train-car.entering{animation:train-enter .65s ease-out both}.train-car.moving{animation:train-shift .65s ease-in-out both}@keyframes train-enter{from{left:105%;opacity:0}to{left:var(--car-x);opacity:1}}@keyframes train-shift{from{left:var(--from-x)}to{left:var(--car-x)}}
@media(max-width:580px){.train-plot{height:320px}.train-plot .train-car{width:59px}.train-plot .train-car summary{height:72px}.train-car strong{font-size:10px}.train-axis-top,.train-axis-bottom,.train-timeline{font-size:9px}}
.call-intro{max-width:870px;color:#63747b;font-size:13px;line-height:1.7;margin:0 0 26px}.call-feed{display:grid;gap:10px}.call-entry{display:grid;grid-template-columns:155px 1fr 22px;gap:22px;align-items:center;background:#fff;border:1px solid #dfe5e4;color:var(--ink);text-decoration:none;padding:19px 22px}.call-entry:hover,.call-entry:focus-visible{border-color:#9eb5c5;box-shadow:0 5px 18px #17304211}.call-entry.retracted{background:#f9f4f2;border-color:#eadbd8}.call-time{color:#8a989c;font-size:11px}.call-entry .eyebrow{font-size:9px}.call-entry strong{display:block;font-size:15px;margin-top:5px}.call-entry p{font-size:11px;color:#7a898e;margin:6px 0 0}.call-arrow{color:#9cabaf;font-size:17px}.race-batch-section{margin-top:24px}.race-batch-section .section-heading{margin-bottom:7px}.race-batch-section>p{color:#63747b;line-height:1.65}.race-batch-section .race-train-note{font-size:10px;color:#8a989b;margin:14px 0 0}
@media(max-width:580px){.call-entry{grid-template-columns:1fr 20px;gap:6px 12px}.call-time{grid-column:1/-1}.call-entry strong{font-size:13px}}

.race-chart-section{margin-top:34px}.race-chart-section>.section-heading{margin-bottom:8px}.race-chart-section>p{color:#6b7c83;font-size:12px;line-height:1.6;margin:0 0 19px;max-width:700px}.race-chart-card{padding:25px 28px 19px}.race-chart-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:12px}.race-chart-heading h2{margin:7px 0 0}.race-chart-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 18px;color:#687981;font-size:11px}.race-chart-legend span{white-space:nowrap}.race-chart-legend i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:5px;vertical-align:-1px}.race-chart-legend strong{color:#263945;margin-left:3px}.race-chart-wrap{position:relative;min-width:0}.race-chart-wrap svg{display:block;width:100%;height:auto;overflow:visible}.race-chart-grid{stroke:#e2e8e8;stroke-dasharray:3 4}.race-chart-base{stroke:#b7c3c6}.race-chart-axis{fill:#86969b;font:11px 'DM Sans',Arial,sans-serif}.race-chart-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fffffff0;border:1px solid #e4e9e8;padding:10px 15px;color:#74838a;text-align:center;font-size:11px;max-width:80%}.race-chart-card svg circle{cursor:help}.race-chart-card svg circle:hover{stroke:#263945;stroke-width:2.5}
@media(max-width:580px){.race-chart-card{padding:19px 15px 12px}.race-chart-heading{align-items:start;flex-direction:column}.race-chart-legend{justify-content:flex-start}.race-chart-axis{font-size:10px}.race-chart-empty{font-size:10px}}

.race-historical{margin-top:34px}.race-historical .section-heading{margin-bottom:9px}.historic-intro{color:#687a81;font-size:12px;line-height:1.65;margin:0 0 18px;max-width:700px}.historic-election-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.historic-election,.historic-presidential,.historic-no-results{background:#fff;border:1px solid #dfe5e4;padding:23px 25px}.historic-election-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.historic-election-head strong{font:normal 30px 'Instrument Serif',Georgia,serif}.historic-election-head span{color:#7b8b8f;font-size:11px;text-align:right}.historic-bar{height:13px;display:flex;margin:18px 0 12px;background:#edf0ef;border-radius:2px;overflow:hidden}.historic-segment.democrat{background:var(--blue)}.historic-segment.republican{background:var(--red)}.historic-segment.other{background:#aab4b5}.historic-candidate{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #edf0ef;font-size:12px}.historic-candidate span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.historic-candidate strong{font-variant-numeric:tabular-nums}.historic-other{color:#8a979a;font-size:10px;margin-top:8px}.historic-presidential{margin-top:16px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;background:#edf1ef}.historic-presidential .eyebrow{flex:1 1 230px}.historic-presidential strong{font:normal 31px 'Instrument Serif',Georgia,serif;color:#304b5b}.historic-presidential p{flex:1 1 100%;color:#708087;font-size:11px;margin:0}.historic-no-results{color:#7a898e;font-size:12px}.historic-note{color:#849196;font-size:11px;line-height:1.7;margin:15px 0 0}.historic-note a{color:#315b72}
@media(max-width:650px){.historic-election-grid{grid-template-columns:1fr}.historic-election,.historic-presidential,.historic-no-results{padding:19px 18px}}
