:root,[data-theme=dark]{color-scheme:dark;--navy:#071833;--navy-deep:#041024;--navy-card:#0c274f;--navy-soft:rgba(18,52,98,0.72);--line:rgba(173,204,255,0.16);--text:#f4f7ff;--muted:rgba(244,247,255,0.72);--accent:#ff7a72;--dem:#3d78ff;--gop:#e23b3b;--gold:#c9a27a;--up:#3ecf8e;--header:#0b1a33;--header-text:#f4f7ff;--header-muted:rgba(244,247,255,0.62);--header-border:rgba(173,204,255,0.14);--header-shadow:0 10px 30px rgba(2,8,20,0.28);--nav-muted:rgba(244,247,255,0.7);--card-bg:linear-gradient(180deg,rgba(14,42,84,0.92),rgba(8,28,58,0.94));--inset:rgba(255,255,255,0.03);--inset-strong:rgba(4,16,36,0.35);--track:rgba(255,255,255,0.08);--toggle-track:rgba(4,16,36,0.28);--toggle-active-bg:#fff;--toggle-active-text:#12213b;--dot-bg:#10284f;--link:#8eb4ff;--json-bg:#041024;--source-bg:#fff;--source-text:#12213b;--source-muted:rgba(18,33,59,0.62);--source-btn:#eef3ff;--hero-art-top:#12356d;--hero-art-bottom:#0a2348;--hero-art-label:#9eb6e0;--page-glow-a:rgba(61,120,255,0.18);--page-glow-b:rgba(226,59,59,0.16);--page-top:#081a36;--page-bottom:#071428;--switcher-bg:#ffffff;--switcher-icon:#1a2744;--switcher-active:#16315d;--switcher-shadow:0 8px 22px rgba(16,32,64,0.16);--radius:22px;--shadow:0 24px 70px rgba(2,8,20,0.28);font-family:Source Sans\ 3,Segoe UI,sans-serif;line-height:1.5;font-weight:450;background:var(--navy-deep);color:var(--text);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}[data-theme=light]{color-scheme:light;--navy:#e8eef8;--navy-deep:#f3f6fb;--navy-card:#ffffff;--navy-soft:rgba(255,255,255,0.86);--line:rgba(18,33,59,0.1);--text:#12213b;--muted:rgba(18,33,59,0.64);--header:#ffffff;--header-text:#12213b;--header-muted:rgba(18,33,59,0.62);--header-border:rgba(18,33,59,0.1);--header-shadow:0 10px 30px rgba(8,18,40,0.08);--nav-muted:rgba(18,33,59,0.7);--card-bg:linear-gradient(180deg,#ffffff,#f7f9fd);--inset:rgba(18,33,59,0.04);--inset-strong:rgba(18,33,59,0.05);--track:rgba(18,33,59,0.08);--toggle-track:rgba(18,33,59,0.06);--toggle-active-bg:#16315d;--toggle-active-text:#fff;--dot-bg:#e7eef8;--link:#2554c7;--json-bg:#eef3fb;--source-bg:#ffffff;--source-text:#12213b;--source-muted:rgba(18,33,59,0.62);--source-btn:#eef3ff;--hero-art-top:#d7e4f8;--hero-art-bottom:#c4d4ee;--hero-art-label:#4a5d80;--page-glow-a:rgba(61,120,255,0.1);--page-glow-b:rgba(226,59,59,0.08);--page-top:#f7f9fd;--page-bottom:#e8eef6;--switcher-bg:#ffffff;--switcher-icon:#1a2744;--switcher-active:#16315d;--switcher-shadow:0 8px 22px rgba(16,32,64,0.12);--shadow:0 16px 40px rgba(18,33,59,0.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at 12% 0,var(--page-glow-a),transparent 28%),radial-gradient(circle at 88% 8%,var(--page-glow-b),transparent 24%),linear-gradient(180deg,var(--page-top) 0,var(--navy-deep) 42%,var(--page-bottom) 100%)}a{color:inherit}a,button{font:inherit}h1,h2,h3,h4,p{margin:0}.app-shell{min-height:100vh}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--header);color:var(--header-text);box-shadow:var(--header-shadow);transition:transform .28s ease,box-shadow .2s ease}.site-header.is-hidden{transform:translateY(-100%);box-shadow:none;pointer-events:none}.site-header__bar{display:flex;justify-content:space-between;align-items:center;width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:.45rem 0 0;color:var(--header-muted);font-size:.78rem;font-weight:700}.site-header__tools{display:flex;align-items:center;gap:.55rem}.theme-switcher{display:inline-flex;align-items:center;gap:.12rem;padding:.18rem;border-radius:999px;background:var(--switcher-bg);box-shadow:var(--switcher-shadow)}.theme-switcher__btn{display:grid;place-items:center;width:1.85rem;height:1.85rem;padding:0;border:0;border-radius:.55rem;background:transparent;color:var(--switcher-icon);cursor:pointer}.theme-switcher__btn svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.theme-switcher__btn.is-active{background:var(--switcher-active);color:#fff}.site-header__lang{display:grid;place-items:center;min-width:2.1rem;min-height:1.55rem;border:1px solid var(--header-border);border-radius:999px;color:var(--header-text)}.site-header__main{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:.55rem 0 .7rem}.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none}.brand__mark{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:12px;background:linear-gradient(135deg,#e23b3b,#3d78ff);color:white;font-size:.82rem;font-weight:800}.brand__copy{display:grid;line-height:1.1}.brand__copy strong{font-size:1.15rem;font-weight:800}.brand__copy em{color:var(--header-muted);font-size:.72rem;font-style:normal;font-weight:700}.site-nav{display:flex;gap:.2rem;overflow-x:auto;scrollbar-width:none}.site-nav::-webkit-scrollbar{display:none}.site-nav-link{display:grid;justify-items:center;grid-gap:.18rem;gap:.18rem;min-width:4.6rem;padding:.35rem .55rem;color:var(--nav-muted);text-decoration:none;font-size:.72rem;font-weight:750}.site-nav-link svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.site-nav-link.is-accent{color:#d62828}.site-nav-link.is-active{color:var(--header-text)}.page-shell{width:min(1180px,calc(100% - 1.25rem));margin:1rem auto 2rem}.home-hero,.home-stack,.page-shell__content,.panel{min-width:0}.home-stack{display:grid;grid-gap:1.1rem;gap:1.1rem}.home-hero,.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--card-bg);box-shadow:var(--shadow)}.panel{padding:1.35rem 1.3rem 1.25rem}.eyebrow{color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.home-hero{overflow:hidden;padding:1.4rem 1.3rem 1.5rem}.home-hero__copy{display:grid;grid-gap:.45rem;gap:.45rem;max-width:36rem}.home-hero h1{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800;line-height:.95}.home-hero__lead{color:var(--muted);font-size:1.05rem;max-width:46ch}.home-hero__countdown{display:grid;justify-items:center;grid-gap:.55rem;gap:.55rem;margin-top:1.4rem;text-align:center}.home-hero__timer{display:inline-flex;align-items:flex-start;gap:.2rem;padding:.7rem 1.2rem .55rem;border:1px solid var(--line);border-radius:999px;background:var(--inset-strong)}.home-hero__unit{display:grid;min-width:3.2rem;grid-gap:.2rem;gap:.2rem}.home-hero__timer>span,.home-hero__unit strong{color:var(--accent);font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.home-hero__unit span{font-size:.72rem;font-weight:700}.home-hero__countdown h2{font-size:clamp(1.35rem,3vw,2rem)}.home-hero__next{color:var(--muted);font-weight:650}.home-hero__next em{color:var(--accent);font-style:normal;font-weight:800}.home-hero__track{overflow-x:auto;margin-top:1.2rem}.home-hero__timeline{position:relative;display:flex;justify-content:space-between;gap:.4rem;min-width:40rem;margin:0 auto;padding:.2rem 0 0;list-style:none}.home-hero__timeline:before{content:"";position:absolute;top:.92rem;right:1.4rem;left:1.4rem;height:2px;background:var(--accent)}.home-hero__node{position:relative;z-index:1;display:grid;justify-items:center;flex:1 1;grid-gap:.4rem;gap:.4rem}.home-hero__dot{display:grid;place-items:center;min-width:2.2rem;min-height:1.85rem;padding:.18rem .45rem;border:1px solid var(--line);border-radius:999px;background:var(--dot-bg);font-size:.68rem;font-weight:800}.home-hero__label{max-width:7rem;font-size:.72rem;font-weight:700;text-align:center}.home-hero__node.is-today .home-hero__dot{background:var(--dem);border-color:transparent;box-shadow:0 0 0 6px rgba(61,120,255,.28)}.home-hero__node.is-election .home-hero__label,.home-hero__node.is-today .home-hero__label{color:var(--accent)}.home-hero__node.is-past .home-hero__label{color:var(--muted)}.chamber-toggle{display:inline-flex;padding:.2rem;border:1px solid var(--line);border-radius:999px;background:var(--toggle-track)}.chamber-toggle__btn{min-height:2.2rem;padding:0 1rem;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font-weight:800}.chamber-toggle__btn.is-active{background:var(--toggle-active-bg);color:var(--toggle-active-text)}.admin-login,.admin-raw,.chamber-battle,.home-buzz,.home-headlines,.home-markets,.home-news,.home-polls,.home-trends,.seat-board,.today-changes{display:grid;grid-gap:1.1rem;gap:1.1rem}.chamber-battle__head,.home-buzz__head,.home-markets__head,.home-trends__head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.admin-login h1,.admin-raw h2,.chamber-battle h2,.home-buzz h2,.home-headlines h2,.home-markets h2,.home-news h2,.home-polls h2,.home-trends h2,.seat-board h2,.today-changes h2{font-size:clamp(1.55rem,3vw,2.15rem);font-weight:800}.chamber-battle__source{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:.8rem;gap:.8rem;width:min(28rem,100%);margin:0 auto;padding:.7rem .85rem;border-radius:16px;background:var(--source-bg);color:var(--source-text);text-align:center}.chamber-battle__source span,.chamber-battle__source strong{display:block}.chamber-battle__source span{color:var(--source-muted);font-size:.78rem;font-weight:700}.chamber-battle__arrow{width:2rem;height:2rem;border:0;border-radius:999px;background:var(--source-btn);color:var(--source-text);cursor:pointer;font-size:1.2rem}.chamber-battle__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.chamber-battle__block{display:grid;grid-gap:.2rem;gap:.2rem;padding:.85rem .4rem;text-align:center;border-right:1px solid var(--line)}.chamber-battle__block:last-child{border-right:0}.chamber-battle__block em,.chamber-battle__block small,.chamber-battle__block span{color:var(--muted);font-size:.78rem;font-style:normal;font-weight:700}.chamber-battle__block strong{font-size:clamp(2rem,4vw,3.2rem);font-weight:800;line-height:1}.chamber-battle__block.is-dem strong{color:#8eb4ff}.chamber-battle__block.is-gop strong{color:#ff8b8b}.chamber-battle__block.is-need strong{color:var(--accent)}.chamber-battle__block.is-ind strong{color:var(--gold)}.chamber-battle__leaders{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;grid-gap:.8rem;gap:.8rem}.chamber-battle__split{display:flex;gap:.85rem;text-align:center}.chamber-battle__split strong{display:block;font-size:1.15rem}.chamber-battle__split span{color:var(--muted);font-size:.72rem;font-weight:700}.leader-card{display:flex;align-items:center;gap:.7rem}.leader-card:last-child{justify-content:flex-end;text-align:right}.buzz-ring__face,.headline-card__avatar,.leader-card__avatar{display:grid;place-items:center;width:3.1rem;height:3.1rem;border-radius:999px;font-weight:800}.buzz-ring__face.is-d,.headline-card__avatar.is-d,.leader-card.is-d .leader-card__avatar{background:#2a5ad4}.buzz-ring__face.is-r,.headline-card__avatar.is-r,.leader-card.is-r .leader-card__avatar{background:#c42d2d}.leader-card span:last-child{color:var(--muted);font-size:.78rem}.seat-board__head{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;grid-gap:1rem;gap:1rem}.seat-gauge{position:relative}.seat-gauge svg{width:100%;height:auto}.seat-gauge__label{position:absolute;inset:auto 0 .1rem;text-align:center}.seat-gauge__label strong{display:block;color:var(--accent);font-size:2rem;line-height:1}.seat-board__note{color:var(--muted);margin-top:.35rem}.seat-board__columns{display:grid;grid-template-columns:1fr 1fr;grid-gap:.85rem;gap:.85rem}.seat-column{padding:1rem;border:1px solid var(--line);border-radius:18px;background:var(--inset)}.seat-column h3{margin-bottom:.8rem}.seat-column ol{display:grid;grid-gap:.7rem;gap:.7rem;margin:0;padding:0;list-style:none}.seat-column li{display:grid;grid-template-columns:2.4rem minmax(0,1fr) minmax(7rem,.9fr);align-items:center;grid-gap:.6rem;gap:.6rem}.seat-column__track{height:.72rem;overflow:hidden;border-radius:999px;background:var(--track)}.seat-column__bar{height:100%;border-radius:inherit}.seat-column.is-dem .seat-column__bar{background:var(--dem)}.seat-column.is-gop .seat-column__bar{background:var(--gop)}.seat-column__meta{display:grid;min-width:0}.seat-column__meta em,.seat-column__meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-column__meta em{color:var(--muted);font-size:.72rem;font-style:normal}.today-changes__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.7rem;gap:.7rem}.bet-card,.headline-detail,.home-trends__card,.today-card,.today-story{border:1px solid var(--line);border-radius:16px;background:var(--inset)}.today-card{display:grid;grid-gap:.35rem;gap:.35rem;padding:.95rem .85rem}.today-card span{color:var(--muted);font-size:.75rem;font-weight:800}.tone-icon{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:999px;font-style:normal;font-size:.75rem}.tone-icon.is-up{background:rgba(62,207,142,.18);color:var(--up)}.tone-icon.is-down{background:rgba(255,122,114,.18);color:var(--accent)}.tone-icon.is-flat{background:var(--track);color:var(--text)}.today-story{display:grid;grid-gap:.7rem;gap:.7rem;padding:1.15rem 1.1rem}.today-story h3{font-size:1.45rem}.today-story p{color:var(--muted);max-width:78ch}.home-buzz h2,.home-markets h2,.home-trends h2{color:var(--accent)}.home-buzz__head p,.home-markets__head p,.home-trends__head p,.home-trends__note{color:var(--muted)}.home-buzz__head span,.home-markets__brand,.home-trends__head a{font-weight:700}.home-markets__chart,.leading-bets{display:grid;grid-gap:.85rem;gap:.85rem}.headline-detail ul,.home-markets__chart ol,.home-news ol,.leading-bets ul{margin:0;padding:0;list-style:none}.home-markets__chart ol{display:grid;grid-gap:.7rem;gap:.7rem}.home-markets__chart li{display:grid;grid-template-columns:9.5rem minmax(0,1fr);align-items:center;grid-gap:.8rem;gap:.8rem}.market-track{height:2.25rem;overflow:hidden;border-radius:10px;background:var(--track)}.market-bar{display:flex;align-items:center;height:100%;min-width:2.8rem;padding:0 .7rem;border-radius:10px;font-weight:800}.home-markets__chart a{color:var(--link);font-weight:750;text-decoration:none}.leading-bets__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.bet-card,.leading-bets__grid{display:grid;grid-gap:.7rem;gap:.7rem}.bet-card{min-height:12.5rem;padding:.95rem}.bet-card ul{display:grid;grid-gap:.35rem;gap:.35rem}.bet-card li{display:flex;justify-content:space-between;gap:.6rem;font-weight:700}.bet-card ul.is-binary,.bet-card.is-binary{align-content:start}.bet-card p{color:var(--muted);font-size:.78rem}.home-trends__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:.7rem;gap:.7rem}.home-trends__card{display:grid;grid-gap:.25rem;gap:.25rem;min-height:10.2rem;padding:.85rem}.home-trends__card em,.home-trends__card span{font-size:.75rem;font-style:normal;font-weight:800}.home-trends__card b{font-size:1.3rem}.home-trends__spark{width:100%;height:2.15rem;color:var(--up)}.home-trends__card .is-down,.home-trends__card em.is-down{color:var(--accent)}.home-trends__card em.is-up{color:var(--up)}.headline-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(8.2rem,1fr);grid-gap:.65rem;gap:.65rem;overflow-x:auto}.headline-card{position:relative;display:grid;justify-items:center;grid-gap:.35rem;gap:.35rem;padding:.85rem .5rem .75rem;border:1px solid transparent;border-radius:16px;background:transparent;color:inherit;cursor:pointer;text-align:center}.headline-card.is-active{border-color:var(--dem);background:rgba(61,120,255,.08)}.headline-card__rank{position:absolute;top:.4rem;right:.45rem;display:grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.68rem;font-weight:800}.headline-card em{color:var(--muted);font-size:.72rem;font-style:normal}.headline-detail{display:grid;grid-template-columns:16rem minmax(0,1fr);grid-gap:1rem;gap:1rem;padding:1rem}.headline-detail__badge{display:grid;place-items:center;min-height:4.2rem;padding:.8rem;border-radius:14px;background:var(--accent);color:#fff;font-weight:800;text-align:center}.headline-detail li{display:grid;grid-gap:.15rem;gap:.15rem;padding:.45rem 0;border-bottom:1px solid var(--line)}.headline-detail span{color:var(--accent);font-size:.78rem;font-weight:800}.home-buzz__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:.7rem;gap:.7rem}.buzz-card{display:grid;justify-items:center;grid-gap:.28rem;gap:.28rem;text-align:center}.buzz-ring{display:grid;place-items:center;width:5.1rem;height:5.1rem;border-radius:999px}.buzz-ring__face{width:3.7rem;height:3.7rem;background:#12284f}.buzz-card i{font-style:normal;font-size:.85rem}.buzz-card i.is-up{color:var(--up)}.buzz-card i.is-down{color:var(--accent)}.buzz-card span{color:var(--muted);font-size:.78rem}.home-news ol{display:grid;grid-gap:.55rem;gap:.55rem}.home-news li{display:grid;grid-template-columns:5.5rem minmax(0,1fr);grid-gap:.8rem;gap:.8rem;align-items:baseline;padding-bottom:.55rem;border-bottom:1px solid var(--line)}.home-news span{color:var(--accent);font-size:.82rem;font-weight:800}.home-news a{text-decoration:none}.home-news a:hover{text-decoration:underline}.site-footer{width:min(1180px,calc(100% - 2rem));margin:0 auto 1.5rem;color:var(--muted);font-size:.86rem;line-height:1.7;text-align:center}.site-footer p+p{margin-top:.35rem}.pwa-install{position:fixed;right:.85rem;bottom:.85rem;left:.85rem;z-index:40;display:flex;align-items:center;gap:.75rem;max-width:28rem;margin:0 auto;padding:.8rem .75rem .8rem .8rem;border:1px solid var(--line);border-radius:18px;background:var(--navy-card);box-shadow:var(--shadow);color:var(--text)}.pwa-install__mark{display:grid;place-items:center;width:2.4rem;height:2.4rem;flex:0 0 auto;border-radius:10px;background:linear-gradient(135deg,#e23b3b,#3d78ff);color:#fff;font-size:.72rem;font-weight:800}.pwa-install__copy{min-width:0;flex:1 1;line-height:1.25}.pwa-install__copy strong{display:block;font-size:.95rem;font-weight:800}.pwa-install__copy p{color:var(--muted);font-size:.78rem}.pwa-install__copy b{color:var(--text)}.pwa-install__action{padding:.45rem .75rem;background:var(--toggle-active-bg);color:var(--toggle-active-text);font-size:.78rem;font-weight:750}.pwa-install__action,.pwa-install__close{flex:0 0 auto;border:0;border-radius:999px;cursor:pointer}.pwa-install__close{width:1.7rem;height:1.7rem;padding:0;background:transparent;color:var(--muted);font-size:1.25rem;line-height:1}@media (max-width:980px){.chamber-battle__grid,.home-buzz__grid,.home-trends__grid,.leading-bets__grid,.today-changes__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chamber-battle__leaders,.headline-detail,.seat-board__head{grid-template-columns:1fr}.chamber-battle__split,.leader-card:last-child{justify-content:flex-start;text-align:left}}@media (prefers-reduced-motion:reduce){.site-header{transition:none}}@media (max-width:720px){.site-header{transform:none;transition:top .28s ease,box-shadow .2s ease}.site-header.is-hidden{top:calc(-1 * var(--site-header-h, 5.5rem));transform:none}@media (prefers-reduced-motion:reduce){.site-header{transition:none}}.site-header.is-hidden .site-nav{pointer-events:auto}.site-header__date{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-header__main{display:flex;padding-bottom:.85rem}.site-nav{position:fixed;right:0;bottom:0;left:0;z-index:30;justify-content:space-around;gap:0;padding:.4rem .25rem calc(.4rem + env(safe-area-inset-bottom));background:var(--header);border-top:1px solid var(--header-border);box-shadow:0 -10px 28px rgba(8,18,40,.12);overflow:visible}.site-nav-link{min-width:0;flex:1 1;padding:.28rem .1rem;font-size:.62rem}.app-shell{padding-bottom:calc(4.4rem + env(safe-area-inset-bottom))}.pwa-install{bottom:calc(4.7rem + env(safe-area-inset-bottom))}.theme-switcher__btn{width:1.7rem;height:1.7rem}.chamber-battle__grid,.home-buzz__grid,.home-markets__chart li,.home-news li,.home-trends__grid,.leading-bets__grid,.seat-board__columns,.today-changes__grid{grid-template-columns:1fr}.seat-column li{grid-template-columns:2rem minmax(0,1fr)}.seat-column__meta{grid-column:1/-1}}.admin-raw__head,.home-polls__head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.admin-raw__status,.home-polls__credit,.home-polls__meta{color:var(--muted);font-size:.86rem;font-weight:650}.home-polls__summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.poll-meter{display:grid;grid-gap:.35rem;gap:.35rem;padding:.95rem 1rem;border:1px solid var(--line);border-radius:16px;background:var(--inset-strong)}.poll-meter span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.poll-meter strong{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1}.poll-meter__bar{display:flex;overflow:hidden;height:.7rem;border-radius:999px;background:var(--track)}.poll-meter__bar i{background:var(--dem)}.poll-meter__bar b{background:var(--gop)}.poll-meter small{color:var(--muted);font-size:.75rem}.poll-table-wrap{overflow-x:auto}.poll-table{width:100%;border-collapse:collapse;font-size:.86rem}.poll-table td,.poll-table th{padding:.55rem .45rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.poll-table th{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.poll-table td span,.poll-table td strong{display:block}.poll-table td span{color:var(--muted);font-size:.75rem}.poll-table a{color:var(--link)}.admin-login__form,.admin-raw__tools{display:grid;grid-gap:.7rem;gap:.7rem}.admin-login__form input,.admin-login__form label,.admin-raw__search{display:grid;grid-gap:.35rem;gap:.35rem}.admin-login__form input,.admin-raw__search{width:100%;min-height:2.6rem;padding:.55rem .75rem;border:1px solid var(--line);border-radius:12px;background:var(--inset-strong);color:var(--text)}.admin-login__google,.admin-raw__filters button,.admin-raw__logout{min-height:2.3rem;padding:0 .9rem;border:0;border-radius:999px;background:var(--toggle-active-bg);color:var(--toggle-active-text);cursor:pointer;font-weight:800}.admin-login__error,.admin-raw__who{color:#ff8b8b}.admin-raw__who{margin-top:.35rem;color:var(--muted);font-size:.82rem;font-weight:700}.admin-raw__filters{display:flex;flex-wrap:wrap;gap:.35rem}.admin-raw__filters button{background:var(--track);color:var(--text)}.admin-raw__filters button.is-active{background:var(--toggle-active-bg);color:var(--toggle-active-text)}.admin-raw__id{padding:0;border:0;background:none;color:var(--link);cursor:pointer;font:inherit}.admin-raw__json pre{overflow-x:auto;margin:0;padding:.8rem;border-radius:12px;background:var(--json-bg);font-size:.75rem}@media (max-width:900px){.home-polls__summary{grid-template-columns:1fr}.admin-raw__head,.home-polls__head{flex-direction:column}}[data-theme=dark]{--campaign-ink:#f7f3eb;--campaign-subtle:#b3bed0;--campaign-panel:#0e213b;--campaign-panel-2:#132c4a;--campaign-stroke:rgba(228,237,252,0.14);--campaign-accent:#f6be73;--campaign-accent-ink:#1b2636;--campaign-hero:radial-gradient(circle at 82% 12%,rgba(91,131,185,0.24),transparent 34%),linear-gradient(120deg,#142e4d,#0b1d35 55%,#122b48);--map-open:#2a4060;--map-open-ink:#d7deea}[data-theme=light]{--campaign-ink:#172941;--campaign-subtle:#54647a;--campaign-panel:#fffdf8;--campaign-panel-2:#f2f5f7;--campaign-stroke:rgba(23,41,65,0.14);--campaign-accent:#a65b25;--campaign-accent-ink:#ffffff;--campaign-hero:radial-gradient(circle at 82% 12%,rgba(111,153,206,0.19),transparent 34%),linear-gradient(120deg,#faf6ed,#f4f6f7 58%,#e8eff7);--map-open:#d5dbe3;--map-open-ink:#172941}.campaign-header{border-bottom:1px solid var(--campaign-stroke);box-shadow:0 8px 28px rgba(2,12,28,.12)}.campaign-header__inner{width:min(1180px,calc(100% - 2rem));margin:auto;min-height:4.9rem;display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);grid-gap:1.2rem;gap:1.2rem;align-items:center}.campaign-header .brand__mark{background:linear-gradient(140deg,#e55850,#315e9d);border-radius:.7rem;letter-spacing:.02em}.campaign-header .brand__copy em{font-size:.69rem}.campaign-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.2rem;max-width:100%;padding:.25rem;border:1px solid var(--header-border);border-radius:999px}.campaign-nav__link{min-width:6.1rem;padding:.48rem .8rem;border-radius:999px;color:var(--header-muted);font-size:.88rem;font-weight:750;text-align:center;text-decoration:none;transition:background .2s ease,color .2s ease}.campaign-nav__link.is-active,.campaign-nav__link:hover{background:var(--campaign-panel-2);color:var(--campaign-ink)}.campaign-header__tools{display:flex;justify-content:flex-end;align-items:center;gap:.65rem}.language-switch{display:inline-flex;gap:.12rem;padding:.2rem;border:1px solid var(--header-border);border-radius:999px}.language-switch button{min-width:2.4rem;padding:.27rem .4rem;border:0;border-radius:999px;background:transparent;color:var(--header-muted);font-size:.76rem;font-weight:800;cursor:pointer}.language-switch button.is-active{background:var(--campaign-accent);color:var(--campaign-accent-ink)}.hold-menu{display:none;position:relative}.hold-menu__option,.hold-menu__trigger{display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:0;border-radius:999px;background:transparent;color:var(--switcher-icon);font-size:.76rem;font-weight:800;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hold-menu__trigger{touch-action:manipulation}.hold-menu__trigger.is-holding{transform:scale(.94)}.hold-menu--language .hold-menu__trigger{background:var(--campaign-accent);color:var(--campaign-accent-ink)}.hold-menu--theme .hold-menu__trigger{border:1px solid var(--header-border);border-radius:.75rem;background:var(--switcher-bg);color:var(--switcher-icon);box-shadow:var(--switcher-shadow)}.hold-menu--theme .hold-menu__option svg,.hold-menu--theme .hold-menu__trigger svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hold-menu__panel{position:absolute;top:calc(100% + .45rem);right:0;z-index:5;display:flex;gap:.12rem;padding:.2rem;border:1px solid var(--header-border);border-radius:999px;background:var(--switcher-bg);box-shadow:var(--switcher-shadow)}.campaign-stack{display:grid;grid-gap:1.15rem;gap:1.15rem;min-width:0;color:var(--campaign-ink)}.campaign-facts,.campaign-hero,.campaign-page-intro,.campaign-panel,.timeline-list{min-width:0;border:1px solid var(--campaign-stroke);border-radius:1.5rem}.campaign-hero{min-height:29rem;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(16rem,.75fr);align-items:center;grid-gap:2rem;gap:2rem;padding:clamp(1.7rem,5vw,4.6rem);background:var(--campaign-hero);overflow:hidden}.campaign-kicker{display:flex;align-items:center;gap:.6rem;color:var(--campaign-accent);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.campaign-kicker__dot{width:.5rem;height:.5rem;border-radius:50%;background:currentColor;box-shadow:0 0 0 .3rem color-mix(in srgb,var(--campaign-accent) 20%,transparent)}.campaign-hero h1,.campaign-page-intro h1{max-width:12ch;margin:1.25rem 0 1rem;font-size:clamp(3.1rem,6.7vw,6.1rem);line-height:.94;letter-spacing:-.06em;font-weight:800}.campaign-hero__lead,.campaign-page-intro>p:not(.campaign-kicker){max-width:54ch;color:var(--campaign-subtle);font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.58}.campaign-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.8rem}.campaign-button{display:inline-flex;justify-content:center;align-items:center;gap:1rem;min-height:2.9rem;padding:.5rem 1.1rem;border:1px solid var(--campaign-stroke);border-radius:.7rem;font-size:.89rem;font-weight:800;text-decoration:none}.campaign-button--primary{background:var(--campaign-accent);color:var(--campaign-accent-ink);border-color:transparent}.campaign-button--secondary{color:var(--campaign-ink);background:color-mix(in srgb,var(--campaign-panel) 74%,transparent)}.election-date-card{display:grid;align-content:center;min-height:16rem;padding:1.6rem;border:1px solid var(--campaign-stroke);border-radius:1.1rem;background:color-mix(in srgb,var(--campaign-panel) 86%,transparent);box-shadow:0 22px 45px rgba(4,12,25,.12)}.campaign-section-label,.election-date-card__label{color:var(--campaign-accent);font-size:.73rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.election-date-card>strong{margin:.85rem 0;font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.1}.election-date-card__rule{height:1px;margin:.55rem 0 1rem;background:var(--campaign-stroke)}.election-date-card p{color:var(--campaign-subtle);font-weight:650}.election-countdown{display:flex;align-items:flex-start;justify-content:space-between;gap:.15rem}.election-countdown__unit{display:grid;flex:1 1;justify-items:center;grid-gap:.4rem;gap:.4rem;min-width:0}.election-countdown__sep,.election-countdown__unit b{color:var(--campaign-accent);font-size:clamp(1.35rem,2.2vw,1.85rem);font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.election-countdown__sep{opacity:.55}.election-countdown__unit span{color:var(--campaign-subtle);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.campaign-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--campaign-panel)}.campaign-facts>div{display:grid;grid-gap:.3rem;gap:.3rem;padding:1.4rem 1.8rem}.campaign-facts>div+div{border-left:1px solid var(--campaign-stroke)}.campaign-facts strong{color:var(--campaign-accent);font-size:clamp(1.5rem,3vw,2rem);line-height:1}.campaign-facts span{color:var(--campaign-subtle);font-size:.82rem;font-weight:650}.campaign-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1.15rem;gap:1.15rem}.campaign-panel{min-width:0;padding:clamp(1.4rem,3vw,2.2rem);background:var(--campaign-panel)}.campaign-panel h2{margin:.55rem 0 .9rem;font-size:clamp(1.3rem,2.5vw,1.95rem);line-height:1.2}.campaign-panel>div>p:not(.campaign-section-label),.campaign-panel>p:not(.campaign-section-label){color:var(--campaign-subtle);font-size:.94rem;line-height:1.65}.campaign-panel a,.campaign-text-link{color:var(--campaign-accent);font-size:.9rem;font-weight:800;text-decoration:none}.campaign-text-link{display:inline-block;margin-top:1.25rem}.campaign-panel a:hover,.campaign-source-note a:hover{text-decoration:underline}.campaign-panel--list ul{display:grid;grid-gap:0;gap:0;margin:1.2rem 0 0;padding:0;list-style:none}.campaign-panel--list li{display:grid;grid-template-columns:2.4rem 1fr;grid-gap:.8rem;gap:.8rem;padding:.82rem 0;border-top:1px solid var(--campaign-stroke)}.campaign-panel--list li>span{color:var(--campaign-accent);font-size:.78rem;font-weight:800}.campaign-panel--list li strong{font-size:.94rem}.campaign-panel--list li p{margin-top:.22rem;color:var(--campaign-subtle);font-size:.82rem;line-height:1.45}.campaign-source-note{padding:.3rem .4rem;color:var(--campaign-subtle);font-size:.76rem}.campaign-source-note a{color:var(--campaign-accent);font-weight:800}.campaign-page-intro{position:relative;padding:clamp(1.8rem,4.7vw,3.8rem);background:var(--campaign-hero)}.campaign-page-intro h1{max-width:17ch;font-size:clamp(2.7rem,5.5vw,4.9rem)}.timeline-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(16rem,.82fr);align-items:stretch;grid-gap:clamp(1.2rem,3vw,2.6rem);gap:clamp(1.2rem,3vw,2.6rem);padding-right:clamp(1rem,2vw,1.35rem)}.timeline-intro__copy{min-width:0;align-self:center}.candidate-pair{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;margin:0;min-height:15.5rem;overflow:hidden;border-radius:1.15rem;background:radial-gradient(circle at 22% 18%,rgba(255,255,255,.55) 0 1px,transparent 2px),radial-gradient(circle at 78% 28%,rgba(255,255,255,.4) 0 1px,transparent 2px),linear-gradient(105deg,#1d4f9c,#6f97d6 42%,#f7f4ef 50%,#ef8b84 58%,#c43232);box-shadow:0 18px 36px rgba(4,12,25,.22)}.candidate-pair img{width:100%;height:100%;min-height:15.5rem;object-fit:cover;object-position:center 16%;filter:grayscale(1) contrast(1.08)}.candidate-pair img.is-obama{object-position:center 8%}.candidate-pair:after,.candidate-pair:before{content:"";position:absolute;inset:0;pointer-events:none}.candidate-pair:before{z-index:1;background-image:radial-gradient(circle,rgba(255,255,255,.9) 0 1.1px,transparent 1.5px);background-size:42px 36px;background-position:6px 8px;mix-blend-mode:screen;opacity:.45}.candidate-pair:after{z-index:1;background:linear-gradient(100deg,rgba(29,79,156,.9),rgba(70,130,210,.55) 34%,rgba(244,214,228,.28) 50%,rgba(220,80,80,.55) 66%,rgba(176,32,40,.9));mix-blend-mode:color}.candidate-pair.is-open{grid-template-columns:1fr;place-items:center;align-content:center;gap:.85rem;padding:1.2rem;text-align:center}.candidate-pair__ghost{display:grid;grid-template-columns:1fr 1fr;grid-gap:.8rem;gap:.8rem;width:min(100%,16rem)}.candidate-pair__ghost i{display:block;height:8.5rem;border-radius:4.2rem 4.2rem 1rem 1rem;background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.72) 0 1.15rem,transparent 1.2rem),linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.08))}.candidate-pair figcaption{position:relative;z-index:1;margin:0;color:white;font-size:.92rem;font-weight:800;text-shadow:0 1px 8px rgba(8,18,40,.45)}.poll-count{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.5rem;padding:.42rem .75rem;border:1px solid var(--campaign-stroke);border-radius:999px;color:var(--campaign-subtle);font-size:.79rem;font-weight:700}.poll-count b{color:var(--campaign-accent);font-size:1rem}.poll-empty{min-height:17rem;display:grid;align-content:center;justify-items:center;text-align:center}.poll-empty__icon{display:grid;place-items:center;width:3rem;height:3rem;border:1px solid var(--campaign-stroke);border-radius:50%;color:var(--campaign-accent);font-size:2rem}.poll-empty h2{max-width:25ch}.poll-empty>p{max-width:67ch}.criteria-list{display:grid;grid-gap:.75rem;gap:.75rem;padding-left:1.2rem;color:var(--campaign-subtle);font-size:.92rem;line-height:1.5}.criteria-list li::marker{color:var(--campaign-accent);font-weight:800}.poll-sources,.timeline-sources{display:flex;justify-content:space-between;align-items:center;gap:2rem}.poll-sources>div:first-child,.timeline-sources>div:first-child{max-width:63ch}.poll-sources__links,.timeline-sources>div:last-child{display:grid;grid-gap:.5rem;gap:.5rem;min-width:13rem}.poll-entry__head{display:flex;justify-content:space-between;gap:1rem}.poll-entry__head>span{color:var(--campaign-subtle);white-space:nowrap}.poll-entry__results{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.poll-entry__results span{padding:.45rem .65rem;border:1px solid var(--campaign-stroke);border-radius:.5rem}.poll-entry__results strong{color:var(--campaign-accent)}.poll-tabs{display:flex;flex-wrap:nowrap;gap:.3rem;width:100%;max-width:100%;min-width:0;margin-top:1.35rem;padding:.28rem;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;border:1px solid var(--campaign-stroke);border-radius:999px;background:color-mix(in srgb,var(--campaign-panel) 72%,transparent)}.poll-tabs::-webkit-scrollbar{display:none}.poll-tabs button{flex:0 0 auto;border:0;border-radius:999px;background:transparent;color:var(--campaign-subtle);padding:.55rem .95rem;font:inherit;font-size:.88rem;font-weight:800;white-space:nowrap;cursor:pointer}.poll-tabs button.is-active{background:var(--campaign-accent);color:var(--campaign-accent-ink)}.poll-tabs:has(.poll-tabs__rest){overflow:hidden}.poll-tabs__rest{display:flex;flex:1 1 auto;min-width:0;gap:.3rem;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.poll-tabs__rest::-webkit-scrollbar{display:none}.poll-archive{display:grid;grid-gap:.85rem;gap:.85rem}.poll-chips{display:flex;flex-wrap:nowrap;gap:.4rem;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:.35rem;scrollbar-width:thin}.poll-chips button{flex:0 0 auto;border:1px solid var(--campaign-stroke);border-radius:999px;background:var(--campaign-panel-2);color:var(--campaign-ink);padding:.38rem .72rem;font:inherit;font-size:.82rem;font-weight:700;white-space:nowrap;cursor:pointer}.poll-chips button.is-active{border-color:transparent;background:var(--campaign-accent);color:var(--campaign-accent-ink)}.poll-chips button.is-result{border-color:#3da35d;background:#e7f8ec;color:#145c32}.poll-chips button.is-result.is-active{border-color:transparent;background:#1f8a4c;color:white}.poll-bar-legend{display:flex;flex-wrap:wrap;gap:.4rem;margin:.85rem 0 .35rem}.poll-bars+.poll-bar-legend,.poll-note+.poll-bar-legend{margin:.15rem 0 .2rem}.poll-bar-legend button{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--campaign-stroke);border-radius:999px;background:var(--campaign-panel-2);color:var(--campaign-subtle);padding:.38rem .72rem;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}.poll-bar-legend button.is-trump{border-color:transparent;background:#e23b32;color:white}.poll-bar-legend button.is-biden{border-color:transparent;background:#3d7adf;color:white}.poll-bar-legend button.is-harris{border-color:transparent;background:#1d4f9c;color:white}.poll-bar-legend button.is-result{border-color:transparent;background:#1f8a4c;color:white}.poll-bar__swatch--result{background:#1f8a4c}.poll-bar-legend button.is-active .poll-bar__swatch{background:white}.poll-bars{display:flex;flex-wrap:nowrap;align-items:stretch;gap:.75rem;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding:.85rem .15rem .55rem;scrollbar-width:thin}.poll-bar{position:relative;flex:0 0 auto;width:8.6rem;display:grid;justify-items:center;align-content:stretch;grid-template-rows:minmax(8.8rem,1fr) auto auto auto;grid-gap:.42rem;gap:.42rem;padding:.85rem .55rem .7rem;border:1px solid var(--campaign-stroke);border-radius:1.15rem;background:color-mix(in srgb,var(--campaign-panel) 88%,white);box-shadow:0 14px 28px rgba(23,41,65,.08)}.poll-bar--lead-trump{background:color-mix(in srgb,#e23b32 20%,var(--campaign-panel));border-color:color-mix(in srgb,#e23b32 42%,var(--campaign-stroke))}.poll-bar--lead-democrat{background:color-mix(in srgb,#3d7adf 20%,var(--campaign-panel));border-color:color-mix(in srgb,#3d7adf 40%,var(--campaign-stroke))}.poll-bar--result.poll-bar--lead-trump{background:linear-gradient(0deg,#e7f6ec 0,#f7cdc8);border-color:#efb2ac}.poll-bar--result.poll-bar--lead-democrat{background:linear-gradient(0deg,#bfe8cf 0,#d3e4fc);border-color:#b7cff6}[data-theme=dark] .poll-bar--result.poll-bar--lead-trump{background:linear-gradient(0deg,#1c4034 0,#5a2a2c);border-color:rgba(226,59,50,.45)}[data-theme=dark] .poll-bar--result.poll-bar--lead-democrat{background:linear-gradient(0deg,#1a4a34 0,#1c335c);border-color:rgba(61,122,223,.45)}.poll-bar--result{width:auto;min-width:9.2rem}.poll-bar__votes{display:flex;flex-direction:column;align-items:center;height:100%;margin-left:.2rem;padding-left:.55rem;border-left:1px solid color-mix(in srgb,var(--campaign-ink) 18%,transparent)}.poll-bar__votes-label{margin-bottom:.28rem;color:var(--campaign-subtle);font-size:.62rem;font-weight:800;letter-spacing:.04em;line-height:1;text-align:center;text-transform:uppercase}.poll-bar__votes .poll-bar__pair{flex:1 1;min-height:0}.poll-bar--result .poll-bar__pollster{background:#f4fff7;color:#145c32;box-shadow:inset 0 -2px 0 #1f8a4c}.poll-bar__pair{display:flex;align-items:stretch;justify-content:center;gap:.45rem;height:100%;min-height:8.8rem}.poll-bar__col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.35rem;height:100%}.poll-bar__pct{color:var(--campaign-ink);font-size:1.35rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1}.poll-bar__who{max-width:4.4rem;color:var(--campaign-ink);font-size:.68rem;font-weight:800;line-height:1.15;text-align:center}.poll-bar__track{display:flex;align-items:flex-end;justify-content:center;width:2.35rem;flex:1 1 auto;height:auto;min-height:7.4rem;padding:.28rem .28rem 0;border-radius:999px}.poll-bar__track--trump{background:linear-gradient(180deg,rgba(226,59,50,.08),rgba(226,59,50,.16))}.poll-bar__track--biden{background:linear-gradient(180deg,rgba(61,122,223,.08),rgba(61,122,223,.18))}.poll-bar__track--harris{background:linear-gradient(180deg,rgba(29,79,156,.08),rgba(29,79,156,.2))}.poll-bar__track--news{background:linear-gradient(180deg,rgba(245,197,24,.12),rgba(245,197,24,.24))}.poll-bar__fill{position:relative;display:flex;align-items:center;justify-content:center;width:1.45rem;border-radius:999px}.poll-bar__name{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;padding:.24rem .45rem;border-radius:999px;background:#b4231c;color:white;font-size:.72rem;font-weight:800;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;z-index:1}.poll-bar__name--biden{background:#1d4f9c}.poll-bar__name--harris{background:#14356b}.poll-bar__track:focus-within .poll-bar__name,.poll-bar__track:hover .poll-bar__name{opacity:1}.poll-bar__dot--trump,.poll-bar__fill--trump,.poll-bar__swatch--trump{background:linear-gradient(180deg,#ffb4ac,#e23b32 58%,#b4231c)}.poll-bar__dot--biden,.poll-bar__fill--biden,.poll-bar__swatch--biden{background:linear-gradient(180deg,#c5dcff,#3d7adf 58%,#1d4f9c)}.poll-bar__dot--harris,.poll-bar__fill--harris,.poll-bar__swatch--harris{background:linear-gradient(180deg,#9eb6e8,#1d4f9c 58%,#14356b)}.poll-bar__fill--news{background:linear-gradient(180deg,#ffe58a,#f5c518 58%,#d39b00)}.poll-bar__pct--news{color:#a16207;font-size:1.05rem}.poll-bar--news{width:9.6rem}.poll-bar--news .poll-bar__pollster{max-width:8.6rem}.poll-bar__swatch{width:.7rem;height:.7rem;border-radius:.2rem}.poll-bar__date{margin:.2rem 0 0;color:var(--campaign-subtle);font-size:.72rem;font-weight:700;text-align:center}.poll-bar__pollster{margin:0;max-width:7.6rem;padding:.32rem .4rem;border:1px solid var(--campaign-stroke);border-radius:0;background:color-mix(in srgb,var(--campaign-panel) 70%,white);box-shadow:none;color:var(--campaign-ink);font-size:.68rem;font-weight:800;line-height:1.25;text-align:center}.poll-bar__dots{display:flex;gap:.35rem}.poll-bar__dot{width:.48rem;height:.48rem;border-radius:50%}.poll-note{margin:.9rem 0 0;color:var(--campaign-subtle);font-size:.84rem;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.timeline-list{padding:.6rem clamp(1.2rem,4vw,3rem);background:var(--campaign-panel)}.timeline-stage{display:grid;grid-template-columns:3rem minmax(0,1fr);grid-gap:1.1rem;gap:1.1rem}.timeline-stage__rail{position:relative;display:flex;justify-content:center;padding-top:1.8rem}.timeline-stage__rail:after{content:"";position:absolute;top:3.6rem;bottom:0;left:50%;width:1px;background:var(--campaign-stroke)}.timeline-stage:last-child .timeline-stage__rail:after{display:none}.timeline-stage__rail span{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid var(--campaign-stroke);border-radius:50%;color:var(--campaign-subtle);font-size:.76rem;font-weight:800}.timeline-stage.is-confirmed .timeline-stage__rail span{background:var(--campaign-accent);color:var(--campaign-accent-ink);border-color:transparent}.timeline-stage.is-done .timeline-stage__rail span{background:#1f8a4c;border-color:transparent;color:white}.timeline-stage.is-done .timeline-stage__rail:after{background:#1f8a4c}.timeline-past-title{margin:.4rem 0 0;font-size:clamp(1.35rem,2.4vw,1.8rem)}.timeline-stage__body{padding:1.8rem 0;border-bottom:1px solid var(--campaign-stroke)}.timeline-stage:last-child .timeline-stage__body{border-bottom:0}.timeline-stage__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem}.timeline-stage__meta span{color:var(--campaign-accent);font-size:.82rem;font-weight:800}.timeline-stage__meta small{color:var(--campaign-subtle);font-size:.72rem}.timeline-stage h2{margin:.4rem 0;font-size:clamp(1.2rem,2.2vw,1.6rem)}.timeline-stage p{max-width:75ch;color:var(--campaign-subtle);font-size:.9rem;line-height:1.55}.us-map{display:block;width:80%;height:auto;margin-top:.4rem}.us-map__state{stroke:color-mix(in srgb,var(--campaign-panel) 70%,white);stroke-width:1.1}.us-map__state.is-bushJr,.us-map__state.is-bushSr,.us-map__state.is-dole,.us-map__state.is-mccain,.us-map__state.is-romney,.us-map__state.is-trump{fill:#e23b32}.us-map__state.is-biden,.us-map__state.is-clinton,.us-map__state.is-dukakis,.us-map__state.is-gore,.us-map__state.is-harris,.us-map__state.is-kerry,.us-map__state.is-obama{fill:#1d4f9c}.us-map__state.is-open{fill:var(--map-open)}.us-map.is-open .us-map__label{fill:var(--map-open-ink)}.us-map__label{fill:white;font-weight:800;text-anchor:middle;dominant-baseline:central;pointer-events:none}.us-map__votes{font-weight:700;font-size:.78em}.us-map-legend{display:flex;flex-wrap:wrap;gap:.85rem 1.2rem;margin:.2rem 0 .55rem}.us-map-legend span{display:inline-flex;align-items:center;gap:.45rem;color:var(--campaign-ink);font-size:.82rem;font-weight:800}.us-map-legend i{width:.75rem;height:.75rem;border-radius:.15rem}.us-map-legend i.is-bushJr,.us-map-legend i.is-bushSr,.us-map-legend i.is-dole,.us-map-legend i.is-mccain,.us-map-legend i.is-romney,.us-map-legend i.is-trump{background:#e23b32}.us-map-legend i.is-biden,.us-map-legend i.is-clinton,.us-map-legend i.is-dukakis,.us-map-legend i.is-gore,.us-map-legend i.is-harris,.us-map-legend i.is-kerry,.us-map-legend i.is-obama{background:#1d4f9c}.campaign-footer{color:var(--campaign-subtle)}.campaign-footer strong{color:var(--campaign-ink)}.poll-rows{display:flex;flex-direction:column;gap:.75rem;margin-top:.85rem}.poll-more{height:1px}.poll-bar--loading{position:-webkit-sticky;position:sticky;left:0;z-index:2;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:11.5rem}.poll-load__bars{display:flex;align-items:flex-end;justify-content:center;gap:.7rem;width:100%;height:9.4rem}.poll-load__bars span{width:1.7rem;height:4.8rem;border-radius:999px;background:linear-gradient(180deg,rgba(61,122,223,.35),rgba(226,59,50,.45));transform-origin:center bottom;animation:poll-load-grow .8s ease-in-out infinite alternate}.poll-load__bars span:last-child{height:7.4rem;animation-delay:.16s}.poll-bar--loading:after,.poll-row--loading:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 15%,color-mix(in srgb,white 42%,transparent) 48%,transparent 80%);transform:translateX(-120%);animation:poll-load-sheen 1.15s ease-in-out infinite;pointer-events:none}.poll-load__label{display:flex;flex-direction:column;align-items:center;gap:.45rem;margin:0;color:var(--campaign-subtle);font-size:.72rem;font-weight:800;line-height:1.3;text-align:center}.poll-row--loading{position:relative;display:flex;align-items:center;justify-content:center;gap:.75rem;overflow:hidden;min-height:4.4rem}.poll-load__dots{display:flex;gap:.35rem}.poll-load__dots i{width:.48rem;height:.48rem;border-radius:999px;background:#3d7adf;animation:poll-load-dot .9s ease-in-out infinite}.poll-load__dots i:nth-child(2){animation-delay:.15s;background:#e23b32}.poll-load__dots i:nth-child(3){animation-delay:.3s}@keyframes poll-load-grow{0%{transform:scaleY(.45)}to{transform:scaleY(1)}}@keyframes poll-load-sheen{to{transform:translateX(120%)}}@keyframes poll-load-dot{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-.28rem);opacity:1}}.poll-row.poll-bar--result{width:auto}.poll-row{display:grid;grid-template-columns:minmax(7.6rem,11.5rem) minmax(0,1fr);grid-gap:.7rem 1rem;gap:.7rem 1rem;align-items:center;padding:.9rem 1rem;border:1px solid var(--campaign-stroke);border-radius:1.15rem;background:color-mix(in srgb,var(--campaign-panel) 88%,white);box-shadow:0 14px 28px rgba(23,41,65,.08)}.poll-row__meta{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;min-width:0}.poll-row__meta .poll-bar__pollster{max-width:100%}.poll-row__scores{gap:.7rem}.poll-row__bars,.poll-row__scores{display:flex;flex-direction:column;min-width:0}.poll-row__bars{gap:.45rem}.poll-row__line{display:grid;grid-template-columns:4.8rem minmax(0,1fr) 2.8rem;align-items:center;grid-gap:.5rem;gap:.5rem}.poll-row__who{color:var(--campaign-ink);font-size:.82rem;font-weight:800;line-height:1.2}.poll-row__track{height:.85rem;border-radius:999px;overflow:hidden}.poll-row__fill{display:block;height:100%;border-radius:999px}.poll-row__pct{color:var(--campaign-ink);font-size:1.05rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:end}.poll-row__note{margin:0;color:var(--campaign-subtle);font-size:.78rem;font-weight:700;line-height:1.35}@media (max-width:880px){.campaign-header__inner{grid-template-columns:1fr auto;padding:.65rem 0}.campaign-nav{grid-row:2;grid-column:1/-1;justify-content:center}.campaign-hero,.timeline-intro{grid-template-columns:1fr;padding-right:1.15rem}.candidate-pair,.candidate-pair img{min-height:12.5rem}.election-date-card{min-height:10rem}}@media (max-width:720px){.app-shell{padding-bottom:0}.page-shell{width:min(1180px,calc(100% - 1.5rem))}.campaign-kicker{letter-spacing:.06em;line-height:1.35}.campaign-hero h1{font-size:clamp(2.15rem,10vw,3.1rem)}.campaign-page-intro h1{font-size:clamp(1.9rem,8.2vw,2.7rem)}.campaign-hero,.campaign-page-intro{padding:1.15rem 1rem 1.25rem}.campaign-panel{padding:1rem}.campaign-facts>div{padding:1rem 1.05rem}.campaign-header__inner{width:min(100% - 1rem,1180px);grid-template-columns:minmax(0,1fr) auto;gap:.65rem}.campaign-header .brand,.campaign-header .brand__copy{min-width:0}.campaign-header .brand__copy em{overflow:hidden;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.campaign-header__tools{gap:.35rem}.campaign-nav{width:100%;max-width:100%;min-width:0}.campaign-nav__link{display:flex;align-items:center;justify-content:center;flex:1 1;min-width:0;min-height:2.5rem;padding:.35rem .4rem;font-size:.78rem;line-height:1.15}.language-switch button{min-width:2.5rem;min-height:2.25rem}.campaign-header__tools .theme-switcher__btn{width:2rem;height:2rem}.poll-tabs button{min-height:2.6rem;padding:.45rem .8rem;font-size:.78rem}.poll-bar-legend button,.poll-chips button{min-height:2.25rem}.us-map{width:100%}.campaign-hero{min-height:0}.campaign-columns,.campaign-facts{grid-template-columns:1fr}.campaign-facts>div+div{border-left:0;border-top:1px solid var(--campaign-stroke)}.poll-sources,.timeline-sources{align-items:flex-start;flex-direction:column}.poll-row{grid-template-columns:1fr}.language-switch--full,.theme-switcher--full{display:none}.hold-menu{display:block}.campaign-header__inner{grid-template-columns:minmax(0,1fr) auto}.campaign-header__tools{grid-row:1;grid-column:2;width:auto;justify-content:flex-end;gap:.45rem}.campaign-nav{grid-row:2;grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.campaign-nav__link{transition:none}.poll-bar--loading:after,.poll-load__bars span,.poll-load__dots i,.poll-row--loading:after{animation:none}}