@font-face{font-family:"Inter";font-weight:400;font-display:swap;src:url(/fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:600;font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:800;font-display:swap;src:url(/fonts/inter-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo Black";font-weight:400;font-display:swap;src:url(/fonts/archivo-black-latin-400-normal.woff2) format("woff2")}
:root{
  --navy:#06122e;--navy2:#0c2a63;--blue:#1f6feb;--blue2:#4f9bff;--sky:#dbe9ff;--bg:#f2f6fd;--ink:#0b1a3a;--mute:#5a6b8c;
  --gop:#a8505a;--gop-soft:#f3e3e5;--gold:#f2c94c;--line:#dbe4f4;--card:#fff;
  --head:"Archivo Black","Arial Black",Impact,sans-serif;
  --body:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:16px/1.55 var(--body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
h1,h2{font-family:var(--head);font-weight:400;letter-spacing:.2px;margin:0}

.ticker{background:#020a1d;color:var(--sky);font-size:13px;display:flex;gap:16px;align-items:center;padding:8px 20px;flex-wrap:wrap;justify-content:center;border-bottom:2px solid var(--blue)}
.ticker .live{font-weight:800;letter-spacing:1.5px;color:#fff;display:flex;align-items:center;gap:7px}
.ticker .live i{width:9px;height:9px;border-radius:50%;background:#ff4d5e;box-shadow:0 0 0 0 rgba(255,77,94,.7);animation:pulse 1.6s infinite}
.ticker .upd{opacity:.8}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(255,77,94,0)}100%{box-shadow:0 0 0 0 rgba(255,77,94,0)}}

.hero{background:radial-gradient(1200px 500px at 85% -10%,#1b4fb5 0,transparent 60%),linear-gradient(160deg,var(--navy),var(--navy2));color:#fff;padding:48px 0 96px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.09) 2px,transparent 2px);background-size:56px 56px;pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:center;position:relative;z-index:1}
.eyebrow{margin:0 0 10px;color:var(--blue2);font-weight:800;letter-spacing:3px;text-transform:uppercase;font-size:13px}
.hero h1{font-size:clamp(44px,8.5vw,92px);line-height:.95;text-transform:uppercase}
.hero h1 span{color:var(--blue2);display:block}
.lede{font-size:clamp(16px,2.1vw,19px);color:#cfe0ff;max-width:56ch;margin:20px 0}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips span{border:1.5px solid var(--gold);color:var(--gold);padding:5px 12px;border-radius:99px;font-weight:800;font-size:12px;letter-spacing:1.2px;text-transform:uppercase}
.hero-art{display:flex;justify-content:center}
.crown-svg{width:min(320px,70vw);filter:drop-shadow(0 12px 30px rgba(0,0,0,.45))}
.crown{transform-origin:50% 60%;animation:wob 5s ease-in-out infinite}
@keyframes wob{50%{transform:rotate(-2deg)}}

main{padding-top:28px;padding-bottom:20px}
section{margin:0 0 44px}
.verdict{background:var(--navy);color:#fff;border-radius:18px;padding:26px;display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-top:-56px;position:relative;z-index:2;box-shadow:0 18px 40px rgba(6,18,46,.35);border:1px solid #1f4aa6}
.verdict h2{font-size:15px;color:var(--blue2);text-transform:uppercase;letter-spacing:2px;font-family:var(--body);font-weight:800}
.verdict-text{font-family:var(--head);font-size:clamp(22px,3.4vw,34px);line-height:1.15;margin:8px 0 0}
.vstats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.vstats div{background:#0c2a63;border-radius:12px;padding:12px;text-align:center}
.vstats b{display:block;font-family:var(--head);font-weight:400;font-size:30px;color:var(--gold)}
.vstats small{color:#b9cff7;font-size:11px;line-height:1.25;display:block}

.chambers{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.chamber{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 2px 0 rgba(31,111,235,.06)}
.chamber header{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:14px}
.chamber h2{font-size:26px}
.need{font-size:12px;font-weight:800;color:var(--blue);background:#e6f0ff;padding:4px 10px;border-radius:99px;text-transform:uppercase;letter-spacing:1px}
.bar{position:relative;height:30px;border-radius:8px;overflow:hidden;display:flex;background:#e6ebf5}
.bar .seg{height:100%;transition:width .8s ease}
.bar .sd{background:linear-gradient(90deg,#1450c8,#2f80ff)}
.bar .sp{background:repeating-linear-gradient(45deg,#e3e9f5 0 8px,#d4dcee 8px 16px);flex:1}
.bar .sr{background:var(--gop)}
.bar .mid{position:absolute;top:-4px;bottom:-4px;width:3px;background:var(--ink);left:50%}
.tally{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:16px;text-align:center}
.tally b{display:block;font-family:var(--head);font-weight:400;font-size:38px;line-height:1}
.tally small{color:var(--mute);font-size:12px;text-transform:uppercase;letter-spacing:1px;font-weight:600}
.tally .d b{color:var(--blue)}.tally .r b{color:var(--gop)}.tally .p b{color:#8693ad}
.note{color:var(--mute);font-size:13px;margin:14px 0 0}

.sec-head{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:16px;border-bottom:3px solid var(--blue);padding-bottom:8px}
.sec-head h2{font-size:clamp(22px,3vw,30px)}
.sec-head p{margin:0;color:var(--mute);font-size:14px}
.trump-tag{background:var(--gop-soft);color:#7d2f38;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;padding:2px 7px;border-radius:5px;white-space:nowrap}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px;border-top:5px solid #9aa8c4}
.card.D{border-top-color:var(--blue);background:linear-gradient(#f3f8ff,#fff 40%)}
.card.R{border-top-color:var(--gop)}
.card .top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.card .st{font-family:var(--head);font-size:21px}
.badge{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:4px 9px;border-radius:99px;background:#e8edf6;color:#53627f;white-space:nowrap}
.badge.D{background:var(--blue);color:#fff}
.badge.R{background:var(--gop);color:#fff}
.badge.flip{background:var(--gold);color:#3a2d00}
.cand{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;font-size:15px}
.cand .n{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.cand .dot{width:10px;height:10px;border-radius:50%;flex:none}
.dot.D{background:var(--blue)}.dot.R{background:var(--gop)}
.cand .v{font-weight:800;font-variant-numeric:tabular-nums}
.cand .win{font-weight:800}
.meta{display:flex;justify-content:space-between;font-size:12px;color:var(--mute);gap:8px;flex-wrap:wrap}
.card p{margin:0;font-size:13.5px;color:#34456a}
.prog{height:5px;background:#e6ebf5;border-radius:9px;overflow:hidden}.prog i{display:block;height:100%;background:var(--blue2)}

.hgroup{margin-bottom:18px}
.hgroup h3{margin:0 0 8px;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--blue);font-weight:800}
.hgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.hrow{background:var(--card);border:1px solid var(--line);border-left:5px solid #9aa8c4;border-radius:12px;padding:10px 12px;font-size:14px}
.hrow.D{border-left-color:var(--blue)}.hrow.R{border-left-color:var(--gop)}
.hrow .l1{display:flex;justify-content:space-between;align-items:center;gap:6px}
.hrow .id{font-family:var(--head);font-size:16px}
.hrow .rt{font-size:11px;color:var(--mute);font-weight:600}
.hrow .c{color:#34456a;margin-top:2px}
.hrow .c .dd{color:var(--blue);font-weight:600}.hrow .c .rr{color:var(--gop);font-weight:600}
.hrow .nt{font-size:12px;color:var(--mute);margin-top:3px}

.timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.timeline li{background:var(--navy);color:#dbe9ff;border-radius:12px;padding:14px;font-size:14px;border-left:5px solid var(--blue2)}
.timeline b{display:block;color:var(--gold);font-family:var(--head);font-weight:400;font-size:18px;margin-bottom:2px}
.timeline li.past{opacity:.55}

.about{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;font-size:14px;color:#34456a}
.about h2{font-size:20px;color:var(--ink);margin-bottom:10px}
footer{background:var(--navy);color:#b9cff7;padding:22px 0;font-size:14px}
.foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.logo{display:flex;gap:10px;align-items:center;color:#fff;font-weight:800}
@media(max-width:820px){.hero-grid,.verdict,.chambers{grid-template-columns:1fr}.hero-art{order:-1}.crown-svg{width:170px}.hero{padding-top:28px}.verdict{margin-top:-60px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Celebration layer */
#fx{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:50}
.winbanner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 18px;padding:12px 16px;border-radius:14px;border:1.5px solid var(--gold);background:linear-gradient(90deg,rgba(242,201,76,.18),rgba(79,155,255,.16));color:#fff;box-shadow:0 0 22px rgba(242,201,76,.28);animation:glow 3.2s ease-in-out infinite}
.winbanner[hidden]{display:none}
.winbanner.strong{box-shadow:none;animation:none;border-color:var(--blue2);background:rgba(79,155,255,.14)}
.wb-star{color:var(--gold);font-size:26px;line-height:1}
.wb-txt{flex:1 1 240px;display:flex;flex-direction:column;gap:2px}
.wb-txt b{font-family:var(--head);font-weight:400;font-size:clamp(18px,2.6vw,24px);color:var(--gold)}
.wb-txt span{font-size:13px;color:#cfe0ff}
.fx-btn{font:800 12px var(--body);letter-spacing:1px;text-transform:uppercase;color:var(--navy);background:var(--gold);border:0;border-radius:99px;padding:8px 14px;cursor:pointer}
.fx-btn:hover{background:#ffe08a}.fx-btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
.winbanner.strong .fx-btn{display:none}
.verdict.celebrate{border-color:var(--gold);animation:vglow 3.2s ease-in-out infinite}
@keyframes glow{50%{box-shadow:0 0 34px rgba(242,201,76,.5)}}
@keyframes vglow{50%{box-shadow:0 18px 40px rgba(6,18,46,.35),0 0 32px rgba(242,201,76,.35)}}
.calm #fx,.calm .fx-btn{display:none}
@media(prefers-reduced-motion:reduce){#fx,.fx-btn{display:none}}

.posts-sec h3,.eo-sec h3{margin:22px 0 8px;font-size:15px;letter-spacing:1.4px;text-transform:uppercase;color:var(--blue)}
.fine{color:var(--mute);font-size:14px;margin:8px 0 0}
.fine a{color:var(--blue)}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:14px 0}
.stat{background:var(--navy);color:#fff;border-radius:14px;padding:14px 16px;border:1px solid #1f4aa6}
.stat b{display:block;font-family:var(--head);font-weight:400;font-size:34px;line-height:1.1;color:var(--gold)}
.stat b.small{font-size:16px;line-height:1.35;color:#fff;overflow-wrap:anywhere}
.stat b.unknown{font-size:26px;color:#ffe08a}
.stat small{display:block;margin-top:6px;color:#b9cff7;font-size:12px;line-height:1.3}
.unknown-stat{background:#0c2a63}
.status-line{margin:8px 0 0;font-size:14px;color:#24406f}
.status-line.warn,.warn{background:#fff4d6;border:1px solid #e2c56a;color:#3a2d00;border-radius:12px;padding:10px 12px}
.postlist{display:grid;gap:12px;margin-top:10px}
.post{background:var(--card);border:1px solid var(--line);border-top:5px solid var(--gold);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px}
.post.notable{box-shadow:0 8px 22px rgba(242,201,76,.18)}
.post-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.post time{font-size:13px;color:var(--mute);font-weight:600}
.post .text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15.5px}
.post .scope{margin:0;font-size:13px;color:#7d2f38;font-weight:700}
.post .meta{font-size:13px}
.post a,.leftout a,.fine a{text-underline-offset:2px}
.post a:hover,.leftout a:hover{color:var(--navy)}
.badge.archive{background:#e6f0ff;color:var(--blue)}
.badge.notable{background:var(--gold);color:#3a2d00}
.leftout{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.leftout li{background:#fff;border:1px solid var(--line);border-left:5px solid var(--gop);border-radius:12px;padding:10px 12px;font-size:14px}
.eo-doc{background:#fff;border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:12px;padding:12px 14px;margin-top:10px}
.eo-doc h3{margin:0 0 4px;font-size:16px;letter-spacing:0;text-transform:none;color:var(--ink);font-family:var(--head);font-weight:400}
details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:8px}
details summary{cursor:pointer;font-weight:700}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
@media(max-width:560px){
  .statgrid{grid-template-columns:1fr 1fr}
  .stat b{font-size:28px}
  .unknown-stat{grid-column:1 / -1}
}
