:root{color-scheme:dark;--bg:#0b1422;--panel:#111e30;--panel2:#15243a;--line:#29374c;--text:#f3f5fa;--muted:#9cacc2;--accent:#65ddc7;--dem:#519eff;--rep:#ff6876;--other:#b99aff;--yes:#57d8bf;--no:#efbb5a;--neutral:#8496b1;--font:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 0%,#18324a88,transparent 43%),var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.topbar{height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:0 max(4vw,24px)}.brand{font-weight:800;letter-spacing:1.8px;font-size:17px;display:inline-flex;align-items:center;text-decoration:none}.brand-light{font-weight:400;color:var(--muted)}.brand-icon{display:inline-grid;place-items:center;border-radius:9px;background:var(--accent);color:var(--bg);font-size:23px;width:35px;height:35px;margin-right:12px}.personal{margin-left:auto;font-size:10px;letter-spacing:2px;color:var(--muted)}.personal span{margin:0 12px}.clock{border-left:1px solid var(--line);padding-left:20px;font-variant-numeric:tabular-nums;color:#d6dfec}main{max-width:1500px;margin:auto;padding:0 max(4vw,24px)}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:52px 0 35px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--accent)}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:8px;box-shadow:0 0 0 4px #65ddc712}h1{font-size:clamp(40px,4.7vw,67px);line-height:1.06;letter-spacing:-2.5px;margin:18px 0}h1 span{color:var(--accent)}.hero p{font-size:15px;line-height:1.65;color:var(--muted);margin:0}.mobile-break{display:none}.hero-controls{text-align:right;padding-bottom:3px}.control-buttons{display:flex;gap:8px;margin:14px 0 10px}.button,.icon-button{border:1px solid var(--line);border-radius:7px;padding:10px 14px;color:var(--text);background:var(--panel);font-weight:600;white-space:nowrap}.button:hover,.icon-button:hover{background:#20344c}.primary{background:var(--accent);color:#082b26;border-color:var(--accent)}.primary:hover{background:#93ebdc}.primary span{font-size:18px;margin-right:7px}.icon-button{font-size:20px;padding:5px 12px}.subtle{font-size:12px;color:var(--muted)}.connection{font-size:12px;color:var(--accent)}.connection.warning{color:var(--no)}.notice{border:1px solid #3d4650;background:#1b242e;display:flex;align-items:center;gap:15px;padding:16px 20px;border-radius:9px;margin:0 0 25px}.notice-icon{color:var(--no);font-size:26px}.notice strong{font-size:13px;font-weight:600}.notice p{margin:2px 0 0;font-size:12px;color:var(--muted)}.notice a{font-size:12px;color:#ddcba5;margin-left:auto;white-space:nowrap}.national-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:36px}.national-card{border:1px solid var(--line);background:linear-gradient(120deg,var(--panel2),var(--panel));border-radius:10px;padding:21px 24px;min-height:170px}.national-card>p{font-size:10px;color:var(--muted);letter-spacing:1.5px;margin:0 0 13px;font-weight:700}.national-card h2{font-size:25px;margin:10px 0}.national-card h2 span{display:block;color:var(--muted);font-size:18px}.chamber-scores{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.chamber-scores strong{font-size:34px;line-height:1;font-variant-numeric:tabular-nums}.chamber-scores span{font-size:11px}.chamber-scores .uncalled{font-size:11px;color:var(--muted);text-align:center}.chamber-scores .uncalled b{font-size:17px;color:#d7deeb;display:block}.seat-bar{height:5px;display:flex;overflow:hidden;background:#334058;border-radius:3px;margin:18px 0 9px}.seat-bar span{min-width:0}.national-card small{font-size:10px;color:var(--muted)}.local-card{position:relative;overflow:hidden}.local-card:after{content:'';position:absolute;width:150px;height:150px;border:1px solid #65ddc71d;transform:rotate(45deg);right:-70px;top:45px;pointer-events:none}.local-line{font-size:11px;color:var(--muted);margin:5px 0 12px}.text-button{background:none;border:0;color:var(--accent);padding:0;font-size:12px}.text-button span{margin-left:12px}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);overflow:auto;scrollbar-width:thin}.tabs button{position:relative;border:0;background:transparent;padding:16px 18px 17px;color:var(--muted);white-space:nowrap;font-weight:600;font-size:13px}.tabs button:first-child{padding-left:4px;padding-right:22px}.tabs button.active{color:var(--accent)}.tabs button.active:after{content:'';height:2px;background:var(--accent);position:absolute;bottom:0;left:0;right:0}.tabs button:hover{color:var(--text)}#pin-count{font-size:10px;background:#23334a;padding:2px 5px;border-radius:3px;margin-left:5px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:31px 0 23px}.section-heading h2{margin:5px 0;font-size:26px;letter-spacing:-.6px}.section-heading p{margin:0;color:var(--muted);font-size:12px}.legend{display:flex;gap:15px;font-size:10px;color:var(--muted);flex-wrap:wrap}.legend span{white-space:nowrap}.legend i{width:7px;height:7px;border-radius:2px;display:inline-block;margin-right:5px}.dem{color:var(--dem)}.rep{color:var(--rep)}.other{color:var(--other)}.yes{color:var(--yes)}.no{color:var(--no)}.neutral{color:var(--neutral)}i.dem,.seat-bar .dem{background:var(--dem)}i.rep,.seat-bar .rep{background:var(--rep)}i.other,.seat-bar .other{background:var(--other)}i.neutral{background:var(--neutral)}.filters{display:flex;gap:10px;align-items:center;margin-bottom:20px}.search{display:flex;gap:9px;align-items:center;background:#101d2e;border:1px solid var(--line);border-radius:7px;padding:8px 13px;flex:1;max-width:480px}.search>span{font-size:23px;line-height:1;color:var(--muted)}input[type=search]{background:none;border:0;color:var(--text);width:100%;outline:none;font-size:12px}input::placeholder{color:#8d9db3}select{color:var(--text);background:#101d2e;border:1px solid var(--line);border-radius:7px;padding:10px;font-size:12px;max-width:190px}.filters>.subtle{margin-left:auto}.race-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;align-items:start}.race-card{--lead:var(--neutral);border:1px solid var(--line);border-top:3px solid var(--lead);border-radius:9px;background:linear-gradient(165deg,color-mix(in srgb,var(--lead) 8%,var(--panel)),var(--panel) 50%);padding:19px 20px 16px;min-width:0}.race-card.lead-dem{--lead:var(--dem)}.race-card.lead-rep{--lead:var(--rep)}.race-card.lead-other{--lead:var(--other)}.race-card.lead-yes{--lead:var(--yes)}.race-card.lead-no{--lead:var(--no)}.race-top{display:flex;align-items:start;gap:8px}.race-kicker{font-size:9px;color:var(--muted);letter-spacing:1.2px;text-transform:uppercase;font-weight:700}.race-top h3{font-size:15px;line-height:1.45;margin:6px 0 0;font-weight:650;letter-spacing:-.1px}.pin{margin-left:auto;flex-shrink:0;color:#a8b7cb;background:transparent;border:1px solid #344258;border-radius:5px;font-size:21px;line-height:1;padding:3px 5px}.pin[aria-pressed=true]{color:var(--no);border-color:#a17e41}.race-status{display:flex;align-items:center;gap:8px;justify-content:space-between;margin:15px 0}.badge{font-size:10px;font-weight:600;color:var(--lead);background:color-mix(in srgb,var(--lead) 10%,transparent);padding:4px 8px;border:1px solid color-mix(in srgb,var(--lead) 26%,transparent);border-radius:4px}.margin{font-size:10px;color:var(--muted)}.candidate{margin:12px 0}.candidate-row{display:flex;gap:6px;justify-content:space-between;align-items:center;font-size:12px}.candidate-name{display:flex;align-items:center;gap:5px;min-width:0}.party{font-size:9px;color:currentColor;border:1px solid currentColor;opacity:.9;padding:0 3px;border-radius:3px;white-space:nowrap}.candidate-number{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:650}.votes{font-size:10px;color:var(--muted);font-weight:400;margin-right:6px}.vote-bar{height:5px;background:#26344a;border-radius:3px;margin-top:7px;overflow:hidden}.vote-bar>span{display:block;height:100%;background:currentColor;transition:width .4s ease}.race-bottom{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);margin-top:17px;padding-top:12px;font-size:10px;color:var(--muted)}.race-scope{font-size:10px;color:#9cacc2;margin-top:9px}.race-warning{font-size:10px;color:var(--no);margin-top:9px}.more-choices{margin-top:12px;font-size:11px;color:var(--muted)}.more-choices summary{cursor:pointer}.empty{grid-column:1/-1;text-align:center;padding:55px 22px;border:1px dashed var(--line);border-radius:9px;color:var(--muted)}.empty h3{color:var(--text);font-size:20px;font-weight:500}.empty p{font-size:13px;max-width:550px;margin:10px auto}.spinner{display:inline-block;width:24px;height:24px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.more{display:block;margin:24px auto}.source-section{margin-top:44px;padding-top:26px;border-top:1px solid var(--line)}.source-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}.source-heading h2{font-size:16px;margin:0}.source-heading span{font-size:11px;color:var(--muted)}.source-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.source-item{padding:15px;border:1px solid var(--line);border-radius:7px;background:#0e1a2a}.source-item a{font-size:11px;text-decoration:none;font-weight:600}.source-item .health{font-size:10px;color:var(--accent);margin:8px 0}.source-item .health.warning{color:var(--no)}.source-item small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.methodology{margin-top:21px;color:#95a5bc;font-size:11px;line-height:1.7}.methodology p{margin:8px 0}.methodology strong{color:#bfcada}footer{border-top:1px solid var(--line);margin-top:28px;padding:24px 0 30px;display:flex;justify-content:space-between;gap:20px;align-items:center;color:var(--muted);font-size:10px}footer .brand{font-size:11px}footer small{font-size:8px;margin-left:8px;font-weight:400;letter-spacing:0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--accent);color:#102b27;border-radius:7px;padding:10px 20px;box-shadow:0 10px 35px #0005;opacity:0;pointer-events:none;transition:opacity .2s;font-size:12px}#toast.show{opacity:1}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:12px;background:var(--accent);color:#123;padding:10px;z-index:5}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1500px){main{padding-left:60px;padding-right:60px}}@media(max-width:1100px){.race-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-controls{max-width:390px}.personal{display:none}.clock{margin-left:auto}.national-card{padding:19px}.source-grid{grid-template-columns:repeat(2,1fr)}.section-heading{align-items:flex-start}.legend{max-width:250px;justify-content:flex-end;gap:10px}.hero{padding-top:38px}.national-grid{gap:12px}}@media(max-width:740px){main{padding:0 18px}.topbar{height:67px;padding:0 18px}.brand{font-size:14px}.brand-icon{width:29px;height:29px;font-size:20px;margin-right:8px}.clock{font-size:10px;padding-left:10px}.hero{display:block;padding-top:30px}.hero h1{font-size:46px}.hero-controls{text-align:left;max-width:none;margin-top:25px}.hero p{font-size:13px}.control-buttons{margin-top:11px}.control-buttons .button{font-size:12px;padding:9px 12px}.notice{padding:13px;align-items:flex-start;gap:10px}.notice a{display:none}.notice strong{font-size:12px}.notice p{font-size:11px}.national-grid{grid-template-columns:1fr 1fr;margin-bottom:20px;gap:10px}.national-card{min-height:145px;padding:16px}.national-card>p{font-size:9px}.chamber-scores strong{font-size:27px}.chamber-scores span{font-size:9px}.chamber-scores .uncalled{font-size:9px}.national-card small{font-size:9px}.local-card{grid-column:1/-1;min-height:0;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.local-card>p,.local-line{display:none}.local-card h2{font-size:16px;margin:0}.local-card h2 span{display:inline;font-size:13px}.tabs button{font-size:12px;padding:15px 12px}.section-heading{display:block;margin-top:25px}.section-heading h2{font-size:23px}.legend{justify-content:flex-start;max-width:none;margin-top:15px}.filters{flex-wrap:wrap}.search{flex-basis:100%;max-width:none}.filters>.subtle{font-size:10px}.filters select{font-size:11px;padding:9px;max-width:165px}.race-grid{grid-template-columns:1fr}.race-card{padding:18px}.source-heading{display:block}.source-heading span{display:block;margin-top:5px}.source-grid{gap:9px}.source-item{padding:12px}.source-item a{font-size:10px}.source-item small{font-size:9px}footer{display:block}footer>span:last-child{display:block;margin-top:12px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:740px){.chamber-scores{gap:6px}.chamber-scores>div:first-child,.chamber-scores>div:last-child{flex:0 0 32px}.chamber-scores>div:first-child>span,.chamber-scores>div:last-child>span{display:block;margin-top:5px}.chamber-scores .uncalled{flex:1}.chamber-scores .uncalled b{font-size:14px;white-space:nowrap}}
.bluebook-panel{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 20px;background:#14293a;border:1px solid #315365;border-radius:9px;margin-bottom:18px}.bluebook-panel strong{font-size:14px}.bluebook-panel p{font-size:12px;color:var(--muted);margin:4px 0 9px}.bluebook-panel a{font-size:12px;color:var(--accent)}.bluebook-panel label{font-size:11px;color:var(--muted)}.bluebook-panel select{display:block;margin-top:5px;max-width:290px}.book-info{border-top:1px solid var(--line);margin-top:15px;padding-top:12px;font-size:11px}.book-info p{color:var(--muted);margin:0 0 10px;line-height:1.6}.book-info strong{font-size:10px;font-weight:600;display:block}.book-info a{display:block;color:var(--accent);font-size:10px;margin-top:10px}.book-info small{font-size:9px;display:block;margin-top:6px}.threshold-track{position:relative;background:#25364b;height:7px;border-radius:3px;margin-top:10px}.threshold-track span{height:100%;display:block;background:var(--yes);border-radius:3px}.threshold-track i{position:absolute;top:-3px;bottom:-3px;width:2px;background:#fff}.view-status{font-size:12px;background:#322d23;border:1px solid #5c5034;padding:12px 16px;border-radius:7px;color:#edcd89;margin-bottom:16px}.legend i.yes{background:var(--yes)}.legend i.no{background:var(--no)}@media(max-width:740px){.bluebook-panel{display:block;padding:16px}.bluebook-panel label{display:block;margin-top:16px}.bluebook-panel select{width:100%;max-width:none}}
