:root{--ink:#14284b;--muted:#59677d;--paper:#f5f7fb;--line:#d4dce9;--accent:#234d87;--dem:#2868ac;--rep:#b22234}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--accent);text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b17413;outline-offset:4px}header,main,footer{max-width:1440px;margin:auto}header{padding:26px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;line-height:1.15;letter-spacing:.3px}.brand-mark{background:var(--ink);color:white;font-weight:800;font-size:23px;padding:8px 10px;display:flex;gap:3px}.brand-mark span{font-weight:400;color:#ffffff}.header-right{text-align:right;display:grid;gap:7px;font-size:12px;letter-spacing:1px}.header-right a{letter-spacing:0}main{padding:0 48px}.hero{display:flex;justify-content:space-between;align-items:center;gap:50px;padding:52px 0 36px}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:750;margin:0 0 14px}h1{font:normal clamp(48px,5.5vw,78px)/1.02 Georgia,serif;letter-spacing:-2.5px;margin:0 0 22px}h1 em{color:var(--accent);font-weight:normal}.intro{font-size:17px;color:var(--muted);margin:0}.election-note{max-width:340px;border-left:2px solid #b22234;padding:8px 0 8px 26px}.election-note strong{font-size:17px}.election-note p{color:var(--muted)}.status-dot{display:inline-block;height:9px;width:9px;border-radius:50%;background:#a27830;margin-right:10px}.small{font-size:12px}.muted{color:var(--muted)}.notice{border:1px solid #cbd8ec;background:#eaf0f9;padding:12px 16px;font-size:13px;margin:0 0 24px}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:46px}.summary-card{background:#ffffff;text-align:left;border:1px solid var(--line);padding:22px;color:var(--ink)}.summary-card.selected{border-top:3px solid var(--accent);padding-top:20px}.summary-card>div{display:flex;align-items:baseline;gap:12px}.summary-card strong{font:48px/1.2 Georgia,serif}.summary-card div span{font-size:12px;color:var(--muted)}.summary-card .arrow{margin-left:auto;font-size:25px;color:var(--accent)}.summary-card .summary-track{height:6px;background:repeating-linear-gradient(90deg,#d5dce7 0,#d5dce7 12px,transparent 12px,transparent 15px);margin:18px 0}.summary-card p{font-size:12px;margin:0}.summary-card p span{color:var(--muted)}h2{font:32px/1.2 Georgia,serif;margin:0}h3{font-size:15px;margin:0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-top .eyebrow{margin-bottom:8px}.tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-top:22px}.tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:14px 12px;color:var(--muted);font-weight:650;min-width:90px}.tabs button[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--accent)}.explorer{display:grid;grid-template-columns:265px minmax(0,1fr);gap:28px;padding:26px 0 40px}.state-panel{border-right:1px solid var(--line);padding-right:24px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.text-button{border:none;padding:2px 0;background:none;color:var(--accent);font-size:12px;text-decoration:underline;text-underline-offset:4px}.state-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:18px}.state-grid button{height:39px;border:1px solid var(--line);background:#eaf0f8;font-size:12px;color:var(--ink);font-weight:600}.state-grid button:hover{background:#d5e2f5}.state-grid button[aria-pressed=true]{background:var(--accent);color:white;border-color:var(--accent)}select,input{padding:11px;border:1px solid #bdc9dc;border-radius:0;background:#ffffff;color:var(--ink);min-height:44px;width:100%}.filters{display:flex;gap:10px}.search{flex:1}.filters>label:last-child{width:190px}.race-card{border:1px solid var(--line);background:#ffffff;margin-bottom:14px;padding:20px}.race-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:15px}.race-heading>div{display:flex;align-items:center;gap:10px}.race-heading h3 span{font-weight:400;color:var(--muted);display:block;font-size:12px}.state-code{font-size:12px;font-weight:700;background:#eaf0f8;padding:8px}.badge{font-size:10px;letter-spacing:.2px;display:inline-block;padding:4px 7px;white-space:nowrap;border:1px solid #ced6e3;color:#4f5d73;background:#f0f3f8}.badge.official{color:#234d87;background:#eaf0fa;border-color:#c1d1e8}.badge.news{background:#ede9f7;color:#604285;border-color:#d1c7e3}.badge.certified{background:#14284b;color:white;border-color:#14284b}.badge.error{background:#f8e4d9;color:#8c301b;border-color:#dfb5a4}.no-data{display:flex;gap:17px;padding:8px 0 16px}.no-data>span{font:32px Georgia,serif;color:#8a99af}.no-data strong{font-size:13px;font-weight:500}.no-data p{font-size:12px;color:var(--muted);margin:4px 0;max-width:560px}.calls{border-top:1px solid #e0e6f0;display:flex;gap:10px;flex-wrap:wrap;padding-top:12px}.calls>p{margin:0;font-size:12px;flex-basis:100%}.conflict{color:#9b3a1a;font-weight:bold}table{border-collapse:collapse;width:100%;font-size:13px}td,th{padding:10px 0;border-bottom:1px solid #e0e6f0;text-align:right}td{font-variant-numeric:tabular-nums}th:first-child{text-align:left;font-weight:500;width:65%}thead th{color:var(--muted);font-size:11px}th small{color:var(--muted);margin-left:4px}.party{width:5px;height:16px;display:inline-block;background:#6c778c;vertical-align:middle;margin-right:8px}.party.dem{background:var(--dem)}.party.rep{background:var(--rep)}.race-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);padding:12px 0}details{font-size:12px;margin-bottom:14px}summary{color:var(--accent);cursor:pointer}.certification{font-size:12px}.more{display:block;width:100%;padding:12px;border:1px solid var(--accent);color:var(--accent);background:none}.more[hidden]{display:none}.empty{padding:45px 20px;background:#eaf0f8}.methodology{border-top:1px solid var(--line);padding:44px 0;display:grid;grid-template-columns:1fr 1fr;gap:75px}.methodology>div>p{max-width:480px;color:var(--muted)}.definitions article{margin-bottom:22px}.definitions p{font-size:13px;color:var(--muted);margin:8px 0}.sources{border-top:1px solid var(--line);padding:32px 0 50px}.sources>p{font-size:13px;color:var(--muted)}.source-row{display:grid;grid-template-columns:240px 80px 1fr;gap:18px;border-top:1px solid var(--line);padding:16px 0;align-items:start}.source-row>div{display:grid;gap:5px;font-size:13px}.source-row p{font-size:12px;margin:0;color:var(--muted)}.source-row .badge{justify-self:start}footer{border-top:1px solid var(--line);padding:25px 48px;display:flex;justify-content:space-between;gap:16px;font-size:11px;color:var(--muted)}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{display:block;padding:12px;background:white}

/* Flag-inspired branding is decorative; party and result labels retain their own meaning. */
body{border-top:6px solid #b22234}
header{background:#14284b;color:#fff;border-bottom:5px solid #b22234}
header .brand,header a{color:#fff}
.brand-mark{position:relative;background:#fff;color:#14284b;border-bottom:4px solid #b22234;padding:9px 10px 7px}
.brand-mark span{color:#b22234;font-weight:700}
.header-right>span{color:#c9d5ea}
.hero{position:relative;background:linear-gradient(135deg,#fff 0%,#fff 62%,#edf2fa 100%);margin:0 -48px;padding:52px 48px 42px;border-bottom:1px solid var(--line);margin-bottom:24px;overflow:hidden}
.hero::before{content:"";position:absolute;left:48px;top:0;width:114px;height:5px;background:linear-gradient(to right,#14284b 0 38%,#fff 38% 61%,#b22234 61%)}
h1 em{color:#b22234}
.hero .eyebrow{color:#234d87}
.hero-stars{display:block;color:#b22234;font-size:17px;letter-spacing:12px;margin-bottom:15px;line-height:1}
.election-note{background:#ffffffd9;border-left:3px solid #b22234;padding:20px 22px;box-shadow:0 4px 20px #14284b08}
.notice{border-left:4px solid #234d87}
.summary-card{box-shadow:0 3px 12px #14284b06}
.summary-card.selected{border-top-color:#b22234}
.summary-card .eyebrow{color:#234d87}
.tabs button[aria-pressed=true]{border-bottom-color:#b22234;color:#14284b}
.state-grid button[aria-pressed=true]{background:#14284b;border-color:#14284b}
footer{background:#14284b;color:#d5deed;border-top:4px solid #b22234}
footer a{color:#fff}
@media(max-width:1000px){.hero{margin-left:-25px;margin-right:-25px;padding-left:25px;padding-right:25px}.hero::before{left:25px}}
@media(max-width:700px){.hero{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.hero::before{left:20px}.hero-stars{font-size:14px;margin-bottom:14px}}

@media(max-width:1000px){header,footer{padding:22px 25px}main{padding:0 25px}.summary-card{padding:16px}.summary-card.selected{padding-top:14px}.summary-card>div{flex-wrap:wrap;gap:5px}.summary-card p span{display:block}.explorer{grid-template-columns:210px minmax(0,1fr);gap:20px}.state-panel{padding-right:18px}.state-grid{grid-template-columns:repeat(4,1fr)}.race-heading{flex-wrap:wrap}.source-row{grid-template-columns:200px 70px 1fr}}
@media(max-width:700px){header{padding:20px}.header-right>span{display:none}.header-right{font-size:11px}.brand-mark{font-size:20px}main{padding:0 20px}.hero{display:block;padding:35px 20px 25px}h1{font-size:53px}.intro{font-size:15px}.election-note{max-width:none;margin-top:25px;padding-left:16px}.election-note p{margin:8px 0}.summary{gap:8px;margin-bottom:30px}.summary-card{padding:12px 10px}.summary-card.selected{padding-top:10px}.summary-card strong{font-size:33px}.summary-card .eyebrow{font-size:10px;letter-spacing:1px}.summary-card .arrow{display:none}.summary-card div span{font-size:10px}.summary-card p{font-size:10px}.summary-card p span{margin-top:5px}.section-top{align-items:start;flex-direction:column;gap:10px}h2{font-size:28px}.explorer{display:block;padding-top:20px}.state-panel{border:0;padding:0;margin-bottom:20px}.state-grid{grid-template-columns:repeat(10,1fr);gap:4px}.state-grid button{height:32px;font-size:10px}.state-panel .muted{display:none}.state-panel .panel-heading{margin-bottom:10px}.filters{flex-direction:column}.filters>label:last-child{width:100%}.race-card{padding:15px}.race-meta{flex-direction:column;gap:4px}.methodology{grid-template-columns:1fr;gap:20px;padding:32px 0}.source-row{grid-template-columns:1fr auto;gap:8px}.source-row p{grid-column:1/-1}footer{padding:20px;flex-direction:column;gap:8px}th:first-child{width:60%}td,th{font-size:12px}.tabs{gap:15px}}
