@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500&display=swap";.builder-sidebar{flex-direction:column;gap:36px;display:flex}.plan-list{margin:16px 0 28px;padding-left:28px;list-style:decimal-leading-zero}.plan-list li{min-height:34px;padding-left:4px}.plan-list li::marker{color:#5c5f63;font-size:11px}.plan-list li>span{text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;max-width:calc(100% - 28px);display:inline-block;overflow:hidden}.plan-list li>button{float:right;color:var(--muted);padding:0 4px;font-size:17px}.empty-slot{color:#5c5f63}.budget>div{justify-content:space-between;gap:12px;font-size:12px;display:flex}progress{appearance:none;background:#1e2023;border:0;width:100%;height:2px;margin:12px 0 24px;display:block}progress::-webkit-progress-bar{background:#1e2023}progress::-webkit-progress-value{background:#d9d9d6}progress::-moz-progress-bar{background:#d9d9d6}.rules{gap:4px;padding:0;font-size:12px;list-style:none;display:grid}.rules li>span{width:34px;display:inline-block}.direction-count{margin-top:12px;font-size:11px}.violation-list{color:#e3b85a;margin-top:14px;padding-left:15px;font-size:11px}.plan-panel>.primary{width:100%;margin-top:24px}.example-actions{color:var(--muted);justify-content:space-between;gap:10px;margin-top:16px;font-size:10px;display:flex}.scenario-rules{color:var(--muted);margin-top:18px;font-size:11px}.scenario-rules ul{gap:7px;display:grid}.catalog>.section-heading{margin-bottom:18px;font-size:11px}.catalog-filters{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.catalog-filters>*{padding:8px;font-size:11px}.catalog-group{margin-top:16px}.catalog-group h3{color:var(--muted);margin-bottom:5px;font-size:11px}.measure-row{text-align:left;grid-template-columns:14px 28px minmax(0,1fr) 24px;gap:8px;width:100%;padding:8px 4px;font-size:12px;display:grid}.measure-row:hover:not(:disabled){background:#17191b}.measure-row>span:last-child{text-align:right;color:var(--muted)}.measure-id{color:var(--muted);font-size:11px}.measure-name{line-height:1.4}.measure-name small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.measure-row:disabled .measure-name small{color:#5c5f63}.measure-facts{gap:36px;margin:24px 0 28px;display:flex}.measure-facts dd{margin:4px 0 0}.effect-list{gap:7px;margin-top:12px;padding:0;font-size:12px;list-style:none;display:grid}.effect-list li{justify-content:space-between;gap:16px;display:flex}.district-option{cursor:pointer;align-items:flex-start;gap:12px;margin:10px 0;display:flex}.district-option input{accent-color:#d9d9d6;margin:5px 0 0}.district-option small{color:var(--muted);margin-top:2px;display:block}.catalog>.muted{padding:24px 0;font-size:12px}@media (width<=800px){.builder-sidebar{gap:36px}.plan-panel,.catalog{border-top:1px solid #2e3135;padding-top:24px}.catalog-group{grid-template-columns:1fr 1fr;column-gap:24px;display:grid}.catalog-group h3{grid-column:1/-1}.plan-list{grid-template-columns:1fr 1fr;column-gap:32px;display:grid}.plan-panel>.primary{z-index:2;position:sticky;bottom:16px;box-shadow:0 8px 24px #0c0d0e}}@media (width<=480px){.plan-list,.catalog-group{display:block}.measure-row{padding-top:11px;padding-bottom:11px}.example-actions{font-size:11px}.measure-facts{gap:24px}}.council-page{color:#d9d9d6}.council-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px;display:flex}.council-heading h1{color:#fff;letter-spacing:-.04em;margin:4px 0 10px;font-size:30px}.council-heading p{color:#8a8d90;max-width:700px}.council-heading .outline{white-space:nowrap}.council-progress{border-top:1px solid #2e3135;border-bottom:1px solid #2e3135;flex-wrap:wrap;gap:0;margin-bottom:28px;display:flex}.council-progress button{color:#666a6e;border-right:1px solid #2e3135;padding:12px 15px;font-size:11px}.council-progress .reached{color:#d9d9d6}.council-progress .reached:last-child{color:#6cc3a0}.council-status,.council-error{margin-bottom:16px;padding:18px 0}.council-error{color:#f07167;border:1px solid #5a302c;align-items:center;gap:20px;padding:16px;display:flex}.council-error button{color:#d9d9d6;font-size:11px}.council-score{border-bottom:1px solid #2e3135;align-items:center;gap:24px;margin-bottom:30px;padding:14px 0;font-size:12px;display:flex}.council-score>span:first-child{color:#8a8d90;letter-spacing:.08em;font-size:10px}.council-score strong{color:#fff;font-size:20px;font-weight:400}.council-score>span:last-child{margin-left:auto}.council-layout{grid-template-columns:minmax(320px,430px) minmax(0,1fr);align-items:start;gap:32px;display:grid}.council-layout aside{position:sticky;top:20px}.council-table-panel h2,.council-panel h2{color:#d9d9d6;font-size:12px}.council-ring{background:radial-gradient(circle,#151719 0 30%,#0000 31%),repeating-radial-gradient(circle,#0000 0 63px,#202326 64px 65px);border:1px solid #33373b;border-radius:50%;max-width:400px;height:360px;margin:20px auto;position:relative}.council-ring-core{color:#fff;letter-spacing:.1em;flex-direction:column;align-items:center;font-size:16px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.council-ring-core small{color:#8a8d90;font-size:10px}.council-seat{color:#d9d9d6;background:#0c0d0e;border:1px solid #666a6e;place-items:center;width:45px;height:45px;font-size:11px;display:grid;position:absolute;transform:translate(-50%,-50%)}.council-seat.active{color:#6cc3a0;border-color:#6cc3a0;box-shadow:0 0 0 5px #6cc3a021}.council-roster>div{border-bottom:1px solid #1e2023;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:29px;font-size:11px;display:grid}.council-roster strong{color:#fff;font-weight:500}.council-roster small{color:#8a8d90;text-align:right;white-space:nowrap}.council-roster .speaking,.council-roster .speaking small{color:#6cc3a0}.council-fiction{color:#8a8d90;margin-top:12px;font-size:10px}.council-main{flex-direction:column;gap:24px;min-width:0;display:flex}.council-panel{border:1px solid #2e3135;padding:20px}.council-section-title{border-bottom:1px solid #2e3135;justify-content:space-between;gap:16px;margin-bottom:16px;padding-bottom:12px;display:flex}.council-section-title span{color:#8a8d90;font-size:10px}.council-panel>.muted{font-size:12px}.council-feed{max-height:520px;padding:0;list-style:none;overflow:auto}.council-feed li{border-bottom:1px solid #232629;padding:16px 0}.council-feed li:last-child{border-bottom:0}.council-feed-head{justify-content:space-between;gap:15px;margin-bottom:9px;display:flex}.council-feed-head strong{color:#fff;font-weight:500}.council-feed-head span{color:#8a8d90;white-space:nowrap;font-size:11px}.council-feed p{font-size:12px;line-height:1.7}.council-feed-meta{color:#6cc3a0;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:10px;display:flex}.council-feed-meta .stance-against{color:#f07167}.council-feed-meta .stance-conditional{color:#e3b85a}.council-map>p{margin-bottom:8px;font-size:12px}.council-map svg{background:#101214;width:100%;max-height:300px;display:block}.council-map polygon{fill:#191d20;stroke:#596068;stroke-width:2px}.council-map .map-source polygon{fill:#4a2d2b;stroke:#f07167}.council-map .map-target polygon{fill:#234338;stroke:#6cc3a0}.council-map .map-contested polygon{fill:#4b3923;stroke:#e3b85a;stroke-width:3px}.council-map-objections{border-left:2px solid #e3b85a;margin:10px 0;padding-left:10px;font-size:11px}.council-map-objections strong{color:#e3b85a;font-weight:400}.council-map-objections p{margin-top:4px}.council-map text{fill:#d9d9d6;font-size:13px}.council-map line{stroke:#e3b85a;stroke-width:4px}.council-map marker path{fill:#e3b85a}.council-map small{color:#8a8d90;font-size:10px}.council-amendments{gap:12px;display:grid}.council-amendment{border:1px solid #33373b;padding:16px}.council-amendment-title{justify-content:space-between;gap:12px;font-size:12px;display:flex}.council-amendment-title strong{color:#fff;font-weight:500}.council-amendment-title span{color:#6cc3a0;font-size:10px}.council-amendment-stats{flex-wrap:wrap;gap:14px;margin:10px 0 14px;font-size:11px;display:flex}.council-impacts{gap:5px;display:grid}.council-impacts>div{grid-template-columns:minmax(100px,1fr) 90px 52px;align-items:center;gap:10px;font-size:10px;display:grid}.council-impacts>div>span{text-overflow:ellipsis;white-space:nowrap;color:#8a8d90;overflow:hidden}.council-impacts b{text-align:right;font-weight:400}.impact-track{background:#2e3135;height:3px}.impact-track i{background:#6cc3a0;height:100%;display:block}.impact-track i.negative{background:#f07167}.council-amendment-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:16px;font-size:11px;display:flex}.council-amendment-actions .outline{min-height:34px;padding:6px 10px}.council-protocol-stack{gap:24px;display:grid}.council-checks{padding:0;list-style:none}.council-checks li{border-bottom:1px solid #25282b;grid-template-columns:95px minmax(100px,1fr) minmax(160px,2fr);gap:10px;padding:10px 0;font-size:11px;display:grid}.council-checks li>span:last-child{color:#8a8d90}.council-votes{padding:0;list-style:none}.council-votes li{border-bottom:1px solid #25282b;justify-content:space-between;gap:12px;padding:6px 0;font-size:11px;display:flex}.council-protocol>strong{color:#fff;font-size:18px;font-weight:400}.council-protocol p{margin:12px 0;font-size:12px}.council-protocol h3{color:#8a8d90;margin:20px 0 8px}.council-protocol ul{padding-left:18px;font-size:11px}.council-protocol li{margin:6px 0}.council-protocol-score{color:#6cc3a0;gap:18px;font-size:12px;display:flex}.council-protocol .primary{min-width:220px;margin-top:18px}@media (width<=1050px){.council-layout{grid-template-columns:minmax(250px,330px) minmax(0,1fr);gap:20px}.council-ring{height:290px}.council-roster>div{grid-template-columns:35px minmax(0,1fr)}.council-roster small{text-align:left;grid-column:2}}@media (width<=800px){.council-layout{flex-direction:column;display:flex}.council-layout aside{width:100%;position:static}.council-table-panel{grid-template-columns:240px minmax(0,1fr);gap:0 20px;display:grid}.council-table-panel h2,.council-fiction{grid-column:1/-1}.council-ring{width:230px;height:230px;margin:14px 0}.council-main{width:100%}.council-heading{align-items:start}.council-score{flex-wrap:wrap}.council-score>span:last-child{margin-left:0}}@media (width<=600px){.council-heading{flex-direction:column}.council-heading h1{font-size:25px}.council-table-panel{display:block}.council-ring{margin:16px auto}.council-progress button{padding:9px;font-size:10px}.council-panel{padding:14px}.council-checks li{grid-template-columns:1fr}.council-impacts>div{grid-template-columns:minmax(80px,1fr) 70px 44px}.council-error{flex-wrap:wrap}}.ai-report{border-top:1px solid #2e3135;margin-top:48px;padding-top:24px}.analysis-summary{max-width:920px;margin-top:20px;font-size:14px;line-height:1.8}.analysis-sections{grid-template-columns:1fr 1fr;gap:32px 56px;margin:28px 0 32px;display:grid}.analysis-sections h3{color:var(--muted);margin-bottom:12px}.analysis-sections ul{font-size:12px;line-height:1.8}.analysis-sections li+li{margin-top:9px}.ai-report details{font-size:12px}.tool-log{margin-top:16px;padding-left:28px}.tool-log li{margin-bottom:20px}.tool-log pre{font:inherit;background:#141618;border:1px solid #2e3135;max-height:260px;padding:16px;font-size:11px;overflow:auto}.review-sidebar .ai-report{margin-top:0;padding-top:20px}.review-sidebar .analysis-summary{margin-top:14px;font-size:12px}.review-sidebar .analysis-sections{grid-template-columns:1fr;gap:18px;margin:22px 0;display:grid}.review-sidebar .analysis-sections h3{margin-bottom:7px;font-size:11px}.review-sidebar .analysis-sections ul{font-size:11px;line-height:1.7}.review-sidebar .analysis-sections li+li{margin-top:6px}.review-sidebar .ai-report details{font-size:11px}.score-summary{align-items:flex-end;gap:56px;margin-bottom:44px;display:flex}.score-summary h1{color:var(--muted);margin-bottom:4px}.score-number{letter-spacing:-.04em;color:#fff;font-size:72px;line-height:1.1}.score-summary p{margin-top:8px;font-size:12px}.score-metrics{gap:32px;padding-bottom:7px;display:flex}.score-metrics dt{margin-bottom:3px;font-size:12px}.score-metrics dd{white-space:nowrap;margin:0}.score-summary>.outline{white-space:nowrap;margin-left:auto;font-size:12px}.review-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.review-actions .primary,.review-actions .outline{white-space:nowrap;font-size:12px}.review-replay{color:var(--muted);font-size:11px}.review-council-actions{justify-content:flex-end;gap:10px;margin-top:26px;display:flex}.review-council-actions .primary{min-width:180px}.review-sidebar{flex-direction:column;gap:24px;display:flex}.moves ul{margin-top:12px;padding:0;list-style:none}.moves li{min-height:30px}.move-line{grid-template-columns:minmax(112px,1.2fr) minmax(16px,1fr) 42px 112px;align-items:center;gap:10px;font-size:11px;display:grid}.move-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.move-line>.positive,.move-line>.danger{text-align:right}.additional-swaps{margin-top:10px;font-size:11px}.grade{white-space:nowrap}.grade.brilliant,.grade.best,.grade.good{color:var(--positive)}.grade.inaccuracy{color:#e3b85a}.grade.mistake,.grade.blunder{color:var(--danger)}.swap{border-bottom:1px solid #1e2023;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding-bottom:12px;font-size:12px;display:flex}.swap>div{align-items:center;gap:18px;display:flex}.swap .outline{min-height:32px;padding:6px 10px;font-size:11px}.optimum-button{text-align:left;font-size:12px}.review-context{font-size:11px}.review-context p+p{margin-top:3px}.histogram{margin-top:44px}.histogram svg{width:100%;display:block;overflow:visible}.histogram text{font-size:10px}.histogram .baseline{fill:#8a8d90;color:#8a8d90;stroke:#8a8d90}.histogram .current{fill:#fff;color:#fff;stroke:#fff}.histogram .optimum{fill:var(--positive);color:var(--positive);stroke:var(--positive)}.histogram text{stroke:none}.histogram line{stroke-width:1px;stroke-dasharray:3 3}.histogram-legend{justify-content:space-between;gap:16px;font-size:10px;display:flex}.swap-preview{padding:18px 0}.swap-preview p+p{margin-top:4px}.swap-preview p:nth-child(3){margin-top:20px}.optimum-score{margin:24px 0;font-size:48px}.optimum-list{margin-bottom:24px;padding-left:25px}.optimum-list li{margin-bottom:14px;padding-left:5px}.optimum-list small{color:var(--muted);margin-top:3px;display:block}@media (width<=1200px){.score-summary{flex-wrap:wrap;gap:28px}.score-metrics{gap:24px}.score-summary>.outline{margin-left:0}.score-number{font-size:64px}.move-line{grid-template-columns:minmax(90px,1fr) minmax(12px,1fr) 38px 92px;gap:7px;font-size:10px}.swap{align-items:flex-start}.swap>div{flex-direction:column;gap:10px}}@media (width<=800px){.score-summary{align-items:flex-start;gap:28px}.score-summary>div{min-width:160px}.score-metrics{flex-wrap:wrap;grid-template-columns:1fr 1fr;gap:18px 30px;padding-top:8px;display:grid}.score-summary>.outline{width:100%}.review-sidebar{border-top:1px solid #2e3135;padding-top:24px}.swap>div{flex-direction:row}.analysis-sections{grid-template-columns:1fr;gap:28px}.analysis-summary{font-size:13px}.histogram-legend{flex-wrap:wrap;gap:8px 20px}.score-number{font-size:58px}.score-summary p{font-size:11px}}.contribution-bar{background:#1e2023;flex:1;min-width:16px;height:2px}.contribution-bar>span{background:#d9d9d6;height:2px;display:block}.onboarding-trigger{white-space:nowrap;font-size:12px}.header-controls{flex-wrap:wrap;gap:12px 24px}.modal.onboarding{background:#0c0d0e;border-color:#d9d9d6;flex-direction:column;width:800px;min-height:min(600px,100dvh - 64px);padding:24px 32px 28px;display:flex;overflow:hidden}.onboarding>.section-heading{flex-shrink:0;align-items:center;margin-bottom:28px}.onboarding>.section-heading h2{color:var(--muted);flex:1;font-size:12px}.onboarding>.section-heading .onboarding-skip{text-underline-offset:4px;color:var(--muted);font-size:12px;text-decoration:underline}.onboarding-content{flex:1;min-height:0;margin:-6px;padding:6px;overflow-y:auto}.onboarding-content>h3{color:#fff;max-width:340px;margin-bottom:20px;font-size:18px;font-weight:500;line-height:1.4}.onboarding-content>h3:focus{outline:none}.onboarding-columns{grid-template-columns:minmax(0,1fr) minmax(0,360px);align-items:center;gap:40px;display:grid}.onboarding-copy{text-wrap:pretty;align-self:start}.onboarding-copy p+p{margin-top:14px}.onboarding-pipeline{padding:0;list-style:none}.onboarding-pipeline li{border:1px solid #3a3d41;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:12px;padding:8px 14px;display:grid;position:relative}.onboarding-pipeline li:nth-child(2){border-color:#d9d9d6}.onboarding-pipeline li+li{margin-top:28px}.onboarding-pipeline li+li:before{content:"↓";color:var(--muted);position:absolute;top:-26px;left:50%}.onboarding-pipeline small{display:block}.onboarding-city{margin:0}.onboarding-city svg{width:100%;display:block}.onboarding-city polygon{fill:#141619;stroke:#3a3d41;stroke-width:2px}.onboarding-city text{fill:#d9d9d6;font-size:16px}.onboarding-city .onboarding-map-note{fill:var(--muted);font-size:14px}.onboarding-city .critical polygon{fill:#211817;stroke:var(--danger)}.onboarding-city .critical .onboarding-map-note{fill:var(--danger)}.onboarding-city figcaption,.onboarding-budget{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:11px;display:flex}.onboarding-rule-card{border:1px solid #3a3d41;padding:16px;font-size:12px}.onboarding-budget-track{background:#1e2023;height:2px;margin:8px 0 14px}.onboarding-budget-track span{background:#d9d9d6;width:95%;height:100%;display:block}.onboarding-rule-card ul{padding:0;list-style:none}.onboarding-rule-card li{grid-template-columns:24px minmax(0,1fr) auto;gap:8px;padding:6px 0;display:grid}.onboarding-rule-card small{color:var(--muted)}.onboarding-segments{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;font-size:12px;display:flex}.onboarding-segments>span{margin-right:10px}.onboarding-segments button{border:1px solid #3a3d41;min-width:40px;min-height:36px;padding:6px 10px}.onboarding-segments button[aria-pressed=true]{color:#0c0d0e;background:#d9d9d6;border-color:#d9d9d6}.onboarding-timeline{color:var(--muted);text-align:center;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;padding:0;font-size:11px;list-style:none;display:grid}.onboarding-timeline li:before{content:"";border:1px dashed #3a3d41;height:36px;margin-bottom:4px;display:block}.onboarding-timeline .working:before{border:1px solid var(--positive);background:#14201b}.onboarding-legend{gap:20px;margin:6px 0 20px;font-size:11px;display:flex}.onboarding-values,.onboarding-glossary{grid-template-columns:auto minmax(0,1fr);gap:6px 16px;margin-bottom:10px;display:grid}.onboarding dd{margin:0}.onboarding-formula>div{border-bottom:1px solid #1e2023;padding:10px 0}.onboarding-formula dt{color:#fff}.onboarding-formula dd{color:var(--muted);font-size:11px}.onboarding-formula strong{font-size:22px;font-weight:400}.onboarding-callout{border:1px solid #d9d9d6;margin-top:14px;padding:12px 14px;font-size:12px}.onboarding-example{font-size:12px}.onboarding-contributions>div{grid-template-columns:130px minmax(0,1fr);gap:10px;padding:5px 0;display:grid}.onboarding-contributions dd{justify-content:flex-end;align-items:center;gap:10px;display:flex}.onboarding-bar{flex:1}.onboarding-bar>span,.onboarding-negative-bar{background:var(--positive);height:8px;display:block}.onboarding-negative-bar{background:var(--danger);width:87%;margin:20px 0}.onboarding-total{border-top:1px solid #1e2023;margin:8px 0}.onboarding-results ol{counter-reset:results;margin:12px 0;padding:0;list-style:none}.onboarding-results li{counter-increment:results;border-bottom:1px solid #1e2023;grid-template-columns:24px 190px minmax(0,1fr);gap:12px;padding:12px 0;display:grid}.onboarding-results li:before{content:counter(results);color:var(--muted)}.onboarding-results li p,.onboarding-glossary{font-size:12px}.onboarding-glossary-toggle{min-height:44px;color:var(--muted);text-underline-offset:4px;text-decoration:underline;display:block}.onboarding-glossary dt{color:#fff}.onboarding-footer{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;margin-top:28px;display:flex}.onboarding-dots,.onboarding-actions{display:flex}.onboarding-actions{gap:12px}.onboarding-dots button{place-items:center;width:32px;height:44px;display:grid}.onboarding-dots span{border:1px solid #3a3d41;width:8px;height:8px}.onboarding-dots .visited span{background:var(--muted)}.onboarding-dots [aria-current=step] span{background:#d9d9d6;border-color:#d9d9d6;width:10px;height:10px}.onboarding-actions button{min-height:44px}@media (width<=1100px){.masthead{flex-wrap:wrap}}@media (width<=700px){.modal.onboarding{min-height:min(600px,100dvh - 32px);padding:20px}.onboarding-columns{grid-template-columns:minmax(0,1fr);gap:24px}.onboarding-content>h3{max-width:none;font-size:17px}.onboarding>.section-heading{gap:12px;margin-bottom:22px}.onboarding-footer{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}.onboarding-actions{width:100%}.onboarding-actions button{flex:1;justify-content:center}.onboarding-results li{grid-template-columns:20px minmax(0,1fr);gap:8px}.onboarding-results li p{grid-column:2}.onboarding-glossary{grid-template-columns:minmax(0,1fr)}.onboarding-glossary dd+dt{margin-top:8px}}@media (width<=380px){.modal.onboarding{padding:16px}.onboarding>.section-heading h2{font-size:11px}.onboarding-segments>span{margin-right:0}.onboarding-segments button{min-width:34px;padding-inline:8px}.onboarding-values{column-gap:10px;font-size:11px}.onboarding-rule-card{padding:12px}}:root{color:#d9d9d6;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--muted:#8a8d90;--border:#2e3135;--positive:#6cc3a0;--danger:#f07167;background:#0c0d0e;font-family:Fira Code,ui-monospace,Menlo,monospace;font-size:13px;line-height:1.6}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:hover:not(:disabled){color:#fff}button:disabled{color:#5c5f63;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline-offset:5px;outline:1px solid #d9d9d6}input:focus-visible,select:focus-visible{outline-offset:2px;outline:1px solid #d9d9d6}h1,h2,h3,p,ul,ol,dl{margin:0}h1,h2,h3{font-size:13px;font-weight:400}h2{color:var(--muted)}p+p{margin-top:10px}input,select{border:1px solid var(--border);color:#d9d9d6;background:#0c0d0e;border-radius:0;min-width:0;padding:10px 12px}input::placeholder{color:#707478}small{font-size:11px}details>summary{cursor:pointer;color:var(--muted)}details[open]>summary{margin-bottom:14px}ul{padding-left:20px}fieldset{border:0;margin:28px 0;padding:0}legend{color:var(--muted);margin-bottom:14px;padding:0}.app-shell{max-width:1536px;min-height:100vh;margin:auto;padding:40px 64px}.masthead{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:40px;display:flex}.brand{white-space:nowrap}.header-controls{align-items:center;gap:48px;display:flex}.masthead nav{gap:28px;display:flex}.masthead nav button{color:var(--muted);white-space:nowrap}.masthead nav button[aria-current=page]{color:#d9d9d6}.api-status{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.api-status span{background:var(--muted);width:7px;height:7px}.api-status.success span{background:var(--positive)}.api-status.error span{background:var(--danger)}.workspace-grid{grid-template-columns:minmax(0,760px) minmax(300px,1fr);align-items:start;gap:64px;display:grid}.workspace-grid>*{min-width:0}.section-heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.section-heading>button{font-size:19px;line-height:1}.muted,dt{color:var(--muted)}.positive{color:var(--positive)}.danger{color:var(--danger)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.primary,.outline{text-align:center;border:1px solid #d9d9d6;min-height:42px;padding:10px 16px}.primary{color:#0c0d0e;background:#d9d9d6;justify-content:space-between;align-items:center;display:flex}.primary:hover:not(:disabled){color:#0c0d0e;background:#fff}.primary:disabled{background:#1e2023;border-color:#1e2023}.outline:hover:not(:disabled){background:#17191b}.loading{padding:14px 0}.failure{color:var(--danger);padding:16px 0}.failure button{color:#d9d9d6;margin-top:14px}.page-state{min-height:60vh;padding:80px 0}.page-state h1{margin-bottom:24px}.footer{color:#707478;border-top:1px solid #1e2023;justify-content:space-between;gap:20px;margin-top:64px;padding-top:22px;font-size:11px;display:flex}.tabs{align-items:center;gap:14px;display:flex}.tabs button{color:var(--muted);white-space:nowrap}.tabs button[aria-pressed=true]{color:#fff;text-underline-offset:5px;text-decoration:underline}.metric-tabs{font-size:12px}.map-section{flex-direction:column;gap:16px;display:flex}.map-heading{flex-wrap:wrap;align-items:center}.district-map{width:100%;height:auto;display:block;overflow:visible}.map-district{cursor:pointer}.map-district polygon{fill:#141618;stroke:#3a3d41;stroke-width:1px;transition:fill .15s}.map-district.critical polygon{fill:#3a1a18;stroke:var(--danger)}.map-district.improved polygon{fill:#14201b;stroke:var(--positive)}.map-district:hover polygon{fill:#24272a}.map-district polygon.selected{stroke:#fff;stroke-width:2px}.map-name{fill:#fff;font-size:12px}.map-population{fill:var(--muted);font-size:10.5px}.map-value{fill:#d9d9d6;font-size:10px}.critical .map-value{fill:var(--danger)}.improved .map-value{fill:var(--positive)}.map-measures{fill:#d9d9d6;font-size:10px}.map-caption{fill:var(--muted);font-size:9.5px}.city-outline{fill:none;stroke:#d9d9d6;stroke-dasharray:3 4;pointer-events:none;transform:translate(-10px,-8px)scale(1.035)}.map-legend{flex-wrap:wrap;gap:24px;font-size:12px;display:flex}.map-legend b{font-weight:400}.table-scroll{width:100%;overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}th,td{text-align:left;padding:7px 14px 7px 0;font-weight:400}thead{color:var(--muted)}.district-summary td{vertical-align:top}.district-summary button[aria-pressed=true]{text-underline-offset:4px;text-decoration:underline}.district-detail{border-left:1px solid var(--border);padding:6px 16px}.district-detail p{margin-top:5px}.indicator-details{margin-top:12px;font-size:12px}.indicator-key{grid-template-columns:1fr 1fr;gap:6px 20px;margin-top:16px;display:grid}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#060708dd;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.modal{background:#101214;border:1px solid #3a3d41;width:560px;max-width:100%;max-height:calc(100dvh - 64px);padding:32px;overflow:auto;box-shadow:0 24px 90px #0009}.modal>.section-heading{margin-bottom:22px}.modal h2{color:#fff;font-size:15px}.modal>.primary,.modal form>.primary{width:100%;margin-top:28px}.modal .section-heading>button{padding:0 4px}.dialog-actions{gap:16px;margin-top:28px;display:flex}.dialog-actions>*{flex:1}.field-label{margin-top:26px;margin-bottom:8px;display:block}.modal input[type=text],.modal input:not([type]){width:100%}.field-hint{margin-top:6px;font-size:11px;display:block}.modal [role=alert]{margin-top:16px}.registry{min-height:62vh}.registry h1{font-size:18px}.registry>.section-heading+p{margin-top:20px}.registry table{margin-top:36px}.registry table td,.registry table th{border-bottom:1px solid #1e2023;padding:15px 24px 15px 0}.registry-empty{padding:80px 0}.registry-empty button{margin-top:24px}@media (width>=1500px){.app-shell{padding-left:80px;padding-right:80px}}@media (width<=1200px){.app-shell{padding:32px}.workspace-grid{grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:36px}.header-controls{gap:24px}.masthead nav{gap:16px}.brand .muted{font-size:11px}.map-heading{gap:10px}.metric-tabs{gap:11px}}@media (width<=800px){.app-shell{padding:24px}.masthead{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:30px}.header-controls{justify-content:space-between;width:100%}.workspace-grid{grid-template-columns:minmax(0,1fr);gap:36px}.map-section{gap:14px}.map-heading{flex-wrap:wrap}.map-heading h2{font-size:12px}.metric-tabs{font-size:11px}.footer{flex-direction:column;gap:6px;font-size:10px}.modal-backdrop{padding:16px}.modal{max-height:calc(100dvh - 32px);padding:24px}.registry h1{font-size:15px}}@media (width<=420px){.app-shell{padding:20px 16px}.masthead nav{flex-wrap:wrap;gap:8px 14px;font-size:12px}.header-controls{flex-wrap:wrap;gap:8px}.map-legend{gap:12px;font-size:10px}.indicator-key{grid-template-columns:1fr}.brand .muted{font-size:10px}.metric-tabs{gap:14px}.modal{padding:20px}.dialog-actions{flex-direction:column}.map-caption{font-size:8px}.map-value{font-size:9px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
