@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-latin-600-normal-DouSKlru.woff2)format("woff2"),url(/assets/source-serif-4-latin-600-normal-DMD1h6_f.woff)format("woff")}:root{color:#17160f;font-synthesis:none;--paper:#f7f5ef;--panel:#fffdf8;--alt:#f2efe7;--line:#ded9cd;--line-soft:#ebe7de;--ink:#17160f;--muted:#6b6558;--teal:#1b6f74;--teal-soft:#e4f0ef;--rust:#a2542c;--rust-soft:#faece3;background:#efede6;font-family:Inter,sans-serif}*{box-sizing:border-box}body{background:var(--paper);min-width:320px;min-height:100vh;margin:0}button{color:inherit;font:inherit}button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.civic-app{min-height:100vh;padding:8px 12px 4px}.app-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;height:62px;display:flex}.brand-lockup,.brand-lockup>div,.header-status{align-items:center;display:flex}.brand-lockup>div{border-right:1px solid var(--line);gap:10px;padding-right:20px}.brand-lockup strong{font:600 25px/1 "Source Serif 4",serif}.brand-lockup span,.panel-heading,.header-status,.program-label span,.flow-total span,.state-chip,footer,small{text-transform:uppercase;letter-spacing:.05em;font-family:IBM Plex Mono,monospace}.brand-lockup>div span{color:var(--muted);font-size:7px;line-height:1.15}.brand-lockup p{margin:0 0 0 14px;font-size:9px;line-height:1.35}.brand-lockup p span{color:var(--muted);font:8px IBM Plex Mono,monospace}.header-status{justify-content:flex-end;gap:7px}.header-status>span,.quiet-button,.primary-button{border:1px solid var(--line);background:var(--panel);letter-spacing:.05em;text-transform:uppercase;min-height:34px;padding:8px 10px;font:8px/1.15 IBM Plex Mono,monospace}.direction-chip{color:#fff;background:var(--ink)!important}.fiction-chip{color:#6f674e;background:#fff9e9!important;border-color:#e6dcc1!important}.mcp-live{color:var(--teal);border-color:var(--teal)!important}.mcp-error{color:var(--rust);border-color:var(--rust)!important}.quiet-button,.primary-button{cursor:pointer}.quiet-button:disabled,.primary-button:disabled{color:#aaa397;cursor:not-allowed}.primary-button:disabled{background:var(--panel);border-color:var(--line)}.primary-button{background:var(--ink);color:#fff;border-color:var(--ink);align-items:center;gap:6px;display:inline-flex}.workspace-top{grid-template-columns:minmax(650px,3fr) minmax(300px,1fr);gap:10px;height:370px;margin-top:10px;display:grid}.right-top{grid-template-rows:226px 134px;gap:10px;min-width:0;display:grid}.workspace-bottom{grid-template-columns:minmax(230px,1fr) minmax(390px,2fr) minmax(290px,1.25fr);gap:10px;height:235px;margin-top:10px;display:grid}.workspace-bottom.webmcp-live{grid-template-columns:minmax(500px,1.7fr) minmax(320px,1fr)}.panel,.harness{border:1px solid var(--line);background:var(--panel);min-width:0;overflow:hidden}.panel-heading{height:30px;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding:0 10px;font-size:7px;display:flex}.panel-heading h2{font:inherit;margin:0}.panel-heading>span{white-space:nowrap}.budget-body{grid-template-columns:95px 105px minmax(0,1fr);height:338px;padding:7px 12px 10px;display:grid}.flow-total{padding-top:6px}.flow-total strong{font:600 10px IBM Plex Mono,monospace;display:block}.flow-total span{color:var(--muted);margin-top:3px;font-size:6px;display:block}.sankey-wrap{min-width:0;height:305px;margin-top:4px}.recharts-sankey-link{fill:none;stroke:#b7b2a5;stroke-opacity:.72}.recharts-sankey-node:first-child rect{fill:var(--ink)}.recharts-sankey-node text{display:none}.program-list{min-width:0}.program-row{border-bottom:1px solid var(--line-soft);grid-template-columns:34px minmax(155px,1.25fr) minmax(110px,.8fr) 46px 36px;align-items:center;min-height:40px;display:grid}.program-row:last-child{border-bottom:0}.program-row.is-selected{box-shadow:inset 2px 0 var(--ink);background:#faf8f2}.pin-button{border:1px solid var(--line);cursor:pointer;background:0 0;place-items:center;width:34px;height:100%;min-height:34px;display:grid}.pin-button.is-pinned{background:var(--ink);border-color:var(--ink);color:#fff}.program-label{text-align:left;cursor:pointer;background:0 0;border:0;min-width:0;height:100%;min-height:34px}.program-label strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;display:block;overflow:hidden}.program-label span{color:var(--muted);white-space:nowrap;margin-top:2px;font-size:6px;display:block}.allocation-bar{background:#ece8df;height:17px;position:relative;overflow:hidden}.canonical-bar,.proposal-bar{background:#cbc6ba;position:absolute;inset:0 auto 0 0}.proposal-bar{opacity:0;border-right:2px dashed var(--ink);background:#b8b2a5;transition:opacity .5s ease-out}.proposal-bar.is-staged{opacity:.8}.proposal-bar.up{border-color:var(--teal);background:#9fc9c6}.proposal-bar.down{border-color:var(--rust);background:#e5b59d}.program-value{text-align:right;font:600 10px IBM Plex Mono,monospace}.delta{text-align:right;color:var(--muted);font:8px IBM Plex Mono,monospace}.delta.up{color:var(--teal)}.delta.down{color:var(--rust)}.legend{gap:10px;display:flex}.legend span:before{content:"";vertical-align:middle;border-top:2px solid #a9a398;width:10px;margin-right:4px;display:inline-block}.legend .staged-key:before{border-top-style:dashed}.legend .increase-key:before{border-color:var(--teal)}.legend .decrease-key:before{border-color:var(--rust)}.outcome-tabs{grid-template-columns:1fr 1fr;padding:0 10px;display:grid}.outcome-tabs button{border:1px solid var(--line-soft);background:var(--panel);height:24px;color:var(--muted);text-align:left;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;padding:4px 6px;font:6px IBM Plex Mono,monospace;overflow:hidden}.outcome-tabs button[aria-selected=true]{background:var(--ink);color:#fff}.district-panel{flex-direction:column;display:flex}.district-grid{grid-template-columns:repeat(3,1fr);gap:4px;padding:5px 10px 7px;display:grid}.district-card{border:1px solid var(--line-soft);text-align:left;cursor:pointer;background:0 0;height:56px;padding:5px}.district-card>span{font-size:7px;display:block}.district-card strong{margin-top:3px;font:600 15px/1 IBM Plex Mono,monospace;display:block}.score-track{background:#e3dfd6;height:3px;margin:3px 0}.score-track span{background:#777166;height:100%;display:block}.district-card small{color:var(--muted);font-size:5px}.scenario-panel.has-conflict{border-color:var(--rust);background:#fffaf6}.scenario-copy{padding:2px 10px 0;font-size:8px;line-height:1.3}.scenario-copy strong{font-size:9px}.scenario-copy p{margin:1px 0}.state-chip{border:1px solid var(--line);color:var(--muted);padding:3px 5px;font-size:6px}.conflict-summary{color:var(--rust);align-items:center;gap:5px;display:flex}.binding-list{flex-wrap:nowrap;gap:3px;height:26px;margin:0;padding:2px 10px;list-style:none;display:flex;overflow:auto hidden}.binding-list li{flex:none;display:flex}.binding-chip,.change-chip{border:1px solid var(--line);background:var(--panel);text-transform:uppercase;cursor:pointer;min-height:22px;padding:2px 5px;font:5px IBM Plex Mono,monospace}.binding-chip{color:var(--rust);border-color:#dfb296}.change-chip.up{border-color:var(--teal);color:var(--teal)}.change-chip.down{border-color:var(--rust);color:var(--rust)}.scenario-actions{align-items:center;gap:4px;padding:2px 10px;display:flex}.scenario-actions button{min-height:28px;padding:5px 7px;font-size:5px}.scenario-actions>span{color:var(--muted);text-transform:uppercase;margin-left:auto;font:5px IBM Plex Mono,monospace}.harness{color:#e8e4da;background:#302e27;border-color:#302e27;padding:8px 10px}.harness .panel-heading{color:#bdb5a6;height:20px;padding:0}.harness>p{color:#c8c1b4;margin:5px 0 7px;font-size:7px;line-height:1.35}.harness>button{color:#f3efe6;text-align:left;cursor:pointer;background:#34322b;border:1px solid #514d43;width:100%;margin-top:5px;padding:7px 8px;font-size:7px;line-height:1.25;display:block}.harness>button:disabled{color:#777166;cursor:not-allowed}.harness button small{color:#ada596;text-transform:none;margin-top:4px;font-size:5px;display:block}.activity-panel,.inspector-panel{height:235px}.activity-body{grid-template-columns:minmax(0,1fr) 160px;height:202px;display:grid}.activity-body ol{margin:0;padding:0 8px 8px 30px;overflow:auto}.activity-body li{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(100px,1fr) 48px;gap:4px;padding:6px 0;font-size:7px;display:grid}.activity-body li code{font:7px IBM Plex Mono,monospace}.activity-body li>span{border:1px solid var(--line);color:var(--muted);text-align:center;text-transform:uppercase;padding:2px 4px;font:5px IBM Plex Mono,monospace}.activity-body li p{color:var(--muted);grid-column:1/-1;margin:0;line-height:1.3}.activity-body aside{border-left:1px solid var(--line-soft);padding:5px 8px;overflow:auto}.activity-body h3{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:3px 0 5px;font:6px IBM Plex Mono,monospace}.activity-body aside code{color:var(--teal);margin:2px 0;font:6px IBM Plex Mono,monospace;display:block}.activity-body aside p{border:1px solid var(--line-soft);background:var(--alt);color:#544f45;padding:5px;font:6px/1.45 IBM Plex Mono,monospace}.inspector-tabs{height:34px;padding:5px 8px 0;display:flex}.inspector-tabs button{border:1px solid var(--line);background:var(--panel);min-height:28px;color:var(--muted);text-transform:uppercase;padding:6px 7px;font:6px IBM Plex Mono,monospace}.inspector-tabs button.active{background:var(--ink);color:#fff}.inspector-content{height:198px;padding:6px 9px 10px;overflow:auto}.inspector-content h3{margin:0;font:600 10px IBM Plex Mono,monospace}.inspector-content>p{color:var(--muted);margin:3px 0 8px;font-size:7px}.coefficient{border:1px solid var(--line-soft);background:var(--alt);text-align:left;grid-template-columns:minmax(0,1fr) 30px;width:100%;margin:3px 0;padding:5px 6px;display:grid}.coefficient.selected{border-color:var(--ink)}.coefficient span{font-size:7px}.coefficient strong{text-align:right;font:600 8px IBM Plex Mono,monospace}.coefficient small{color:var(--rust);grid-column:1/-1;margin-top:3px;font-size:5px}.not-modeled{border:1px solid var(--rust);background:var(--rust-soft);padding:9px}.not-modeled strong{color:var(--rust);text-transform:uppercase;font:600 8px IBM Plex Mono,monospace}.not-modeled p{margin:5px 0 0;font-size:7px;line-height:1.4}.inspector-content dl{border-top:1px solid var(--line-soft);margin:7px 0 0}.inspector-content dl div{border-bottom:1px solid var(--line-soft);justify-content:space-between;padding:4px 0;font-size:6px;display:flex}.inspector-content dt{color:var(--muted)}.inspector-content dd{margin:0;font:600 6px IBM Plex Mono,monospace}.receipt-rationale{color:var(--muted);margin:0 0 8px;font-size:7px;line-height:1.4}.receipt dl{margin:0 0 4px}.receipt dd{text-align:right}.receipt>strong{text-transform:uppercase;margin:9px 0 3px;font:600 8px IBM Plex Mono,monospace;display:block}.receipt small{color:var(--rust);font-size:6px;line-height:1.5}footer{height:20px;color:var(--muted);place-items:center;font-size:6px;display:grid}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.civic-app,.panel,.program-row,.district-card,.change-chip,.binding-chip{position:relative}.civic-app :focus-visible{outline:2px solid var(--teal);outline-offset:1px}.program-row.is-focused,.district-card.is-focused{outline:2px dashed var(--teal);outline-offset:-2px}.district-card.is-selected{border-color:var(--ink);box-shadow:inset 2px 0 var(--ink);background:#faf8f2}.district-detail{min-height:19px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;flex:1;align-items:center;margin:0;padding:0 10px;font:6px/1.35 IBM Plex Mono,monospace;display:flex;overflow:hidden}.activity-empty{grid-template-columns:1fr!important}.viewport-notice{display:none}@media (width<=1050px){.viewport-notice{border:1px solid var(--rust);background:var(--rust-soft);color:#7a3f20;text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;padding:8px 10px;font:8px/1.45 IBM Plex Mono,monospace;display:block}}@media (prefers-reduced-motion:reduce){.binding-list{flex-wrap:wrap;height:auto;max-height:52px;overflow:auto}.change-chip,.binding-chip{font-size:6px}}@media (width<=1050px){.civic-app{padding:8px}.app-header{align-items:flex-start;height:auto;min-height:74px;padding:8px 0}.brand-lockup p,.fiction-chip{display:none}.workspace-top,.workspace-bottom{grid-template-columns:1fr;height:auto}.right-top{grid-template-rows:236px;grid-template-columns:1fr 1fr}.budget-panel{min-height:370px}.workspace-bottom>*{height:235px}}@media (width<=700px){.app-header,.header-status{flex-wrap:wrap}.right-top{grid-template-rows:236px auto;grid-template-columns:1fr}.budget-body{grid-template-columns:54px minmax(0,1fr)}.sankey-wrap{display:none}.program-row{grid-template-columns:34px minmax(120px,1fr) 70px 38px}.delta{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important}}
