:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:14px;background:#020617;color:#f1f5f9;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--text-white: #ffffff}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;-webkit-font-smoothing:antialiased}button,a{font:inherit;color:inherit;text-decoration:none;cursor:pointer;border:0;background:transparent}.app-shell{max-width:1440px;margin:0 auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.glass-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172a99;border:1px solid rgba(255,255,255,.08);border-radius:12px;transition:border-color .2s ease}.glass-card:hover{border-color:#ffffff26}h1{font-size:1.25rem;font-weight:600;letter-spacing:-.01em}h2{font-size:1rem;font-weight:500;color:#94a3b8}.text-muted{color:#64748b;font-size:.875rem}.nav-bar{display:flex;gap:2rem;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:.5rem}.nav-item{position:relative;padding:.5rem 0;font-size:.875rem;font-weight:500;color:#64748b;transition:color .2s ease}.nav-item:hover{color:#f1f5f9}.nav-item-active{color:#38bdf8}.nav-item-active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#38bdf8;box-shadow:0 0 8px #38bdf880}.chart-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;align-items:stretch}.overview-chart-card{padding:1.5rem;display:flex;flex-direction:column;min-width:0;min-height:0}.overview-chart-card .overview-chart-body{flex:1;width:100%;min-height:200px;aspect-ratio:16 / 11;container-type:inline-size}.content-area{display:grid;gap:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;margin-bottom:.5rem}.year-switcher{margin-left:auto}.detail-page{display:flex;flex-direction:column;gap:2rem}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:all .2s;width:fit-content;padding:.5rem .75rem;border-radius:6px;background:#ffffff08}.back-link:hover{color:var(--text-primary);background:#ffffff0f;transform:translate(-2px)}.detail-header{display:flex;align-items:center;gap:2rem;padding:2rem;flex-wrap:wrap}.profile-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:#ffffff0d;border-radius:50%;color:#38bdf8;overflow:hidden}.profile-icon img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.profile-icon:hover img{transform:scale(1.1)}.avatar-container{display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;position:relative;background:#ffffff0d;border:1.5px solid rgba(255,255,255,.1);flex-shrink:0}.avatar-container.sm{width:28px;height:28px}.avatar-container.md{width:48px;height:48px}.avatar-container.lg{width:64px;height:64px}.avatar-container img{width:100%;height:100%;object-fit:cover}.avatar-ring-dem{border-color:#3b82f6}.avatar-ring-rep{border-color:#ef4444}.avatar-placeholder{font-family:Inter,sans-serif;font-weight:700;color:#fffc;background:#ffffff0d;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.header-info{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:250px}.header-info h1{font-size:1.5rem;margin:0}.badges{display:flex;flex-wrap:wrap;gap:.5rem}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#cbd5e1}.badge.party-dem{background:#3b82f626;border-color:#3b82f64d;color:#60a5fa}.badge.party-rep{background:#ef444426;border-color:#ef44444d;color:#f87171}.header-stats{flex:1;min-width:300px;max-width:400px}.detail-split-main-sidebar{display:grid;gap:2rem;align-items:start}.leaderboard-table-container{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.875rem}th{text-align:left;padding:1rem;color:var(--text-secondary);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(255,255,255,.1)}td{padding:1.25rem 1rem;border-bottom:1px solid rgba(255,255,255,.03)}tr:hover td{background:#ffffff03}.placeholder-card{height:200px;display:flex;align-items:center;justify-content:center;color:#475569;border:1px dashed rgba(255,255,255,.05)}.site-footer{margin-top:auto;padding-top:2rem;border-top:1px solid rgba(255,255,255,.03);display:flex;justify-content:space-between;font-size:.75rem;color:#475569}.financial-progress-container{width:100%;display:flex;flex-direction:column;gap:4px}.financial-progress-bar-bg{width:100%;height:6px;background:#ffffff0d;border-radius:3px;overflow:hidden;position:relative}.financial-progress-bar-fill{height:100%;background:linear-gradient(90deg,#38bdf8,#818cf8);border-radius:3px;transition:width .4s cubic-bezier(.4,0,.2,1)}.financial-progress-labels{display:flex;justify-content:space-between;font-size:.7rem;font-family:JetBrains Mono,Monaco,monospace;color:var(--text-muted);letter-spacing:.02em}.burn-rate-badge{font-size:.65rem;padding:1px 4px;border-radius:4px;background:#ffffff0d;color:var(--text-secondary)}@media(max-width:900px){.chart-grid{grid-template-columns:1fr}}@media(max-width:640px){.app-shell{padding:1rem;gap:1rem}.app-top-header{flex-direction:column;align-items:stretch;gap:.75rem}.app-top-header .nav-bar{flex-wrap:nowrap;overflow-x:auto;gap:1rem;padding-bottom:.35rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.year-switcher{margin-left:0;flex-wrap:wrap}.overview-chart-card{padding:1rem}.overview-chart-card .overview-chart-body{min-height:180px;aspect-ratio:4 / 3}.detail-page{gap:1.25rem}.detail-header{flex-direction:column;align-items:stretch;gap:1.25rem;padding:1.25rem}.header-info{min-width:0}.header-info h1{font-size:1.2rem;line-height:1.25;word-break:break-word}.header-stats{min-width:0;max-width:none;width:100%}.detail-split-main-sidebar{grid-template-columns:1fr!important;gap:1.25rem!important}.detail-section-tight-mobile,.glass-card.page-section-mobile{padding:1.15rem!important}.leaderboard-table-container table{font-size:.8rem}.leaderboard-table-container th,.leaderboard-table-container td{padding:.55rem .45rem}.data-table th,.data-table td{padding:.5rem .4rem;font-size:.78rem}.party-alignment-mobile .party-row{flex-wrap:wrap;gap:.5rem .75rem}.party-alignment-mobile .party-row>div:first-child{width:auto;min-width:5.5rem}.party-alignment-mobile .party-row>div:last-child{width:3.25rem;flex-shrink:0;margin-left:auto}}@media(max-width:768px){.nav-bar{gap:1rem}}.midterms-page{display:flex;flex-direction:column;gap:1.5rem}.midterms-hero{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap;padding:1rem 1.25rem}.midterms-hero-main{min-width:0}.midterms-hero-side{display:flex;align-items:center;gap:1.25rem}.midterms-hero-title{font-size:1.35rem;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.midterms-hero-sub{margin-top:.3rem;font-size:.82rem;color:var(--text-secondary);line-height:1.5}.hero-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .6rem;border-radius:999px;border:1px solid rgba(255,255,255,.09);background:#ffffff08;font-size:.7rem;color:var(--text-secondary);white-space:nowrap}.hero-chip-dot{width:6px;height:6px;border-radius:50%;background:#38bdf8;box-shadow:0 0 0 3px #38bdf829;animation:hero-chip-pulse 2.6s ease-in-out infinite}@keyframes hero-chip-pulse{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.hero-chip-dot{animation:none}}.race-hero-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.midterms-hero-count{display:flex;flex-direction:column;align-items:flex-end;line-height:1}.midterms-hero-number{font-size:2rem;font-weight:600;color:var(--text-primary)}.midterms-hero-label{margin-top:.3rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.state-hero-stats{display:flex;gap:1.5rem;font-size:.8rem;color:var(--text-secondary)}.state-hero-stats strong{display:block;font-size:1.35rem;color:var(--text-primary)}.chamber-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1.5rem}.chamber-card{padding:1.25rem;display:flex;flex-direction:column;gap:1.1rem}.chamber-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.chamber-card-header h3{font-size:1.05rem;font-weight:600;color:var(--text-primary)}.chamber-card-seats{font-size:.75rem;color:var(--text-muted)}.seat-bar{display:flex;flex-direction:column;gap:.55rem}.seat-bar-track{position:relative;display:flex;height:22px;border-radius:4px;overflow:hidden;gap:2px;background:#ffffff0a}.seat-bar-segment{position:relative;display:flex;align-items:center;justify-content:center;min-width:2px}.seat-bar-count{font-size:.7rem;font-weight:600;color:#020617d9;font-variant-numeric:tabular-nums}.seat-bar-majority{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--text-primary);box-shadow:0 0 0 1px #020617cc}.seat-bar-legend{display:flex;flex-wrap:wrap;gap:.4rem .9rem;font-size:.72rem;color:var(--text-secondary)}.seat-bar-legend-item{display:inline-flex;align-items:center;gap:.35rem;font-variant-numeric:tabular-nums}.seat-bar-legend-majority{color:var(--text-muted)}.seat-bar-swatch{width:9px;height:9px;border-radius:2px}.control-odds{display:flex;flex-direction:column;gap:.5rem}.control-odds-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.control-odds-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.control-odds-source{font-size:.72rem;color:#38bdf8}.control-odds-source:hover{text-decoration:underline}.control-odds-bar{display:flex;gap:2px;height:10px;border-radius:3px;overflow:hidden;background:#ffffff0a}.control-odds-fill{height:100%}.control-odds-values{display:flex;justify-content:space-between;gap:.75rem;font-size:.8rem;font-variant-numeric:tabular-nums}.control-odds-values>span{display:inline-flex;align-items:baseline;gap:.35rem}.control-odds-values strong{font-size:1rem}.control-odds-meta{font-size:.72rem;color:var(--text-muted)}.chamber-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;border-top:1px solid rgba(255,255,255,.06);padding-top:.9rem}.chamber-card-stats dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.chamber-card-stats dd{margin-top:.2rem;font-size:.95rem;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.map-panel{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.map-panel-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.map-panel-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.toggle-group{display:inline-flex;gap:2px;padding:2px;border-radius:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07)}.toggle-button{padding:.35rem .75rem;border-radius:6px;font-size:.78rem;font-weight:500;color:var(--text-secondary);transition:background .15s ease,color .15s ease}.toggle-button:hover{color:var(--text-primary)}.toggle-button.is-active{background:#38bdf829;color:#7dd3fc}.us-map{position:relative;width:100%}.us-map-svg{width:100%;height:auto;display:block;max-height:60vh;overflow:hidden}.race-locator .us-map-svg{max-height:280px}.us-map-shape{stroke:#020617a6;stroke-width:.5;transition:opacity .15s ease}.us-map-shape.is-clickable{cursor:pointer}.us-map-shape.is-dimmed{opacity:.12;pointer-events:none}.us-map-shape.is-highlighted{stroke:#f8fafc;stroke-width:1.2}.us-map-shape:focus-visible{outline:none;stroke:#7dd3fc;stroke-width:1.5}.us-map-hover-ring{stroke:#f8fafc;stroke-width:1.4;vector-effect:non-scaling-stroke}.us-map-outlines path{fill:none;stroke:#94a3b859;stroke-width:.6;vector-effect:non-scaling-stroke}.map-placeholder{display:flex;align-items:center;justify-content:center;min-height:320px;font-size:.85rem;color:var(--text-muted);background:#ffffff05;border-radius:8px}.us-map-tooltip{position:absolute;z-index:20;min-width:200px;max-width:260px;padding:.6rem .7rem;border-radius:8px;background:#020617f2;border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 24px #00000073;pointer-events:none;font-size:.75rem}.us-map-tooltip-title{font-weight:600;color:var(--text-primary);margin-bottom:.4rem}.us-map-tooltip-row{display:flex;justify-content:space-between;gap:.75rem;padding:.12rem 0}.us-map-tooltip-label{display:inline-flex;align-items:center;gap:.3rem;color:var(--text-muted)}.us-map-tooltip-value{color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums}.us-map-swatch{width:8px;height:8px;border-radius:2px}.map-legend{display:flex;flex-direction:column;gap:.45rem}.map-legend-swatches{display:flex;flex-wrap:wrap;gap:.35rem .85rem;font-size:.72rem;color:var(--text-secondary)}.map-legend-item{display:inline-flex;align-items:center;gap:.35rem}.map-legend-swatch{width:12px;height:12px;border-radius:2px;border:1px solid rgba(2,6,23,.6)}.map-legend-caption,.map-panel-hint{font-size:.72rem;color:var(--text-muted);line-height:1.5;max-width:62rem}.rating-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;border:1px solid;font-size:.72rem;font-weight:600;white-space:nowrap}.rating-pill-dot{width:7px;height:7px;border-radius:50%}.party-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.12rem .4rem .12rem .12rem;border-radius:999px;border:1px solid;font-size:.72rem;font-weight:600}.party-badge-letter{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;color:#020617e6;font-size:.65rem;font-weight:700}.party-code{margin-left:.35rem;font-size:.68rem;color:var(--text-muted)}.watch-card,.national-markets,.district-table-card,.sources-card,.race-detail-card,.senate-summary{padding:1.25rem;display:flex;flex-direction:column;gap:.9rem}.watch-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.watch-card-header h3,.sources-card h3,.race-detail-card h3,.senate-summary-header h3{font-size:1rem;font-weight:600;color:var(--text-primary)}.watch-card-note{font-size:.72rem;color:var(--text-muted)}.race-row-list{display:flex;flex-direction:column}.race-row{display:grid;grid-template-columns:minmax(7rem,1fr) auto minmax(10rem,1.4fr) auto auto;align-items:center;gap:.75rem;padding:.6rem .4rem;border-top:1px solid rgba(255,255,255,.05);text-align:left;transition:background .15s ease}.race-row:first-child{border-top:0}.race-row:hover{background:#ffffff08}.race-row-title{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-primary)}.race-row-tag{padding:.05rem .35rem;border-radius:3px;background:#ffffff14;font-size:.65rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.race-row-candidates{display:flex;flex-direction:column;gap:.15rem;font-size:.75rem;color:var(--text-secondary)}.race-row-candidate{display:inline-flex;align-items:center;gap:.35rem}.race-row-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.race-row-move{display:inline-flex;justify-content:flex-end;min-width:3.2rem}.race-row-money{font-size:.8rem;color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:right}.national-market-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.85rem}.national-market{display:flex;flex-direction:column;gap:.5rem;padding:.8rem;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);transition:border-color .15s ease}.national-market:hover{border-color:#38bdf866}.national-market-title{font-size:.82rem;font-weight:600;color:var(--text-primary);line-height:1.35}.national-market-list{list-style:none;display:flex;flex-direction:column;gap:.25rem}.national-market-list li{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-secondary)}.national-market-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.national-market-value{font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:600}.national-market-volume{font-size:.7rem;color:var(--text-muted)}.odds-list{display:flex;flex-direction:column;gap:.5rem}.odds-row{display:grid;grid-template-columns:minmax(6rem,10rem) 1fr auto;align-items:center;gap:.6rem;font-size:.78rem;color:var(--text-secondary)}.odds-row-label{display:inline-flex;align-items:center;gap:.35rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.odds-row-value{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:.4rem;min-width:3rem}.odds-row-track,.margin-bar-track{height:10px;border-radius:3px;background:#ffffff0d;overflow:hidden}.odds-row-fill,.margin-bar-fill{display:block;height:100%;border-radius:3px}.odds-row-value,.margin-bar-value{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:600}.margin-distribution h4{font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.margin-bars{display:flex;flex-direction:column;gap:.3rem}.margin-bar-row{display:grid;grid-template-columns:9rem 1fr 3rem;align-items:center;gap:.6rem;font-size:.74rem;color:var(--text-secondary)}.race-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:1.5rem;align-items:start}.race-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.85rem;border-top:1px solid rgba(255,255,255,.06);padding-top:.85rem}.race-stat-row dt{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.race-stat-row dd{margin-top:.2rem;font-size:.9rem;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.race-detail-empty,.race-detail-note{font-size:.75rem;color:var(--text-muted);line-height:1.55}.money-split{display:flex;gap:2px;height:14px;border-radius:3px;overflow:hidden;background:#ffffff0a}.money-split-fill{height:100%}.money-split-labels{display:flex;justify-content:space-between;font-size:.78rem}.race-locator{max-width:720px}.senate-summary-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.senate-summary-meta{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.35rem;font-size:.8rem;color:var(--text-secondary)}.senate-summary-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.06);padding-top:.75rem;font-size:.78rem;color:var(--text-secondary)}.text-link{color:#38bdf8}.text-link:hover{text-decoration:underline}.clickable-row{cursor:pointer}.clickable-row:hover{background:#ffffff08}.movers-card{padding:1.25rem;display:flex;flex-direction:column;gap:.9rem}.movers-title{display:flex;flex-direction:column;gap:.15rem}.movers-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem 1.75rem}.mover-column{display:flex;flex-direction:column;gap:.35rem;min-width:0}.mover-column-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding-bottom:.35rem;border-bottom:1px solid rgba(255,255,255,.07)}.mover-column-header h4{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.mover-column-hint{font-size:.68rem;color:var(--text-muted)}.mover-list{display:flex;flex-direction:column}.mover-row{display:flex;flex-direction:column;gap:.3rem;padding:.45rem .35rem;text-align:left;border-radius:6px;border-top:1px solid rgba(255,255,255,.04);transition:background .15s ease}.mover-row:first-child{border-top:0}.mover-row:hover{background:#ffffff09}.mover-row:focus-visible{outline:1px solid #7dd3fc;outline-offset:-1px}.mover-top{display:flex;align-items:baseline;gap:.4rem;min-width:0}.mover-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;align-self:center}.mover-name{font-size:.82rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.mover-race{flex:1;min-width:0;font-size:.7rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mover-delta{display:inline-flex;align-items:center;gap:.2rem;flex-shrink:0;font-size:.74rem;font-weight:700;font-variant-numeric:tabular-nums}.mover-delta.is-up{color:var(--text-primary)}.mover-delta.is-down{color:var(--text-secondary)}.mover-bottom{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.55rem}.mover-track{position:relative;height:8px;border-radius:4px;background:#ffffff0d;overflow:hidden}.mover-base{position:absolute;top:0;bottom:0;left:0;opacity:.3}.mover-band{position:absolute;top:0;bottom:0;border-radius:2px}.mover-band.is-down{background-image:repeating-linear-gradient(135deg,currentcolor 0 2px,transparent 2px 5px);opacity:.9}.mover-marker{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#f8fafc;box-shadow:0 0 0 1px #0206178c}.mover-range{display:inline-flex;align-items:center;gap:.28rem;font-size:.72rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.mover-now{color:var(--text-primary);font-weight:600}.mover-empty{font-size:.75rem;color:var(--text-muted);line-height:1.5}.movers-footer{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.06);padding-top:.7rem;font-size:.7rem;color:var(--text-muted);line-height:1.5}.movers-more{flex-shrink:0;font-size:.72rem;font-weight:600;color:#38bdf8}.movers-more:hover{text-decoration:underline}.sources-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem}.sources-list dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.sources-list dd{margin-top:.2rem;font-size:.78rem;color:var(--text-secondary);line-height:1.5}.sources-notes{list-style:disc;padding-left:1.1rem;display:flex;flex-direction:column;gap:.35rem;font-size:.75rem;color:var(--text-muted);line-height:1.55}.sources-generated{font-size:.72rem;color:var(--text-muted)}@media(max-width:900px){.race-row{grid-template-columns:1fr auto;row-gap:.4rem}.race-row-candidates{grid-column:1 / -1}.race-row-move{justify-content:flex-start;min-width:0}.race-row-money{text-align:right}.chamber-card-stats{grid-template-columns:repeat(2,1fr)}.midterms-hero{flex-direction:column;align-items:flex-start}.midterms-hero-side{width:100%;justify-content:space-between}.midterms-hero-count{align-items:flex-start}.movers-columns{grid-template-columns:1fr}}
