@import url('https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:light;--paper:#f4f5ef;--ink:#0a0d0c;--sub:#677368;--line:#d8ded4;--accent:#c8ff63;--blue:#2f61ff;--panel:#fff;--labor:#f15365;--liberal:#356bcb;--national:#e7b231;--greens:#1c9c77;--ind:#7a7893;--display:'Space Grotesk',Arial,sans-serif;--body:'Manrope',Arial,sans-serif;--mono:'Geist Mono',Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:13px/1.5 var(--body);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;top:-90px;left:10px;padding:8px 12px;background:var(--accent);z-index:100}.skip:focus{top:6px}.shell{max-width:1270px;width:calc(100% - 64px);margin:0 auto}.accent{height:4px;background:var(--accent)}
.topbar{background:#fafbf6;border-bottom:1px solid #dbe2d8}.topbar-inner{height:69px;display:flex;align-items:center;justify-content:space-between;gap:20px}.identity{display:flex;align-items:center;gap:16px;white-space:nowrap}.brand{display:flex;gap:9px;align-items:center}.brand img{width:36px;height:36px;border-radius:9px}.brand>span{display:flex;flex-direction:column}.brand strong{font:700 25px/1 var(--display);letter-spacing:-.08em}.brand-one{color:var(--blue)}.brand small{font:600 8px/1.3 var(--mono);letter-spacing:.14em;color:#6a756b;margin-top:4px}.brand-divider{height:35px;border-left:1px solid #cbd2c7}.product-title{font:700 13px/1.1 var(--display);letter-spacing:.055em}.product-title span{display:block;font:600 8px/1.4 var(--mono);color:#778375;margin-top:5px}.header-right{display:flex;gap:18px;align-items:center}.header-status{font:650 9px/1.4 var(--mono);color:#647164;white-space:nowrap}.header-status i{display:inline-block;width:6px;height:6px;background:#2ba476;border-radius:50%;margin-right:5px}.header-right>a{border:1px solid #c9d1c6;padding:9px 13px;font:700 10px/1.3 var(--body);white-space:nowrap}.header-right>a:hover{border-color:var(--blue);color:var(--blue)}.header-right>a>span{margin-left:6px;color:var(--blue)}
.lead{padding:26px 0 21px;display:grid;grid-template-columns:minmax(0,1fr) 200px;align-items:center;gap:38px}.overline{display:flex;align-items:center;gap:8px;font:700 10px/1.4 var(--mono);color:#2859c9;letter-spacing:.025em}.overline-marker{width:9px;height:9px;background:var(--blue);border-radius:50%}.lead h1{font:700 clamp(34px,3.7vw,53px)/1.05 var(--display);letter-spacing:-.067em;margin:10px 0 10px}.lead h1 em{font-style:normal;text-decoration:underline;text-decoration-thickness:5px;text-decoration-color:var(--accent);text-underline-offset:8px}.lead p{color:#5c685e;font:500 12px/1.65 var(--body);max-width:755px;margin:0}.lead-right{padding-left:19px;border-left:1px solid #cad3c6}.time-label{font:700 9px/1.4 var(--mono);color:#6e7c70}.countdown{font:700 48px/.98 var(--display);letter-spacing:-.08em;margin:6px 0 3px}.countdown span{font:700 12px/1.3 var(--display);letter-spacing:0;margin-left:8px}.election-time{font:650 10px/1.5 var(--mono);color:#536151}.election-time b{color:var(--blue)}.quiet-link{display:inline-block;color:#2353d2;font:700 10px/1.5 var(--body);margin-top:6px}.quiet-link:hover{text-decoration:underline}
.fact-strip{display:grid;grid-template-columns:1fr 1fr 1fr minmax(170px,.84fr);background:#fff;border:1px solid var(--line);height:76px}.fact-strip>div{display:flex;gap:12px;align-items:center;padding:11px 21px;border-right:1px solid #e6eae3}.fact-number{font:700 31px/1 var(--display);letter-spacing:-.06em}.fact-strip>div>span:last-child{display:flex;flex-direction:column;gap:2px}.fact-strip strong{font:700 11px/1.25 var(--display)}.fact-strip small{font:500 10px/1.4 var(--body);color:#798277}.fact-action{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 19px;background:#111813;color:white;font:700 11px/1.35 var(--display)}.fact-action:hover{background:#24372a}.fact-action b{color:var(--accent);font-size:18px}
.workspace{margin-top:17px;border:1px solid #d5dcd2;background:var(--panel)}.tabs{display:flex;align-items:stretch;background:#f9faf6;border-bottom:1px solid var(--line);padding:0 9px;min-height:51px}.tab{padding:13px 19px;margin-bottom:-1px;background:transparent;color:#6b796e;border:0;border-bottom:3px solid transparent;font:700 12px/1.3 var(--body);white-space:nowrap;transition:background .15s,color .15s}.tab span{font:700 9px/1.3 var(--mono);color:#9ca79b;margin-right:7px}.tab:hover{background:#edf1eb;color:#142617}.tab.active{border-color:var(--blue);color:#0d1610}.tab.active span{color:#295fdd}.panel{padding:24px;min-height:353px}.panel-eyebrow{font:700 10px/1.35 var(--mono);color:#3660ce;letter-spacing:.02em}.bullet{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2f61ff;margin-right:4px}
.overview-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:19px}.feature-panel{padding:22px;background:#111714;color:#f9fff9;min-height:252px;display:flex;flex-direction:column}.feature-panel .panel-eyebrow{color:#c8ff63}.feature-panel h2{font:700 27px/1.12 var(--display);letter-spacing:-.052em;margin:11px 0 8px}.feature-panel>p{font:500 12px/1.65 var(--body);color:#c7d3c7;margin:0}.feature-panel>p strong{color:#fff}.feature-action-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:17px 0 15px}.primary-button{border:0;background:var(--accent);color:#162113;font:700 11px/1.3 var(--body);padding:11px 14px;transition:background .15s}.primary-button:hover{background:#d8ff9e}.primary-button span{margin-left:6px}.inline-button{background:none;border:0;color:#caff8a;padding:9px 2px;font:700 11px/1.3 var(--body)}.inline-button:hover{text-decoration:underline}.feature-note{margin-top:auto;font-size:10px;line-height:1.55;color:#a8b9a8}.feature-note b{color:#d5e9d3}.baseline-panel{border:1px solid #e0e8dc;padding:21px;display:flex;flex-direction:column;min-height:252px}.panel-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.baseline-panel h2{font:700 23px/1.2 var(--display);letter-spacing:-.045em;margin:10px 0 0}.tiny-tag{font:700 8px/1.25 var(--mono);background:#edf0e9;color:#637265;padding:6px 7px;white-space:nowrap}.baseline-bar{height:18px;display:flex;overflow:hidden;gap:2px;margin:23px 0 19px;border-radius:2px;background:#e6eae3}.baseline-bar span{height:100%}.party-key{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}.party-key>div{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:7px;color:#445248;font:650 11px/1.3 var(--body)}.party-key i{height:8px;width:8px;border-radius:50%}.party-key b{font:700 15px/1 var(--display);color:#1b271d}.source-line{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:19px;color:#7b897a;font-size:9px;line-height:1.5}.source-line>a{font-weight:750;color:#2a54c5;white-space:nowrap}.overview-bottom{display:grid;grid-template-columns:1fr 1fr;gap:19px;margin-top:17px}.overview-bottom>div{border-top:1px solid #dfe6dc;padding:9px 2px 0;display:flex;gap:9px;align-items:baseline}.overview-bottom strong{white-space:nowrap;font:700 11px/1.25 var(--display)}.overview-bottom span{font-size:10px;color:#687668;line-height:1.5}.overview-bottom a{color:#3159c8;font-weight:700}
.builder-heading,.district-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:15px}.builder-heading h2,.district-head h2,.polls-layout h2{font:700 26px/1.1 var(--display);letter-spacing:-.05em;margin:7px 0 5px}.builder-heading p,.district-head p,.polls-main>p{font-size:11px;color:#687669;margin:0}.quiet-button,.outline-button{border:1px solid #ccd6c8;background:white;font:700 11px/1.3 var(--body);padding:10px 12px;white-space:nowrap}.quiet-button:hover,.outline-button:hover{border-color:#3a61bc;color:#204ec7}.builder-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(246px,.77fr);gap:13px}.scenario-main{background:#fafbf8;border:1px solid #dde5da;padding:16px}.scenario-bar-label{display:flex;justify-content:space-between;align-items:center;gap:12px;font:700 9px/1.4 var(--mono);color:#59665b}.scenario-bar-label b{font-weight:500;color:#9aa49a;margin-left:8px}.scenario-bar{margin:10px 0 12px;height:24px;display:flex;overflow:hidden;border-radius:3px;gap:2px;background:#ebefea}.scenario-bar span{height:100%;min-width:0;transition:width .15s}.scenario-legend{display:flex;align-items:center;gap:9px 17px;flex-wrap:wrap}.scenario-legend span{display:flex;align-items:center;gap:6px;font-size:10px;color:#596659;font-weight:600}.scenario-legend i{display:inline-block;width:8px;height:8px;border-radius:50%}.scenario-legend b{color:#142114;font:700 12px/1 var(--display)}.scenario-controls{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:17px}.scenario-controls>span{font:650 9px/1.3 var(--mono);color:#7a8979;margin-right:7px}.preset{border:1px solid #d1d9cd;padding:6px 8px;font-size:10px;font-weight:650;background:white}.preset.is-active{background:#202b21;color:white;border-color:#202b21}.scenario-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:13px;padding-top:12px;border-top:1px solid #e0e6dd;color:#6b796d;font-size:9px;line-height:1.45}.scenario-footer>span{flex:1}.share-button{border:0;background:var(--accent);color:#192518;font:700 10px/1.35 var(--body);padding:9px 12px;white-space:nowrap}.share-button:hover{background:#dbff9d}.majority-panel{background:#142018;color:white;padding:16px;display:flex;flex-direction:column}.majority-panel .panel-eyebrow{color:#c8ff63}.maj-count{display:flex;align-items:end;gap:11px;margin:9px 0 6px}.maj-count b{font:700 41px/.92 var(--display);letter-spacing:-.065em}.maj-count span{font:650 10px/1.4 var(--mono);color:#becfbd;margin-bottom:3px}.maj-track{height:7px;background:#405345;margin:8px 0 11px;overflow:hidden}.maj-track span{display:block;height:100%;background:var(--accent);transition:width .17s}.majority-panel>strong{font:700 12px/1.35 var(--display)}.majority-panel>p{font:500 9px/1.55 var(--body);color:#b4c4b4;margin:7px 0 11px}.coalition-choices{display:grid;grid-template-columns:1fr 1fr;gap:7px 6px;margin-top:auto}.coalition-choices label{display:flex;align-items:center;gap:6px;color:#e0ece0;font-size:10px;cursor:pointer}.coalition-choices input{accent-color:#c8ff63}.coalition-choices i{height:7px;width:7px;border-radius:50%;display:inline-block}.edit-districts{margin-top:16px;border-top:1px solid #e3e9e1;padding-top:14px}.edit-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.edit-head h3{font:700 16px/1.2 var(--display);margin:0}.edit-head span{font-size:10px;color:#657464}.search-box{display:flex;align-items:center;gap:8px;border:1px solid #d2dcd0;padding:0 10px;height:38px;background:#fff;max-width:280px;width:100%}.search-box>span{font-size:23px;color:#6c7c6b}.search-box input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:11px}.builder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px;max-height:204px;overflow-y:auto;padding-right:4px;scrollbar-color:#b7c1b2 transparent}.builder-district{display:flex;justify-content:space-between;align-items:center;gap:7px;border:1px solid #e0e6dc;padding:7px 9px;background:#fbfcfa;min-width:0}.builder-district.changed{border-color:#adc69a;background:#f0f9e9}.builder-district>span{font:650 10px/1.25 var(--body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.builder-district select{max-width:93px;width:93px;border:1px solid #d3ddd0;padding:5px 3px;font:650 10px/1.2 var(--body);background:white;color:#1b281e}.empty{color:#7a8276;font-size:11px;padding:20px}.micro-note{margin:13px 0 0;font-size:10px;color:#6e786d}
.district-controls{display:flex;align-items:center;gap:10px;margin:16px 0 13px}.district-controls .search-box{max-width:340px}.district-controls>select{background:white;border:1px solid #d2dcd0;padding:9px 10px;font-size:11px;height:38px;color:#405041}.record-count{margin-left:auto;font:700 10px/1.3 var(--mono);color:#66766b;white-space:nowrap}.district-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:310px;overflow:auto;padding-right:3px}.district-item{border:1px solid #e3e8de;background:#fbfcfa;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.district-item strong{font:700 11px/1.35 var(--display);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.district-item>span{font:650 9px/1.3 var(--mono);color:#718071;white-space:nowrap}.district-item>span i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px}.district-item>button{border:0;background:transparent;color:#2955ce;font-size:10px;font-weight:700;white-space:nowrap;padding:4px}.district-item>button:hover{text-decoration:underline}.district-item>div{min-width:0}.polls-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:25px}.polls-main{padding-right:8px}.polls-main>p{max-width:610px;line-height:1.65;margin-top:10px}.polls-empty{display:flex;align-items:start;gap:15px;padding:16px;background:#eff3ed;border:1px solid #e1e8df;margin-top:17px;max-width:650px}.polls-icon{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#d9e2d1;font:700 25px/1 var(--display);color:#2f5f36}.polls-empty strong{display:block;font:700 13px/1.3 var(--display)}.polls-empty span:last-child{display:block;font-size:11px;color:#6d786d;line-height:1.55;margin-top:5px}.poll-cta{display:flex;align-items:center;gap:18px;margin-top:17px;flex-wrap:wrap}.poll-cta>a{font-weight:750;color:#2452c4;font-size:11px}.voting-panel{padding:18px;border:1px solid #dde5da}.date-item{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;border-bottom:1px solid #e5ebe2;padding:8px 0}.date-item>span{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e7ede4;width:39px;height:39px;font:700 8px/1.4 var(--mono);color:#6c776c}.date-item b{font:700 18px/1 var(--display);color:#1e281e}.date-item strong{display:block;font:700 11px/1.3 var(--display)}.date-item small{color:#7c867b;font-size:10px}.voting-panel>a{display:block;font:700 10px/1.5 var(--body);color:#2a52c1;margin-top:13px}
.below-workspace{padding:13px 0 17px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:#647062}.below-workspace strong{color:#344939}.below-workspace>span{font:600 9px/1.4 var(--mono);color:#859083;text-align:right}.below-workspace a{color:#2b54c5;text-decoration:underline}.small-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#2fa570;margin-right:6px}.footer{border-top:1px solid #d9dfd4;background:#eaeee5}.footer-inner{min-height:49px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#6e796e;font:500 10px/1.4 var(--body)}.footer-inner strong{color:#29372b}.footer-inner a{font-weight:750;color:#2851bd}
@media(min-width:1100px) and (min-height:760px){.lead{padding-top:22px;padding-bottom:20px}.workspace{margin-top:15px}.panel{padding:21px;min-height:335px}.feature-panel,.baseline-panel{min-height:239px;padding:18px}}
@media(max-width:1140px){.shell{width:calc(100% - 36px)}.content-grid{gap:15px}.lead{grid-template-columns:1fr 170px}.fact-strip>div{padding-inline:12px}.panel{padding:17px}.overview-grid{gap:12px}.feature-panel,.baseline-panel{padding:17px}.builder-layout{grid-template-columns:1.5fr 1fr}.builder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.district-list{grid-template-columns:repeat(2,minmax(0,1fr))}.election-title{font-size:40px}.tab{padding-inline:15px}.overview-bottom{gap:12px}.overview-bottom>div{display:block}.overview-bottom>div span{display:block;margin-top:3px}}
@media(max-width:840px){.topbar-inner{height:65px}.header-status{display:none}.lead{gap:16px}.lead h1{font-size:clamp(30px,4.8vw,41px)}.lead p{font-size:11px}.fact-strip{grid-template-columns:repeat(3,1fr);height:auto}.fact-strip>div{height:65px}.fact-action{grid-column:1/-1;min-height:40px;padding:0 13px}.overview-grid,.polls-layout{grid-template-columns:1fr}.feature-panel,.baseline-panel{min-height:0}.overview-bottom{margin-top:10px}.baseline-panel{min-height:245px}.tabs{overflow-x:auto;padding-inline:0}.tab{flex:1;padding:12px 10px;font-size:11px}.scenario-main{min-height:242px}.builder-layout{grid-template-columns:1fr}.majority-panel{min-height:200px}.district-head h2,.builder-heading h2{font-size:23px}.footer-inner>span:nth-child(2){display:none}}
@media(max-width:600px){.shell{width:calc(100% - 26px)}.topbar-inner{height:auto;min-height:59px}.identity{gap:9px}.brand img{width:30px;height:30px}.brand strong{font-size:21px}.brand small{font-size:7px;letter-spacing:.08em}.brand-divider{height:30px}.product-title{font-size:11px}.product-title span{font-size:7px}.header-right>a{border:0;padding:3px 0;font-size:9px}.lead{display:block;padding:19px 0 15px}.lead h1{font-size:clamp(29px,7vw,38px);margin:9px 0}.lead p{font-size:11px}.lead-right{border:0;padding:12px 0 0;display:flex;align-items:center;gap:11px;flex-wrap:wrap}.time-label{font-size:8px}.countdown{font-size:29px;margin:0}.countdown span{font-size:10px;margin-left:4px}.election-time{font-size:9px}.quiet-link{display:none}.fact-strip>div{padding:7px 8px;height:58px;gap:6px}.fact-number{font-size:24px}.fact-strip strong{font-size:9px}.fact-strip small{font-size:8px}.fact-action{font-size:10px}.tabs{min-height:47px}.tabs{display:grid;grid-template-columns:1fr 1fr;padding:0}.tab{padding:10px 8px;font-size:10px;flex:1;text-align:center;border-bottom:1px solid #e7ebe3}.tab.active{border-bottom:3px solid var(--blue)}.tab span{font-size:8px;margin-right:4px}.panel{padding:12px;min-height:0}.feature-panel,.baseline-panel{padding:15px}.feature-panel h2{font-size:22px}.feature-panel>p{font-size:11px}.feature-action-row{gap:8px;margin:13px 0}.primary-button{font-size:10px;padding:10px}.inline-button{font-size:10px}.baseline-panel{min-height:0}.baseline-panel h2{font-size:21px}.baseline-bar{margin:17px 0}.source-line{padding-top:13px}.overview-bottom{grid-template-columns:1fr;gap:4px}.overview-bottom>div{padding:7px 0}.below-workspace{display:block;font-size:9px}.below-workspace>span{display:block;text-align:left;margin:6px 0 0;font-size:8px}.footer-inner{padding:11px 0;min-height:0}.footer-inner a{white-space:nowrap}.builder-heading,.district-head{align-items:start}.builder-heading h2,.district-head h2{font-size:21px}.builder-heading p,.district-head p{font-size:10px}.quiet-button,.outline-button{font-size:9px;padding:8px}.builder-grid,.district-list{grid-template-columns:1fr;max-height:270px}.builder-district{padding:8px}.district-controls{flex-wrap:wrap}.district-controls .search-box{max-width:none}.district-controls>select{flex:1}.district-head{display:block}.district-head .outline-button{display:inline-block;margin-top:9px}.edit-head{display:block}.edit-head .search-box{margin-top:10px;max-width:none}.scenario-controls{gap:5px}.scenario-controls>span{width:100%}.scenario-footer{flex-wrap:wrap}.coalition-choices{grid-template-columns:1fr 1fr}.polls-layout{gap:15px}.polls-main h2{font-size:23px}.voting-panel{padding:12px}}
@media(max-width:360px){.shell{width:calc(100% - 20px)}.header-right>a{font-size:8px}.product-title{font-size:10px}.lead h1{font-size:29px}.lead p{font-size:10px}.tab{padding-inline:8px}.tab span{display:none}.fact-strip strong{font-size:8px}.panel-head{display:block}.tiny-tag{display:inline-block;margin-top:9px}.scenario-legend{gap:8px}.scenario-footer{display:block}.share-button{margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
