@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#080f1b;--panel:#111d2e;--line:#283549;--muted:#a3b1c4;--red:#f05b68;--blue:#56a8ff;--gold:#f3c55a;--green:#60d6b2}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f4f7fc;font:15px Inter,Arial,sans-serif}button,input,select{font:inherit}a{color:inherit}button{cursor:pointer;border:1px solid var(--line);background:transparent;color:white;padding:10px 15px;border-radius:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}header{height:100px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:#0c1524}.brand{text-decoration:none;font-size:27px;font-weight:900;letter-spacing:-1px}.brand span{color:var(--gold)}.brand small{display:block;font-size:8px;letter-spacing:3px;margin-top:4px}.edition{letter-spacing:3px;font-size:11px;color:var(--muted)}.edition b{color:white;margin-left:12px}main{max-width:1520px;margin:auto;padding:45px 5vw}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2.3px;color:var(--gold);display:flex;align-items:center;gap:10px}.eyebrow span{color:var(--muted);border-left:1px solid var(--line);padding-left:16px;margin-left:6px}.hero{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:15px 0 27px}h1{font:800 clamp(58px,7vw,105px)/1 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:-2px;margin:10px 0 17px}.hero p{color:var(--muted);line-height:1.7;max-width:590px;margin:0}.feed{display:grid;gap:10px;border-left:2px solid var(--gold);padding-left:20px;min-width:230px}.feed b{font-size:14px}.feed span,.feed small{font-size:11px;color:var(--muted)}.notice{font-size:10px;letter-spacing:1px;color:var(--muted);border-block:1px solid var(--line);padding:15px 0;line-height:1.8}.power{margin:35px 0 45px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:24px 0 20px}h2{font:600 30px 'Barlow Condensed','Arial Narrow',sans-serif;margin:7px 0}.section-heading p{color:var(--muted);font-size:11px;text-align:right;line-height:1.8}.chambers{display:grid;grid-template-columns:1fr 1fr;gap:20px}.chamber{background:linear-gradient(140deg,#152236,#101b2b);border:1px solid var(--line);border-radius:10px;padding:25px;overflow:hidden}.chamber-top{display:flex;justify-content:space-between;align-items:center}.chamber-top h3{font:600 23px 'Barlow Condensed',sans-serif;margin:0}.chamber-top span{font-size:10px;color:var(--muted)}.totals{display:flex;justify-content:space-between;margin:18px 0 8px}.totals div{display:grid;gap:3px}.totals div:last-child{text-align:right}.totals strong{font:700 46px/1 'Barlow Condensed',sans-serif}.totals small{font-size:10px;letter-spacing:1px}.D{color:var(--blue)}.R{color:var(--red)}.L,.I,.O{color:var(--gold)}.seats{display:grid;grid-template-columns:repeat(17,1fr);gap:4px;margin:18px 0}.seat{height:10px;background:#344158;border-radius:2px}.seat.D{background:var(--blue)}.seat.R{background:var(--red)}.seat.O{background:var(--gold)}.seat.hold{opacity:.5}.chamber-bottom{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:15px}.toolbar{position:sticky;top:0;z-index:2;background:var(--bg);padding:12px 0 18px;border-bottom:1px solid var(--line)}nav{display:flex;gap:7px;flex-wrap:wrap}nav button{border-color:transparent;color:var(--muted);font-size:12px;font-weight:700}nav button.active{background:var(--gold);color:#111b2b}nav small{opacity:.7;margin-left:5px}.filters{display:flex;gap:10px;margin-top:15px}input,select{border:1px solid var(--line);background:#101b2a;color:#eaf0fa;padding:12px;border-radius:5px;min-width:0}input{width:290px}select{max-width:180px}#raceCount{font-size:11px;color:var(--muted)}.race-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.race-card{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:22px;min-width:0}.race-card.called{border-top:2px solid var(--green)}.card-heading{display:flex;justify-content:space-between;gap:8px;align-items:center}.card-heading h3{font:600 25px 'Barlow Condensed',sans-serif;margin:0}.badge{font-size:8px;font-weight:800;letter-spacing:1px;color:var(--muted);text-align:right}.called .badge{color:var(--green)}.desc{font-size:11px;color:var(--muted);min-height:30px;line-height:1.6;margin:10px 0 18px}.candidate{margin:16px 0}.candidate-line{display:flex;gap:8px;align-items:baseline}.party{font-size:9px;font-weight:800;width:17px}.name{font-size:12px;flex:1;overflow-wrap:anywhere}.pct{font-weight:800;font-size:14px}.votes{text-align:right;font-size:10px;color:var(--muted);margin:4px 0}.bar{height:5px;background:#27364c;border-radius:3px;overflow:hidden}.fill{height:100%;background:var(--blue);transition:width .6s}.fill.R{background:var(--red)}.fill.YES{background:var(--green)}.fill.NO,.fill.L,.fill.I{background:var(--gold)}.reporting{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:15px;margin-top:22px}.source{font-size:10px;color:var(--muted);display:block;margin-top:15px}.method{border-top:1px solid var(--line);margin-top:45px;padding-top:20px;color:var(--muted);font-size:11px;line-height:1.9}.method h3{color:white}.method a{margin-right:20px}footer{border-top:1px solid var(--line);padding:25px 5vw;display:flex;gap:25px;align-items:center;color:var(--muted);font-size:10px;letter-spacing:1px}footer a{margin-left:auto}.skip{position:absolute;top:-60px}.skip:focus{top:5px;z-index:5;background:black;padding:15px}.broadcast header,.broadcast .method,.broadcast footer{display:none}.broadcast main{padding-top:24px}.broadcast .race-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.broadcast .name{font-size:19px}.broadcast .pct{font-size:23px}.broadcast .race-card{padding:28px}.empty{color:var(--muted);padding:30px}body.editor main{max-width:1000px}.editor-form{display:grid;gap:16px}.editor-form label{display:grid;gap:7px;font-size:12px;color:var(--muted)}.editor-form input,.editor-form select{width:100%;max-width:none}.editor-candidates{display:grid;gap:12px}.editor-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.primary{background:var(--gold);color:#101b2b;border-color:var(--gold);font-weight:bold}.editor-note{color:var(--muted);line-height:1.8;font-size:13px}.editor-status{color:var(--green);min-height:24px}.editor-form fieldset{border:1px solid var(--line);padding:20px}.editor-form legend{color:var(--gold)}@media(min-width:1400px){.race-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:950px){.race-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feed{min-width:190px}.edition{display:none}}@media(max-width:650px){header{height:80px}main{padding:30px 5vw}.hero{display:block}.feed{margin-top:25px}.eyebrow span{font-size:8px}.chambers,.race-grid,.broadcast .race-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start}.section-heading p{max-width:130px}.chamber{padding:20px}.filters input{width:100%}.filters select{width:130px}nav{gap:0}nav button{padding:10px;font-size:11px}footer{flex-wrap:wrap}footer a{margin-left:0}.broadcast .name{font-size:16px}}
.on-air{font-size:10px;margin-top:16px;border-color:#475c78;color:var(--gold)}.demo-banner{background:#f3c55a;color:#101b2a;padding:10px 20px;text-align:center;font-size:11px;letter-spacing:2px;font-weight:800}.spotlight{background:var(--bg);color:white;border:1px solid var(--line);border-radius:12px;width:min(1000px,95vw);max-height:95vh;padding:30px}.spotlight::backdrop{background:#02060deb}.spot-top,.spot-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.spot-top b{font-size:11px;letter-spacing:2px;color:var(--gold)}.spotlight .race-card{padding:30px}.spotlight .card-heading h3{font-size:54px}.spotlight .name{font-size:26px}.spotlight .pct{font-size:32px}.spotlight .votes{font-size:16px}.spotlight .desc{font-size:17px}.spotlight .reporting{font-size:15px}.spotlight .bar{height:10px}.spotlight .on-air,.spotlight .source{display:none}.spot-controls{margin:20px 0 0}@media(max-width:650px){.spotlight{padding:15px}.spotlight .race-card{padding:15px}.spotlight .name{font-size:17px}.spotlight .pct{font-size:22px}.spotlight .card-heading h3{font-size:36px}.spot-controls button{font-size:10px;padding:8px}}
