.election-shell{max-width:1200px;margin:0 auto;padding:0 1rem 2.5rem}.election-nav{border-bottom:1px solid var(--lwc-border,#f2efe626);flex-wrap:wrap;gap:.5rem .85rem;margin-bottom:1.25rem;padding:.75rem 0 1.25rem;display:flex}.election-nav__link{letter-spacing:.08em;text-transform:uppercase;color:var(--lwc-ink-muted,#9aa3b2);font-size:.78rem;font-weight:700;text-decoration:none}.election-nav__link:hover,.election-nav__link:focus-visible{color:var(--lwc-ink,#f2efe6)}.election-nav__link--current{color:var(--accent,#e6a23c)}.election-bop{gap:1rem;margin-bottom:1.75rem;display:grid}@media (min-width:800px){.election-bop{grid-template-columns:1fr 1fr}}.election-bop__chamber{border:1px solid var(--lwc-border,#2a3344);background:color-mix(in srgb, var(--lwc-bg,#0b1220) 88%, #fff 12%);border-radius:8px;padding:.85rem 1rem}.election-bop__title{margin:0 0 .35rem;font-size:.95rem}.election-bop__counts{justify-content:space-between;margin:0 0 .4rem;font-size:.8rem;font-weight:700;display:flex}.election-bop__dem{color:#5badff}.election-bop__rep{color:#f687b1}.election-bop__track{background:#2a3344;border-radius:999px;height:1.1rem;display:flex;position:relative;overflow:hidden}.election-bop__fill{height:100%;display:block}.election-bop__fill--dem{background:#20599f}.election-bop__fill--rep{background:#d40b0f}.election-bop__fill--uncalled{background:#edbb45}.election-bop__majority{background:#f2efe6;width:2px;margin-left:-1px;position:absolute;top:-2px;bottom:-2px;box-shadow:0 0 0 1px #00000059}.election-bop__note{color:var(--lwc-ink-muted,#9aa3b2);margin:.45rem 0 0;font-size:.78rem}.election-interest,.election-other,.election-chamber{margin-bottom:2rem}.election-interest__header,.election-other__header,.election-chamber__header{margin-bottom:.85rem}.election-interest__title,.election-other__title,.election-chamber__title,.election-chamber__seats-title{margin:0 0 .35rem;font-size:1.15rem}.election-interest__lede,.election-other__lede,.election-chamber__lede,.election-chamber__note,.election-interest__note{color:var(--lwc-ink-muted,#9aa3b2);margin:0;font-size:.88rem;line-height:1.45}.election-interest__grid,.election-other__grid,.election-chamber-map__grid,.election-house-map__grid,.election-chamber__seats-grid{gap:1rem;display:grid}@media (min-width:900px){.election-interest__grid,.election-other__grid,.election-chamber-map__grid,.election-house-map__grid,.election-chamber__seats-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.9fr);align-items:start}}.election-interest__side{gap:.85rem;min-width:0;display:grid}.election-interest__list,.election-other__list{z-index:1;gap:.35rem;max-height:220px;margin:0;padding:0;list-style:none;display:grid;position:relative;overflow:auto}.election-returns__list{gap:.35rem;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.election-interest__race,.election-other__race{text-align:left;border:1px solid var(--lwc-border,#2a3344);width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.55rem .7rem}.election-interest__race:hover,.election-other__race:hover,.election-interest__race.is-active,.election-other__race.is-active{border-color:var(--accent,#e6a23c)}.election-interest__race-label,.election-other__race-label{font-size:.88rem;font-weight:700;display:block}.election-interest__race-meta,.election-other__race-meta{color:var(--lwc-ink-muted,#9aa3b2);font-size:.75rem;display:block}.election-panel{border:1px solid var(--lwc-border,#2a3344);background:color-mix(in srgb, var(--lwc-bg,#0b1220) 88%, #fff 12%);border-radius:8px;min-height:12rem;padding:.85rem 1rem}.election-panel__placeholder,.election-panel__empty,.election-panel__note,.election-other__empty{color:var(--lwc-ink-muted,#9aa3b2);margin:0;font-size:.85rem}.election-panel__header{margin-bottom:.75rem}.election-panel__title{margin:0;font-size:1rem}.election-panel__slug{color:var(--lwc-ink-muted,#9aa3b2);margin:.2rem 0 0;font-size:.72rem}.election-panel__section-label{letter-spacing:.08em;text-transform:uppercase;margin:0 0 .4rem;font-size:.72rem;font-weight:700}.election-panel__skeleton{gap:.45rem;display:grid}.election-panel__skel-line{background:#2a3344;border-radius:4px;height:.7rem;animation:1.2s ease-in-out infinite election-panel-pulse;display:block}.election-panel__skel-line--title{width:55%;height:1rem}@keyframes election-panel-pulse{0%,to{opacity:.55}50%{opacity:1}}.election-kalshi{margin-bottom:1rem}.election-kalshi__meta,.election-kalshi__trade{color:var(--lwc-ink-muted,#9aa3b2);margin:0 0 .4rem;font-size:.75rem}.election-kalshi__labels{justify-content:space-between;margin:0 0 .35rem;font-size:.85rem;font-weight:700;display:flex}.election-kalshi__dem{color:#5badff}.election-kalshi__rep{color:#f687b1}.election-kalshi__track{background:#2a3344;border-radius:999px;height:.95rem;display:flex;overflow:hidden}.election-kalshi__fill{height:100%;display:block}.election-kalshi__fill--dem{background:#20599f}.election-kalshi__fill--rep{background:#d40b0f}.election-panel__results{margin-bottom:1rem}.election-returns__row{border-bottom:1px solid #f2efe614;gap:.15rem;padding:.35rem 0;font-size:.85rem;display:grid}.election-returns__name{font-weight:700}.election-returns__pct{color:var(--lwc-ink-muted,#9aa3b2)}.election-panel__facts{gap:.65rem;margin:0;display:grid}.election-panel__facts dt{letter-spacing:.06em;text-transform:uppercase;color:var(--lwc-ink-muted,#9aa3b2);font-size:.7rem;font-weight:700}.election-panel__facts dd{margin:.15rem 0 0;font-size:.85rem}.election-panel__fact-meta{color:var(--lwc-ink-muted,#9aa3b2);margin-top:.15rem;font-size:.72rem;display:block}.election-panel__econ-change{margin-left:.35rem;font-weight:700}.election-panel__econ-change--up{color:#f687b1}.election-panel__econ-change--down{color:#5badff}.election-chamber__seats{margin-top:1.5rem}.election-house-map__toolbar{margin-bottom:.5rem}.election-house-map__back{font:inherit;color:var(--accent,#e6a23c);cursor:pointer;background:0 0;border:0;padding:0;font-size:.8rem;font-weight:700}.election-house-map__hint,.election-house-map__note,.election-house-map__error{color:var(--lwc-ink-muted,#9aa3b2);margin:0;font-size:.82rem}.election-house-map__error{color:#f687b1}.election-house-map__state,.election-house-map__district,.election-chamber-map__state{stroke:#1f1f1f;stroke-width:.6px;cursor:default}.election-house-map__state,.election-house-map__district,.election-chamber-map__state.is-selectable{cursor:pointer}.election-house-map__district.is-focused,.election-chamber-map__state.is-focused{stroke:#1a6b8a;stroke-width:1.75px}
