@font-face{font-family:DM Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/dm-sans-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/dm-sans-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Libre Baskerville;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/libre-baskerville-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Libre Baskerville;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/libre-baskerville-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/libre-baskerville-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/libre-baskerville-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:DM Sans,system-ui,-apple-system,sans-serif;color:#2e4237;background:#f3f2e9;font-synthesis:none;font-size:100%;--paper:#f5f4ec;--paper-light:#fbfaf4;--ink:#2e4237;--muted:#879084;--green:#285642;--border:#dddfd0;--orange:#b57c4b;--shadow:0 6px 22px #344f3520}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button{border:0;background:none}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #b4874c;outline-offset:4px}button:hover{color:#1a5138}a{color:inherit;text-decoration:none}button svg{flex-shrink:0}svg.lucide{width:18px;height:18px;vertical-align:middle}button,a{touch-action:manipulation}[hidden]{display:none!important}#app{height:100dvh;min-height:460px;display:flex;flex-direction:column;overflow:hidden}h1,h2,h3,p{margin:0}.positive{color:#4d805d!important}.negative{color:#b06750!important}.waste{color:#a37c3f!important}.muted{color:var(--muted);font-size:.9375rem}.eyebrow{font-size:.75rem;letter-spacing:1.7px;font-weight:600;color:#86917d}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.status-dot{display:inline-block;width:5px;height:5px;background:#77967b;border-radius:50%;flex-shrink:0}.topbar{height:72px;min-height:72px;display:flex;align-items:center;padding:0 22px;gap:24px;border-bottom:1px solid var(--border);background:var(--paper-light);z-index:4}.brand{display:flex;align-items:center;gap:11px;min-width:248px}.brand-symbol{width:37px;height:39px;background:var(--green);color:#e4ddb7;display:grid;place-items:center;border-radius:6px 6px 2px 2px}.brand-symbol svg{width:24px;height:24px}.brand strong{font-size:1.062rem;letter-spacing:-.5px;display:block;font-weight:700}.brand small{display:block;font-size:.75rem;letter-spacing:1.1px;text-transform:uppercase;margin-top:4px;color:#8b9183}.main-nav{display:flex;height:100%;gap:3px;margin:auto}.nav-item{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.9375rem;position:relative;padding:0 14px;color:#849080;white-space:nowrap}.nav-item.active{color:#305b45}.nav-item.active:after{content:"";position:absolute;height:2px;bottom:0;left:14px;right:14px;background:#38654b}.nav-item:hover{background:#edf0e4}.nav-item svg{width:16px;height:16px}.nav-dot{height:4px;width:4px;border-radius:50%;background:#aeb99b;margin-left:2px}.nav-dot.warning{background:#bc8258}.header-actions{display:flex;align-items:center;gap:12px}#save-status{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#8a9383;white-space:nowrap}.icon-btn{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:5px;color:#7e897a}.icon-btn:hover{background:#e8ecdf}.icon-btn.small{width:26px;height:26px}.icon-btn.small svg{width:14px;height:14px}.statbar{height:79px;min-height:79px;display:flex;align-items:center;border-bottom:1px solid #d8ddcc;z-index:3;background:var(--paper)}.city-label{padding:0 24px;display:flex;align-items:center;gap:9px;min-width:290px;flex:1}.city-label svg{width:18px;height:18px;color:#6b816b}.city-label strong{font-size:.9375rem}.small-tag{font-size:.75rem;letter-spacing:1px;color:#a0a68f;border-left:1px solid #d5dac9;padding-left:10px;margin-left:3px}.stat{height:37px;display:flex;align-items:center;gap:11px;border-left:1px solid #d9dfcc;padding:0 29px;min-width:175px;text-align:left}.stat small{font-size:.75rem;color:#8a9384;display:block;margin-bottom:5px}.stat strong{font-size:1.375rem;font-weight:500;letter-spacing:-.6px;white-space:nowrap}.stat-icon{width:29px;height:29px;display:grid;place-items:center;background:#e8edde;border-radius:50%;color:#74876b}.stat-icon svg{width:15px;height:15px}.stat-trend{font-size:.75rem;color:#73956b;align-self:flex-end;white-space:nowrap}.stat-button:hover{background:#eaeddf}.approval-stat{min-width:210px;padding-right:30px}.mini-meter{width:39px;height:4px;background:#e0e6d2;margin-top:16px}.mini-meter i{height:4px;display:block;background:#789971}.workspace{flex:1;min-height:0;display:flex;position:relative}.toolrail{width:66px;min-width:66px;background:var(--paper);border-right:1px solid var(--border);display:flex;align-items:center;flex-direction:column;padding:15px 0 13px;gap:8px;z-index:3}.rail-tool{height:40px;width:40px;border-radius:5px;color:#72816c;display:grid;place-items:center;position:relative}.rail-tool:hover{background:#e4ead9;color:#31533e}.rail-tool.active{color:#f0e9c9;background:#315c45;box-shadow:0 2px 4px #284f4320}.rail-tool.category-active:not(.active){color:#345c43;background:#e3e9d7}.rail-tool.category-active:before{content:"";position:absolute;left:-13px;height:18px;width:3px;background:#6d8962;border-radius:2px}.rail-divider{display:block;height:1px;width:23px;background:#d8ddcb;margin:3px 0}.rail-tool.demolition{color:#a6815e}.rail-spacer{flex:1}.map-area{flex:1;min-width:0;position:relative;overflow:hidden;background:#aebc92}.map-area:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 90px #3d613b12}#map-canvas{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;overflow:hidden;background:radial-gradient(ellipse at 45% 30%,#b4c09a,#9cac86)}#map-canvas canvas{display:block;position:absolute;top:0;right:0;bottom:0;left:0}.loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:16px;color:#426247}.loading svg{width:45px;height:45px}.loading.error{padding:50px;text-align:center}.map-label{position:absolute;top:21px;left:23px;color:#385d43;font-size:.75rem;letter-spacing:1.5px;display:flex;align-items:center;gap:8px;background:#e5ead3c4;padding:9px 11px;border:1px solid #d3ddc1a0;border-radius:3px;pointer-events:none}.map-label .status-dot{background:#537c56}.compass{position:absolute;top:20px;right:24px;display:flex;flex-direction:column;gap:4px;align-items:center;color:#4d6e4f;opacity:.65}.compass svg{width:31px;height:31px;stroke-width:1}.compass span{font-size:.75rem;font-weight:600}.welcome-note{position:absolute;top:72px;left:23px;display:flex;align-items:flex-start;gap:12px;background:#f6f4e8ee;padding:15px 12px 14px 16px;border:1px solid #d8ddc8;box-shadow:0 3px 10px #44603c09;max-width:340px;border-radius:4px}.note-icon{display:flex;align-items:center;justify-content:center;width:31px;height:35px;background:#e4e8d7;color:#68845e;border:1px solid #dce1cb;border-radius:3px}.welcome-note b{font-size:.9375rem;font-weight:600}.welcome-note p{font-size:.75rem;color:#85917c;margin-top:5px}.welcome-note div>button{font-size:.75rem;margin-top:10px;padding:0;color:#68825e;display:flex;gap:7px;align-items:center}.welcome-note div>button svg{width:12px;height:12px}.welcome-note>.icon-btn{margin-top:-6px;margin-right:-5px}.map-controls{position:absolute;left:22px;bottom:31px;display:flex;flex-direction:column;gap:8px;z-index:2}.control-group{display:flex;background:#f5f3e6ed;border:1px solid #e3e5d2;box-shadow:0 2px 8px #35592c15;align-items:center;border-radius:4px;overflow:hidden;width:max-content}.control-group button{width:32px;height:32px;display:grid;place-items:center;color:#6b8060}.control-group button:hover,.control-group button.active{background:#dce5ce}.control-group svg{width:14px;height:14px}.control-group span{font-size:.75rem;min-width:38px;text-align:center;color:#778a69}.map-coordinates{position:absolute;bottom:11px;left:23px;display:flex;gap:14px;color:#48674199;font-size:.75rem;font-family:ui-monospace,monospace}.build-palette{position:absolute;bottom:48px;left:50%;transform:translate(-50%);background:#f6f4e9f7;border:1px solid #ececdb;box-shadow:0 8px 24px #314f3524;border-radius:7px;min-width:335px;padding:14px 15px 12px;z-index:2}.palette-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:11px}.palette-heading span{font-size:.9375rem;font-weight:600}.palette-heading small{font-size:.75rem;letter-spacing:1px;color:#9da48f}.palette-items{display:flex;gap:7px}.build-card{background:#eceee1;border:1px solid #dce1ce;min-width:91px;flex:1;border-radius:4px;padding:11px 8px 8px;display:flex;flex-direction:column;align-items:center;position:relative;transition:background .15s,transform .15s;gap:7px}.build-card:hover{background:#e2e8d6;transform:translateY(-2px)}.build-card.selected{border-color:#628860;background:#e3ead7;box-shadow:inset 0 0 0 1px #62886033}.build-card.selected:before{content:"";position:absolute;right:6px;top:6px;width:4px;height:4px;background:#628860;border-radius:50%}.build-icon{height:30px;color:var(--item-color)}.build-icon svg{width:28px;height:28px;stroke-width:1.5}.build-name{font-size:.75rem;white-space:nowrap;text-transform:capitalize;font-weight:500}.build-price{font-size:.75rem;color:#939d86}.build-hint{position:absolute;bottom:25px;left:50%;transform:translate(-50%);font-size:.75rem;white-space:nowrap;background:#b9c79dcc;color:#48653c;padding:4px 8px;border-radius:3px;pointer-events:none}.city-panel{width:290px;min-width:290px;background:var(--paper);border-left:1px solid #d7ddc8;padding:21px 23px 0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d4dbc8 transparent;z-index:2}.panel-kicker{font-size:.75rem;letter-spacing:1.5px;color:#8a967e;display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;min-height:16px}.live-pill{font-size:.75rem;letter-spacing:1px;border:1px solid #c9d7bb;color:#749163;border-radius:3px;padding:3px 4px}.city-panel h1{font-family:Libre Baskerville,Georgia,serif;font-size:1.562rem;font-weight:400;line-height:1.4;letter-spacing:-1px}.panel-intro{font-size:.75rem;color:#98a08d;line-height:1.8;margin-top:12px;margin-bottom:25px}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;font-weight:600;letter-spacing:.1px}.section-label svg{width:14px;height:14px;color:#9ba58e}.tiny-link{font-size:.75rem;color:#a1aa95;display:flex;gap:6px;align-items:center;padding:0}.tiny-link svg{width:10px;height:10px}.demand-section{border-top:1px solid #dce2cf;padding-top:17px}.demand-chart{display:flex;gap:22px;padding:16px 15px 0}.demand-column{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center}.demand-track{height:61px;width:100%;position:relative;background:repeating-linear-gradient(to top,transparent 0px,transparent 14px,#e3e7d7 15px,transparent 16px)}.demand-zero{position:absolute;left:-4px;right:-4px;height:1px;background:#becaaf;top:50%}.demand-fill{position:absolute;bottom:50%;height:var(--height);left:8px;right:8px;background:var(--bar-color);border-radius:2px 2px 0 0;min-height:1px}.demand-fill.negative{bottom:auto;top:50%;opacity:.6}.demand-column b{font-size:.75rem;font-weight:500;margin:5px 0;color:#6e8161}.demand-column>span{font-size:.75rem;color:#97a089}.demand-caption{font-size:.75rem;color:#9da58f;margin:13px 0 20px;text-align:center}.advisor-teaser{padding:19px 0;border-top:1px solid #dce2cf;border-bottom:1px solid #dce2cf}.notification-dot{width:5px;height:5px;background:#c0995e;border-radius:50%}.advisor-identity{display:flex;gap:12px;align-items:center;margin-top:16px}.portrait{width:45px;height:49px;flex-shrink:0;border-radius:4px;border:1px solid #00000008}.portrait.large{width:65px;height:72px}.advisor-identity strong{display:block;font-size:.9375rem;font-weight:600;letter-spacing:-.2px}.advisor-identity span{display:block;font-size:.75rem;color:#9da58d;margin-top:5px}.advisor-teaser blockquote{margin:12px 0;font-family:Georgia,serif;font-style:italic;font-size:.9375rem;line-height:1.6;color:#829077}.text-link{display:inline-flex;align-items:center;gap:7px;padding:0;font-size:.75rem;color:#5b7e50;font-weight:500}.text-link svg{width:12px;height:12px}.goals{padding:18px 0 20px}.goal{display:flex;align-items:flex-start;gap:9px;margin-top:15px;font-size:.75rem;color:#859476}.goal>span:last-child{flex:1;line-height:1.5}.goal small{display:block;font-size:.75rem;color:#a3ac95;margin-top:3px}.goal-check{width:13px;height:13px;border:1px solid #cbd5bc;border-radius:50%;margin-top:2px;display:grid;place-items:center}.goal-check.done{background:#e0e8d3;color:#6b8b5c}.goal-check svg{width:9px;height:9px}.city-map{display:flex;gap:14px;align-items:center;border-top:1px solid #dce2cf;padding:16px 0 22px}.city-map canvas{width:74px;height:74px;border:3px solid #e0e5d1;border-radius:4px;image-rendering:pixelated}.city-map>div{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.city-map .eyebrow{font-size:.75rem;letter-spacing:.8px}.city-map b{font-size:.75rem;font-weight:500}.city-map span:not(.eyebrow){font-size:.75rem;color:#98a289}.city-map button{font-size:.75rem;margin-top:3px}.bottom-bar{display:flex;align-items:center;height:44px;min-height:44px;background:#f4f3e9;border-top:1px solid #d5ddc7;z-index:4}.news-heading{display:flex;align-items:center;gap:9px;font-size:.75rem;letter-spacing:1px;white-space:nowrap;height:100%;padding:0 22px;border-right:1px solid #d9dfcd}.news-heading svg{width:14px;height:14px;color:#819473}.news-text{font-size:.75rem;color:#8e9980;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left;padding:0 18px;min-width:0}.time-controls{height:100%;display:flex;align-items:center;border-left:1px solid #d8deca;min-width:290px;justify-content:space-around;gap:12px;padding:0 14px}.time-controls>span{display:flex;gap:7px;align-items:center}.time-controls b{font-size:.75rem;font-weight:600;white-space:nowrap}.time-controls small{font-size:.75rem;color:#a1aa92;white-space:nowrap}.speed-buttons{display:flex;gap:3px}.speed-buttons button{width:25px;height:25px;display:grid;place-items:center;border:1px solid transparent;border-radius:3px;color:#819273}.speed-buttons button svg{width:13px;height:13px}.speed-buttons button.active{background:#e3e8d7;border-color:#ced8bd;color:#55744a}.sound-button{width:23px;height:26px}.sound-button svg{width:13px;height:13px}.layers-menu{position:absolute;left:20px;bottom:119px;padding:14px;background:#f7f5eb;box-shadow:var(--shadow);border:1px solid #d7dfca;border-radius:5px;min-width:185px;z-index:5}.layers-menu>span{display:block;margin:2px 6px 9px;font-size:.75rem}.layers-menu button{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;padding:7px 9px;font-size:.75rem;border-radius:3px}.layers-menu button.active,.layers-menu button:hover{background:#e5ebd9}.layers-menu button svg{width:12px;height:12px}#overlay-legend{position:absolute;top:61px;left:23px;background:#f6f4e8ed;padding:10px 12px;display:flex;align-items:center;gap:13px;border-radius:3px;font-size:.75rem;z-index:2;box-shadow:0 2px 9px #3d5d3d10}#overlay-legend span{display:flex;align-items:center;gap:4px}#overlay-legend i{width:6px;height:6px;border-radius:2px}.mobile-panel-toggle,.panel-close{display:none}.city-panel h2{font-family:Libre Baskerville,Georgia,serif;font-size:1.375rem;line-height:1.4;margin-top:16px;margin-bottom:10px;font-weight:400}.inspector-icon{width:48px;height:48px;border:1px solid #d4ddc7;border-radius:6px;background:#e7eddc;display:grid;place-items:center;color:var(--item-color)}.inspector-icon svg{width:29px;height:29px}.inspector-description{font-size:.9375rem;line-height:1.8;color:#7c8b71;margin:20px 0}.condition-row{display:flex;justify-content:space-between;font-size:.75rem;margin-bottom:8px}.progress{height:5px;border-radius:3px;background:#e1e7d4;overflow:hidden}.progress i{height:100%;display:block;border-radius:3px}.tile-facts{margin:22px 0;font-size:.9375rem}.tile-facts>div{display:flex;justify-content:space-between;border-bottom:1px solid #e0e5d3;padding:10px 0}.tile-facts dt{color:#89977d}.tile-facts dd{margin:0}.problem-list{border:1px solid #ddccb0;background:#f3ead7;padding:10px;margin-bottom:15px;border-radius:4px}.problem-list p{font-size:.75rem;display:flex;align-items:center;gap:7px;margin:6px 0;color:#a1794e}.problem-list svg{width:12px;height:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:10px 15px;border-radius:4px;font-size:.9375rem;font-weight:500;border:1px solid transparent}.button svg{width:15px;height:15px}.button.primary{background:#315c45;color:#f2efd9;border-color:#315c45}.button.primary:hover{background:#254c37}.button.secondary{background:#e9eddf;border-color:#d3ddc5;color:#5d7750}.button.secondary:hover{background:#dde6d0}.button.full{width:100%}dialog{padding:0;border:1px solid #d4ddc7;border-radius:9px;background:#f7f6ee;color:var(--ink);width:min(800px,calc(100vw - 40px));max-height:calc(100dvh - 64px);box-shadow:0 30px 120px #19372c40;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ccd5bc transparent}dialog::backdrop{background:#263e34aa;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}dialog.modal-wide{width:min(1060px,calc(100vw - 48px))}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce2ce;padding:26px 30px 23px;background:#f8f7ef;position:sticky;top:0;z-index:2}.modal-header .eyebrow{font-size:.75rem}.modal-header h2{font-family:Libre Baskerville,Georgia,serif;font-size:1.5rem;font-weight:400;letter-spacing:-.7px;margin-top:10px}.modal-body{padding:23px 30px 30px}.modal-lead{font-size:.9375rem;line-height:1.8;color:#87937a;margin-bottom:22px;max-width:780px}.budget-summary{display:grid;grid-template-columns:repeat(4,1fr);background:#ecf0e2;border:1px solid #dbe2cc;border-radius:5px;padding:18px 20px;margin-bottom:23px}.budget-summary>div{border-left:1px solid #d6dfc7;padding-left:23px}.budget-summary>div:first-child{border:0;padding-left:0}.budget-summary span{display:block;font-size:.75rem;color:#8b987b;margin-bottom:8px}.budget-summary strong{font-size:1.5rem;font-weight:500;letter-spacing:-.7px}.budget-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:26px}.table-heading{display:grid;grid-template-columns:1fr 165px 83px;color:#9ca78d;font-size:.75rem;letter-spacing:1px;padding-bottom:13px;border-bottom:1px solid #dce3cd}.table-heading span:last-child{text-align:right}.department-row{display:flex;align-items:center;border-bottom:1px solid #e1e6d4;padding:12px 0;gap:11px}.department-icon{height:30px;width:30px;flex-shrink:0;background:color-mix(in srgb,var(--dept-color) 13%,transparent);color:var(--dept-color);border-radius:5px;display:grid;place-items:center}.department-icon svg{width:16px;height:16px}.department-name{flex:1;min-width:80px}.department-name b{display:block;font-size:.9375rem;font-weight:500}.department-name small{display:block;font-size:.75rem;color:#9aa68a;margin-top:4px}.department-slider{width:165px;flex-shrink:0}.slider-label{display:flex;justify-content:space-between;margin-bottom:4px;align-items:baseline}.slider-label output{font-size:.9375rem;font-weight:600}.slider-label span{font-size:.75rem;color:#a2ac93}input[type=range]{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:block;width:100%;height:4px;background:linear-gradient(to right,#92ac80 0,#92ac80 66.667%,#ddcfad 66.667%,#ddcfad);border-radius:5px;cursor:pointer;margin:9px 0;padding:0}input[type=range]::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:#f7f6eb;border:2px solid #658652;box-shadow:0 1px 3px #32503020}input[type=range]::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:#f7f6eb;border:2px solid #658652}.slider-stops{display:flex;justify-content:space-between;font-size:.75rem;color:#aab39b;margin-top:3px}.department-spend{width:80px;text-align:right;flex-shrink:0}.department-spend strong{font-size:.9375rem;font-weight:500}.department-spend small{display:block;font-size:.75rem;color:#9ba68c;margin-top:5px}.department-row.underfunded .department-name small,.department-row.underfunded output{color:#ae7757}.department-row.overfunded .department-spend small,.department-row.overfunded output{color:#aa884c}.tax-panel{padding:18px;background:#edf0e3;border:1px solid #dce3cf;border-radius:5px;align-self:start}.tax-title{display:flex;gap:8px;align-items:center}.tax-title svg{width:17px;height:17px;color:#8ca076}.tax-title h3{font-size:.9375rem;font-weight:500}.tax-panel>p{font-size:.75rem;color:#929d83;line-height:1.7;margin:11px 0 20px}.tax-control{margin-bottom:18px}.tax-control label{display:flex;align-items:center;gap:6px;text-transform:capitalize;font-size:.75rem}.tax-control output{margin-left:auto;font-weight:600;font-size:.9375rem}.zone-dot{width:6px;height:6px;border-radius:2px;background:var(--item-color)}.tax-control input[type=range]{background:#d5dfc8;margin:13px 0 9px}.tax-control small{font-size:.75rem;color:#96a187}.loan-box{border-top:1px solid #d5dec7;padding-top:17px;margin-top:23px}.loan-box h3{font-size:.9375rem;font-weight:500}.loan-box p{font-size:.75rem;color:#8b987b;line-height:1.8;margin:9px 0 14px}.loan-box>span{display:block;font-size:.75rem;text-align:center;margin-top:8px;color:#9ba68d}.loan-box .text-link{font-size:.75rem;margin-top:14px}.budget-footer{display:flex;align-items:center;gap:30px;border-top:1px solid #dce2cf;margin-top:22px;padding-top:20px}.budget-footer p{flex:1;font-size:.75rem;color:#98a48a;line-height:1.7;display:flex;align-items:flex-start;gap:8px}.budget-footer p svg{width:14px;height:14px;flex-shrink:0;margin-top:2px}.advisors-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.advisor-card{border:1px solid #dce2ce;padding:18px;background:#f1f3e8;border-radius:5px;display:flex;flex-direction:column}.advisor-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.advisor-dept{display:flex;align-items:center;gap:5px;font-size:.75rem;color:var(--dept-color);background:color-mix(in srgb,var(--dept-color) 10%,transparent);padding:5px;border-radius:3px}.advisor-dept svg{width:11px;height:11px}.advisor-card h3{font-size:1.062rem;font-weight:600;margin:14px 0 5px}.advisor-role{font-size:.75rem;color:#9aa58c}.advisor-card blockquote{font-family:Georgia,serif;font-size:.9375rem;font-style:italic;line-height:1.6;margin:15px 0 17px;color:#7f8d72;flex:1}.advisor-status{font-size:.75rem;display:flex;align-items:center;gap:5px}.advisor-status .status-dot{background:currentColor;width:4px;height:4px}.advisor-numbers{display:flex;justify-content:space-between;border-top:1px solid #dce3ce;border-bottom:1px solid #dce3ce;padding:9px 0;margin:12px 0;font-size:.75rem;color:#96a18a;gap:5px}.advisor-numbers b{color:#728366;font-weight:500;margin-left:3px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.stats-grid article{border:1px solid #dce3cd;border-radius:5px;padding:17px 17px 4px;background:#f1f3e8;overflow:hidden}.stats-grid h3{font-size:1.5rem;font-weight:500;letter-spacing:-1px;margin-top:7px}.stats-grid .eyebrow{font-size:.75rem}.history-chart{display:block;width:100%;height:auto;margin-top:10px}.history-chart text{font-family:inherit;font-size:.9375rem;fill:#8d9c7e}.indicator-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:25px 0}.indicator>span{display:flex;justify-content:space-between;font-size:.75rem;gap:12px;margin-bottom:8px}.indicator b{font-weight:500}.indicator small{display:block;font-size:.75rem;color:#a0ab90;margin-top:7px}.notice{border:1px solid #dce1ca;border-radius:4px;background:#ecefdf;padding:13px 15px;color:#869575;font-size:.75rem;line-height:1.8;margin:15px 0}.help-steps{display:flex;flex-direction:column;gap:22px}.help-steps article{display:flex;gap:18px}.help-steps article>b{font-family:Georgia,serif;font-size:1.688rem;font-weight:400;color:#b5c1a2;line-height:1.2}.help-steps h3{font-size:.9375rem;font-weight:500;margin-bottom:6px}.help-steps p,.help-controls p{font-size:.9375rem;color:#8a977b;line-height:1.85}.help-controls{background:#eff2e5;border:1px solid #dce3cf;border-radius:5px;padding:20px;margin:24px 0}.help-controls h3{font-size:.9375rem;margin-bottom:10px}.help-controls p+p{margin-top:8px}.keyboard-hints{display:flex;flex-wrap:wrap;gap:11px;margin-top:17px}.keyboard-hints span{font-size:.75rem;color:#8b997b;display:flex;align-items:center;gap:5px}kbd{font-family:inherit;font-size:.75rem;background:#f8f7ed;border:1px solid #d3dcc3;border-bottom-width:2px;min-width:18px;height:21px;border-radius:3px;display:inline-grid;place-items:center;padding:3px}.city-settings{margin-bottom:24px}.city-settings>label{display:block;font-size:.9375rem;font-weight:500;margin-bottom:9px}.input-row{display:flex;gap:10px}input[type=text],input:not([type]){font:inherit;font-size:.9375rem;background:#fbfaf2;color:var(--ink);border:1px solid #d2dcc1;border-radius:4px;padding:11px 13px;width:100%;min-width:0}.city-settings>p{font-size:.75rem;color:#9aa68a;margin-top:8px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.menu-grid button{padding:20px;background:#edf1e2;border:1px solid #d9e1ca;border-radius:5px;display:flex;align-items:flex-start;flex-direction:column;gap:8px;text-align:left}.menu-grid button:hover{background:#e3ebd7}.menu-grid svg{width:25px;height:25px;color:#799769;margin-bottom:7px}.menu-grid strong{font-size:.9375rem;font-weight:500}.menu-grid span{font-size:.75rem;color:#95a286}.dialog-actions{display:flex;gap:10px;margin-top:23px;flex-wrap:wrap;justify-content:flex-end}.news-list{display:flex;flex-direction:column}.news-entry{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid #dce3cd}.news-entry>span{width:28px;height:28px;display:grid;place-items:center;border-radius:4px;background:#e7edda;color:#79956a;flex-shrink:0}.news-entry.warn>span{background:#eee6d4;color:#b18c5c}.news-entry svg{width:15px;height:15px}.news-entry small{font-size:.75rem;color:#a2ab94}.news-entry p{font-size:.9375rem;line-height:1.7;margin-top:6px;color:#7a8b6d}#toast{position:fixed;bottom:66px;left:50%;transform:translate(-50%,12px);max-width:min(550px,calc(100vw - 32px));padding:13px 21px;color:#f0ebd7;background:#315742f2;box-shadow:0 5px 25px #26482c25;border-radius:5px;font-size:.9375rem;line-height:1.5;text-align:center;z-index:100;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}#toast.visible{opacity:1;transform:translate(-50%)}@media(min-width:1600px){.city-panel{width:320px;min-width:320px;padding:26px 27px 0}.city-panel h1{font-size:1.812rem}.panel-intro{font-size:.9375rem}.advisor-teaser blockquote{font-size:1.062rem}.section-label{font-size:.9375rem}.demand-track{height:78px}.goal{font-size:.9375rem}.demand-column>span{font-size:.75rem}.build-palette{padding:17px 19px 14px}.build-card{min-width:105px;padding:14px 12px 10px}.build-name{font-size:.9375rem}.build-price{font-size:.75rem}.palette-heading span{font-size:.9375rem}.palette-heading small,.build-hint{font-size:.75rem}.stat{min-width:200px}.topbar{gap:40px}.main-nav{gap:12px}}@media(max-width:1200px){.topbar{padding:0 16px;gap:10px}.brand{min-width:215px}.brand strong{font-size:1.062rem}.brand small{font-size:.75rem}.nav-item{padding:0 10px;font-size:.9375rem;gap:6px}.nav-item.active:after{left:10px;right:10px}#save-status{display:none}.stat{padding:0 18px;min-width:150px}.city-label{min-width:235px;padding:0 20px}.city-label strong{font-size:.9375rem}.small-tag{display:none}.approval-stat{min-width:160px}.mini-meter{display:none}.city-panel{min-width:255px;width:255px;padding:19px 19px 0}.city-panel h1{font-size:1.438rem}.toolrail{width:58px;min-width:58px}.rail-tool.category-active:before{left:-9px}.build-palette{bottom:57px;min-width:300px}.build-card{min-width:78px}.palette-heading small{display:none}.build-hint{bottom:34px;font-size:.75rem}.map-controls{left:14px;bottom:27px}.control-group button{width:27px;height:29px}.control-group span{min-width:29px;font-size:.75rem}.welcome-note{left:17px;max-width:290px}.map-label{left:17px}.compass{right:17px}.map-coordinates{left:16px}.stat-trend{display:none}.time-controls{min-width:255px}.time-controls>span{flex-direction:column;gap:2px;align-items:flex-start}.header-actions{gap:4px}}@media(max-width:1000px){.city-panel{position:absolute;right:0;top:0;bottom:0;display:none;width:290px;box-shadow:-6px 0 25px #254a351f}.city-panel.mobile-open{display:block}.city-panel .panel-close{display:flex}.live-pill{display:none}.mobile-panel-toggle{display:flex;align-items:center;gap:7px;position:absolute;right:18px;top:73px;font-size:.75rem;background:#f2f2e4eb;border:1px solid #d9e0ca;padding:9px 12px;border-radius:4px;z-index:2}.mobile-panel-toggle svg{width:14px;height:14px}.brand{min-width:195px}.brand strong{font-size:.9375rem}.brand-symbol{width:31px;height:35px}.nav-item{padding:0 10px}.nav-item span{display:none}.nav-item svg{width:19px;height:19px}.main-nav{margin-left:auto;margin-right:auto;gap:6px}.header-actions{margin-left:auto}.stat{padding:0 15px;min-width:130px;flex:1}.stat strong{font-size:1.25rem}.stat-icon{width:25px;height:25px}.city-label{min-width:195px;flex:none}.approval-stat{min-width:135px}.budget-layout{grid-template-columns:minmax(0,1fr) 210px;gap:20px}.department-slider{width:130px}.table-heading{grid-template-columns:1fr 130px 80px}.department-row{gap:8px}.department-name{min-width:70px}.department-name small{font-size:.75rem}.department-spend{width:70px}.time-controls{min-width:240px}.build-palette{bottom:50px}.build-hint{bottom:25px;font-size:.75rem}}@media(max-width:700px){#app{min-height:400px}.topbar{height:58px;min-height:58px;padding:0 12px;gap:10px}.brand{min-width:0;gap:8px}.brand strong{font-size:.9375rem;letter-spacing:-.3px}.brand small{font-size:.75rem;letter-spacing:.7px;margin-top:3px}.brand-symbol{height:30px;width:28px}.brand-symbol svg{width:19px;height:19px}.main-nav{gap:0;margin-left:auto;margin-right:0}.nav-item{padding:0 9px}.nav-item svg{width:18px;height:18px}.nav-item:first-child,.nav-item:last-child{display:none}.nav-item.active:after{display:none}.nav-dot{position:absolute;right:5px;top:15px}.header-actions{gap:0;margin-left:0}.header-actions>.icon-btn:first-of-type{display:none}.header-actions .icon-btn{width:29px}.statbar{min-height:63px;height:63px;position:relative;align-items:center;padding:0 8px}.city-label{display:none}.stat{min-width:0;flex:1;padding:0 10px;gap:7px;height:32px}.stat:first-of-type{border-left:0}.stat-icon{display:none}.stat small{font-size:.75rem;margin-bottom:5px}.stat strong{font-size:1.062rem;letter-spacing:-.5px}.approval-stat{flex:.75}.toolrail{width:47px;min-width:47px;padding:10px 0;gap:5px}.rail-tool{height:34px;width:33px;border-radius:4px}.rail-tool svg{width:18px;height:18px}.rail-divider{margin:2px 0;width:20px}.rail-tool.category-active:before{left:-7px;height:15px}.map-label{top:14px;left:13px;font-size:.75rem;padding:7px;letter-spacing:1px;gap:5px}.compass{right:12px;top:12px}.compass svg{width:27px;height:27px}.compass span{font-size:.75rem}.welcome-note{top:55px;left:13px;right:13px;max-width:280px;padding:12px 10px 11px 11px;gap:9px}.welcome-note b,.welcome-note p{font-size:.75rem}.welcome-note div>button{font-size:.75rem}.note-icon{width:27px;height:29px}.note-icon svg{width:16px;height:16px}.mobile-panel-toggle{top:auto;bottom:193px;right:12px;left:auto;padding:8px 10px;font-size:.75rem}.map-controls{left:12px;bottom:188px;gap:6px}.control-group button{width:26px;height:28px}.control-group span{min-width:28px;font-size:.75rem}.control-group svg{width:12px;height:12px}.map-coordinates{bottom:9px;left:13px;font-size:.75rem;gap:9px}.build-palette{bottom:42px;left:12px;right:12px;transform:none;min-width:0;padding:12px 10px 10px}.palette-heading{margin-bottom:9px}.palette-heading span{font-size:.75rem}.palette-items{gap:6px;overflow-x:auto;scrollbar-width:none}.build-card{min-width:70px;padding:10px 6px 7px;gap:6px}.build-icon{height:27px}.build-icon svg{width:25px;height:25px}.build-name,.build-price{font-size:.75rem}.build-hint{bottom:22px;font-size:.75rem;width:100%;text-align:center;padding:3px 1px;background:none;white-space:normal;max-width:98%;line-height:1.3}.bottom-bar{height:48px;min-height:48px;position:relative;padding-bottom:0}.news-heading{padding:0 11px;gap:0;border-right:0}.news-heading span{display:none}.news-heading svg{width:16px;height:16px}.news-text{font-size:.75rem;padding:0 10px 0 0;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;max-height:30px}.time-controls{min-width:153px;padding:0 8px;gap:6px;justify-content:space-between}.time-controls b,.time-controls small{font-size:.75rem}.speed-buttons{gap:2px}.speed-buttons button{width:23px;height:27px}.speed-buttons button svg{width:12px;height:12px}.sound-button{display:none}.city-panel{width:min(300px,calc(100% - 47px));min-width:0;padding:18px 21px 0}.city-panel h1{font-size:1.562rem}.panel-intro,.section-label,.advisor-teaser blockquote{font-size:.9375rem}.goal{font-size:.75rem}.layers-menu{left:12px;bottom:270px;max-height:calc(100% - 290px);overflow-y:auto;padding:9px 12px}.layers-menu button{font-size:.75rem;min-height:30px}#overlay-legend{left:13px;top:48px;font-size:.75rem;padding:8px;gap:9px;flex-wrap:wrap;max-width:calc(100% - 26px)}dialog,dialog.modal-wide{width:calc(100vw - 18px);max-height:calc(100dvh - 22px);border-radius:7px}.modal-header{padding:19px 18px 16px}.modal-header h2{font-size:1.375rem;line-height:1.4;letter-spacing:-.7px;max-width:290px;margin-top:7px}.modal-header .eyebrow{font-size:.75rem;letter-spacing:1.3px}.modal-body{padding:18px}.modal-lead{font-size:.9375rem;line-height:1.75;margin-bottom:17px}.budget-summary{grid-template-columns:1fr 1fr;gap:17px 15px;padding:15px}.budget-summary>div{padding-left:15px}.budget-summary>div:nth-child(3){border:0;padding-left:0}.budget-summary span{font-size:.75rem}.budget-summary strong{font-size:1.375rem}.budget-layout{grid-template-columns:1fr;gap:22px}.table-heading{grid-template-columns:1fr 135px 65px;font-size:.75rem}.department-row{gap:8px;padding:13px 0}.department-icon{width:26px;height:29px}.department-icon svg{width:15px;height:15px}.department-name{min-width:63px}.department-name b{font-size:.75rem}.department-name small{font-size:.75rem;line-height:1.4;max-width:70px}.department-slider{width:110px}.slider-label output{font-size:.75rem}.slider-label span{font-size:.75rem}.department-spend{width:62px}.department-spend strong{font-size:.9375rem}.department-spend small{font-size:.75rem;line-height:1.4}input[type=range]{height:5px;margin:13px 0}input[type=range]::-webkit-slider-thumb{height:20px;width:20px}.tax-panel{padding:18px}.tax-control{margin-bottom:20px}.tax-control label{font-size:.9375rem}.tax-control output{font-size:.9375rem}.tax-control small{font-size:.75rem}.tax-panel>p{font-size:.9375rem}.loan-box p{font-size:.9375rem}.budget-footer{flex-direction:column;align-items:stretch;gap:17px}.budget-footer p{font-size:.75rem}.advisors-grid{grid-template-columns:1fr;gap:13px}.advisor-card{padding:18px}.advisor-card-top{align-items:center}.advisor-card h3{font-size:1.062rem}.advisor-role{font-size:.75rem}.advisor-card blockquote{font-size:1.062rem}.advisor-dept{font-size:.75rem;padding:7px}.advisor-dept svg{width:13px;height:13px}.advisor-status{font-size:.75rem}.advisor-numbers{font-size:.75rem;padding:12px 0}.advisor-card .text-link{font-size:.9375rem}.stats-grid{gap:10px}.stats-grid article{padding:12px 12px 4px}.stats-grid h3{font-size:1.375rem}.indicator-grid{grid-template-columns:1fr 1fr;gap:20px}.indicator>span{font-size:.75rem}.indicator small{font-size:.75rem}.help-steps{gap:22px}.help-steps article{gap:12px}.help-steps article>b{font-size:1.438rem}.help-steps h3,.help-steps p{font-size:.9375rem}.help-controls{padding:16px}.menu-grid{gap:10px}.menu-grid button{padding:16px}.menu-grid strong{font-size:.9375rem}.menu-grid span{font-size:.75rem}.dialog-actions .button{font-size:.75rem;padding:9px 10px}.button{min-height:42px}.notice{font-size:.75rem}.news-entry p{font-size:.9375rem}.news-entry small{font-size:.75rem}#toast{font-size:.9375rem;bottom:65px}}@media(max-width:370px){.brand strong{font-size:.75rem}.brand small{display:none}.brand{gap:6px}.topbar{padding:0 8px;gap:7px}.nav-item,.stat{padding:0 7px}.stat strong{font-size:1.062rem}.stat small{font-size:.75rem}.department-slider{width:89px}.department-row{gap:6px}.department-spend{width:52px}.modal-body{padding:14px}.department-icon{width:22px}.department-name{min-width:60px}.slider-label span{display:none}.palette-items{gap:4px}.build-card{min-width:65px}.time-controls{min-width:145px}}@media(max-height:700px)and (min-width:701px){.topbar{height:58px;min-height:58px}.statbar{height:65px;min-height:65px}.toolrail{gap:3px;padding-top:8px}.rail-tool{height:33px}.rail-divider{margin:2px 0}.welcome-note{top:64px}.city-panel{padding-top:17px}.panel-kicker{margin-bottom:16px}.panel-intro{margin-bottom:20px}.build-palette{bottom:42px;padding-top:10px}.build-card{padding-top:8px}.build-hint{bottom:21px}.map-controls{bottom:27px}.bottom-bar{height:39px;min-height:39px}.demand-section{padding-top:13px}.demand-track{height:50px}.advisor-teaser{padding:14px 0}}@media(max-height:500px)and (orientation:landscape){.topbar{height:44px;min-height:44px}.statbar{height:48px;min-height:48px}.toolrail{gap:2px;padding:5px 0;width:45px;min-width:45px}.rail-tool{height:25px;width:30px}.rail-tool svg{height:15px;width:15px}.rail-divider{margin:0}.rail-spacer,.welcome-note{display:none}.build-palette{left:auto;right:15px;transform:none;bottom:27px;min-width:270px;padding:9px}.palette-heading{display:none}.build-card{padding:6px;gap:4px;min-width:72px}.build-icon{height:23px}.build-icon svg{width:23px;height:23px}.build-hint{display:none}.map-controls{bottom:25px}.mobile-panel-toggle{top:15px;right:65px;bottom:auto}.bottom-bar{height:35px;min-height:35px}.city-panel{width:270px}.layers-menu{bottom:95px;max-height:calc(100% - 115px);overflow-y:auto}.compass,.map-label{top:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.menu-utilities{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.menu-utilities .button{flex:1;font-size:.75rem;padding:10px}.city-map canvas{cursor:pointer}@media(max-height:500px)and (orientation:landscape){#app{min-height:0}}@media(max-width:700px)and (min-height:501px){.rail-tool{height:42px;width:39px}.rail-tool.category-active:before{left:-4px}.speed-buttons button{width:29px;height:34px}.time-controls{min-width:169px}.rail-divider{margin:0}}:root{--ink:#283e3a;--muted:#63716a;--line:#c9cbb5;--paper:#f0edda;font-synthesis:none}body{color:#263e38}.topbar{background:#263f3b;color:#f3ead3;border-bottom:3px solid #b5a270;box-shadow:0 2px 9px #142f3324}.topbar .brand strong,.topbar .brand small,.topbar .icon-btn,.topbar .nav-item{color:#e8e2ce}.topbar .brand small{color:#b9c7b8}.topbar .brand-symbol{background:#b8ab72;color:#203b35;border:1px solid #d5c698}.topbar .nav-item.active,.topbar .nav-item:hover{background:#ffffff12;color:#fff2cc}.topbar .nav-item.active:after{background:#d9bd76}.topbar #save-status{color:#c9d7c6}.statbar{background:#eeecd9;border-bottom:1px solid #bac4ae}.toolrail{background:#e0e2cc;border-right:1px solid #a8b8a5;box-shadow:inset -3px 0 #f1efdd}.rail-tool{border-radius:4px}.rail-tool.active,.rail-tool.category-active{background:#c2ceb2;box-shadow:inset 0 1px 1px #7b927a45}.city-panel{background:#eeeeda;border-left:1px solid #abbca8}.city-panel h1{font-size:1.812rem;line-height:1.15}.panel-intro{font-size:.9375rem;line-height:1.5}.panel-kicker{letter-spacing:.1em}.section-label{font-size:.9375rem}.advisor-teaser blockquote{font-size:1.062rem;line-height:1.5}.map-area{background:radial-gradient(ellipse at 45% 30%,#cad8bc,#a0b5a6 85%)}.build-palette{border:1px solid #9cae97;background:#f3efdbf5;box-shadow:0 4px #667f6d20,0 12px 36px #2440362e;border-radius:6px}.palette-heading{background:#e1e3cb;border-bottom:1px solid #bcc6ae;min-height:35px;gap:12px}.palette-items{overflow-x:auto;justify-content:flex-start;scrollbar-width:thin;max-width:720px}.build-card{min-width:94px;flex:1 0 94px;border-radius:3px}.build-card.selected{box-shadow:inset 0 0 0 1px #5a7d58;background:#e2e6cf}.build-card.locked{opacity:.65}.build-name,.build-price{font-size:.9375rem}.build-hint{color:#344a3b;background:#e9eed9eb;max-width:calc(100% - 28px);padding:5px 10px;border-radius:3px;line-height:1.35;pointer-events:none}.density-control{display:flex;gap:3px}.density-control button{padding:5px 9px;border:1px solid #9fae93;border-radius:3px;font-size:.9375rem;background:#f3f0da;color:#466047}.density-control button.active{background:#456e52;color:#fff4d5;border-color:#456e52}.bottom-bar{background:#293f3c;color:#ede5ce;border-top:2px solid #a89c70}.bottom-bar .news-text,.bottom-bar .news-heading,.bottom-bar .icon-btn,.bottom-bar #date-label,.bottom-bar #date-label small{color:#e3dfca}.bottom-bar .speed-buttons button{color:#c4d0bf;background:#3a5047}.bottom-bar .speed-buttons button.active{color:#273f35;background:#c7c397}.news-heading{border-right:1px solid #66755e}.map-label{color:#3b5b45;font-size:.9375rem;letter-spacing:.14em}.portrait{border:1px solid #617a6540;box-shadow:0 2px #54634c22}.utility-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 0;border-top:1px solid #c6cdb5}.utility-summary>div{padding:9px;background:#e1e6ce;border:1px solid #c6cfb7;display:grid;gap:3px;border-radius:4px}.utility-summary>div:last-child{grid-column:1/-1;grid-template-columns:1fr auto}.utility-summary span{font-size:.9375rem}.utility-summary b{font-size:1.188rem}.utility-summary small{font-size:.75rem;color:#62745e}.utility-summary>div:last-child small{grid-column:1/-1}.button:disabled{cursor:not-allowed;opacity:.45}.government-tabs{display:flex;overflow:auto;gap:5px;border-bottom:1px solid #c8d0ba;padding-bottom:13px;margin-bottom:18px;scrollbar-width:thin}.government-tabs button{padding:10px 16px;border:1px solid #bcc7ad;border-radius:4px;white-space:nowrap;font-weight:600;font-size:.9375rem;color:#536951}.government-tabs button.active{background:#42664e;color:#fff2d3;border-color:#42664e}.government-tabs b{border-radius:10px;background:#c89261;color:#fff;padding:1px 5px}.policy-grid,.reward-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.policy-card{background:#f5f2e2;border:1px solid #cbd0b9;border-radius:5px;padding:20px;margin-bottom:12px;display:flex;flex-direction:column;gap:10px}.policy-grid .policy-card,.reward-track .policy-card{margin:0}.policy-card h3{font-size:1.312rem;font-family:Georgia,serif;margin:0}.policy-card p,.policy-card blockquote{font-size:.9375rem;line-height:1.65;margin:0;color:#536455}.policy-card blockquote{font-size:1.062rem;font-family:Georgia,serif;color:#4b5c4b}.policy-bottom,.petition-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px;flex-wrap:wrap}.policy-bottom b,.policy-bottom span,.policy-card>b{font-size:.9375rem}.policy-card .notice{padding:11px;margin:0}.empty-state{text-align:center;padding:48px 20px;background:#e9edd8;border:1px dashed #b3c1a6;color:#5a7057;line-height:1.6}.landmark-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.unlocked{border-top:3px solid #719361}.emergency-active{border-left:4px solid #b76d4c}.disaster-experiments{margin-top:24px;border-top:1px solid #c8d0b8;padding:16px 0}.disaster-experiments summary{cursor:pointer;font-size:.9375rem;font-weight:600}.disaster-experiments p{font-size:.9375rem;line-height:1.6}.disaster-experiments article{margin-top:15px;border-top:1px solid #d2d4bd;padding-top:12px}.danger{background:#a95d43;color:#fff0dc}.annual-ledger{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:12px;padding:20px;margin-top:18px;background:#e5e9d4;border:1px solid #c6cfb6;border-radius:4px}.annual-ledger div{display:grid;gap:6px}.annual-ledger span{font-size:.9375rem;color:#63715b}.annual-ledger b{font-size:1.312rem;font-variant-numeric:tabular-nums}.annual-ledger p{grid-column:1/-1;margin:0;font-size:.9375rem;line-height:1.6}.capacity-label{font-size:.75rem!important;line-height:1.45!important;max-width:200px}.department-row{min-height:103px}.department-name{min-width:0}.department-name b{font-size:.9375rem}.department-slider .slider-label span,.department-spend small{font-size:.75rem}.department-name small{white-space:normal}.advisor-actions{display:flex;gap:12px;justify-content:space-between;margin-top:auto}.advisor-card blockquote{font-size:1.062rem;line-height:1.6}.advisor-card{display:flex;flex-direction:column}.sound-settings{display:flex;flex-wrap:wrap;gap:20px;padding:16px;margin:15px 0;background:#e7ebd7;border-radius:4px;font-size:.9375rem}.sound-settings label{display:flex;gap:8px;align-items:center}.sound-settings small{width:100%;color:#66745e}.sound-settings input{accent-color:#597b50}.notice p{margin:7px 0 0;font-size:.9375rem;line-height:1.6}.tile-facts dd{max-width:55%;text-align:right}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c8a04c;outline-offset:3px}#toast{max-width:min(600px,calc(100vw - 32px));font-size:.9375rem;line-height:1.45}#modal{background:#f1efdd}#modal-title{font-size:1.875rem}.modal-header{background:#e3e6d0;border-bottom:1px solid #c0cbb2}.modal-lead{font-size:1.062rem;line-height:1.65}.help-steps p{font-size:.9375rem}.map-coordinates{font-size:.75rem}.stat strong{font-variant-numeric:tabular-nums}.toolrail .rail-spacer{min-height:2px}@media(min-width:1100px){.brand{min-width:240px}.main-nav{gap:3px}.main-nav .nav-item{padding:0 12px}.city-panel{width:298px}.build-palette{max-width:calc(100% - 40px)}}@media(max-width:1099px){.main-nav .nav-item{padding:0 10px}.topbar .brand{min-width:210px}.department-row{grid-template-columns:34px minmax(100px,1.15fr) minmax(130px,1.3fr) minmax(85px,.8fr);gap:9px}.department-icon{width:31px;height:31px}.build-hint{font-size:.75rem}}@media(max-width:760px){.topbar .brand{min-width:0}.policy-grid,.reward-track{grid-template-columns:1fr}.policy-card{padding:17px}.government-tabs button{padding:10px 12px}.annual-ledger{grid-template-columns:1fr 1fr;padding:14px}.annual-ledger div:last-of-type{grid-column:1/-1}.annual-ledger b{font-size:1.25rem}.department-row{min-height:125px;grid-template-columns:30px minmax(110px,1fr) 90px}.department-slider{grid-column:2/4}.department-spend{grid-column:3;grid-row:1}.capacity-label{max-width:none}.department-name small{font-size:.75rem}.department-name{padding-right:5px}.palette-items{max-width:calc(100vw - 80px)}.palette-heading{padding:9px 10px;gap:7px}.palette-heading>span{font-size:.9375rem}.density-control button{padding:6px 8px}.build-card{min-width:82px;flex-basis:82px}.build-name,.build-price{font-size:.75rem}.build-hint{max-height:36px;overflow:hidden;font-size:.75rem}.toolrail{gap:3px}.toolrail .rail-tool{height:34px;width:34px;flex-shrink:0}.toolrail .rail-divider{margin:3px 0}.bottom-bar{border-top-width:1px}.sound-settings{gap:12px}.government-tabs{margin-left:-5px;margin-right:-5px}.city-panel h1{font-size:1.562rem}.mobile-panel-toggle{background:#e8e8d0;border:1px solid #a0b698}.main-nav{gap:0}.main-nav .nav-item{padding:0 7px}.modal-lead{font-size:.9375rem}#modal-title{font-size:1.562rem}}@media(max-height:600px){.toolrail{overflow-y:auto;gap:0;padding:4px}.toolrail .rail-tool{height:29px;width:32px;min-height:29px;flex-shrink:0}.toolrail .rail-divider{margin:2px}.welcome-note{display:none}.build-palette{bottom:22px}.build-card{min-height:62px;padding:7px 9px}.build-icon{width:25px;height:25px}.palette-heading{padding:6px 10px}.build-hint{bottom:1px}.map-controls{top:10px;bottom:auto}.city-panel{font-size:.9375rem}.map-label,.map-coordinates,.toolrail .rail-spacer{display:none}}@media(max-width:360px){.main-nav .nav-item{padding:0 4px}.brand strong{font-size:.9375rem}.palette-heading>span{max-width:100px}.density-control button{font-size:.75rem;padding:5px}.header-actions .icon-btn{width:28px}.topbar{padding:0 9px}.palette-items{max-width:calc(100vw - 72px)}.stat strong{font-size:1.062rem}.policy-bottom{align-items:flex-start;flex-direction:column}}@media(max-width:760px)and (min-height:601px){.map-controls{bottom:222px}.map-controls .control-group{background:#edf0ddeb}.toolrail{overflow-y:auto}.toolrail .rail-spacer{flex-shrink:0}}@media(max-height:500px)and (orientation:landscape){.toolrail{display:grid;grid-template-columns:repeat(2,32px);align-content:start;justify-content:center;width:76px;min-width:76px;gap:4px;padding:8px 0}.toolrail .rail-divider,.toolrail .rail-spacer{display:none}.toolrail .rail-tool{width:32px;height:34px;min-height:34px}.toolrail .rail-tool svg{width:19px;height:19px}.rail-tool.category-active:before{left:-3px}.palette-items{max-width:min(430px,calc(100vw - 110px))}.palette-heading{display:flex}.build-palette{min-width:0;padding:5px;bottom:22px}.density-control button{padding:3px 5px}}.department-row{display:grid;grid-template-columns:34px minmax(125px,1fr) minmax(150px,175px) 95px;gap:12px}.department-name,.department-slider,.department-spend{width:auto;min-width:0}.department-name small,.department-spend small{max-width:none;color:#66745e}.slider-label output{white-space:nowrap}.department-slider .slider-label span{font-size:.75rem}.department-name b{font-weight:600}.department-spend strong{font-size:1.062rem}@media(max-width:1099px)and (min-width:761px){.department-row{grid-template-columns:28px minmax(105px,1fr) 135px 85px;gap:8px}}@media(max-width:760px){.department-row{grid-template-columns:30px minmax(90px,1fr) 85px;gap:10px;padding:16px 0;min-height:140px}.department-icon{grid-column:1;grid-row:1;align-self:start}.department-name{grid-column:2;grid-row:1}.department-name b{font-size:1.062rem}.department-name small{font-size:.9375rem}.department-spend{grid-column:3;grid-row:1;align-self:start}.department-slider{grid-column:2/4;grid-row:2}.department-slider .slider-label span{font-size:.75rem}.capacity-label{font-size:.9375rem!important}.department-spend small{font-size:.75rem}.department-name{padding:0}}.volume-control{width:100%;display:grid;gap:8px}.sound-settings .volume-control label{justify-content:space-between;font-weight:600}.volume-control output{font-variant-numeric:tabular-nums;min-width:45px;text-align:right}.sound-settings .volume-control input{width:100%;margin:8px 0 10px}.volume-control small{font-size:.9375rem;line-height:1.5}.advisor-unread{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#a14e39;color:#fff8e6;font-size:.9375rem;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--paper-light)}.advisor-unread[hidden],.advisor-bubble[hidden]{display:none!important}.panel-unread{color:#965039;font-size:.75rem;text-transform:none;letter-spacing:0;white-space:nowrap}.advisor-bubble{position:absolute;z-index:5;top:62px;right:18px;width:338px;max-width:calc(100% - 36px);padding:16px;background:#fffbed;border:1px solid #b7bba0;border-top:4px solid #ab8051;border-radius:9px;box-shadow:0 9px 28px #293f332b;animation:advisor-arrive .2s ease-out;color:#344839}.advisor-bubble:after{content:"";position:absolute;top:-11px;right:25px;width:12px;height:12px;background:#ab8051;transform:rotate(45deg);z-index:-1}.advisor-bubble[data-severity=urgent]{border-top-color:#a94f39}.advisor-bubble[data-severity=urgent]:after{background:#a94f39}.advisor-bubble[data-severity=good]{border-top-color:#59835d}.advisor-bubble[data-severity=good]:after{background:#59835d}.bubble-identity{display:flex;align-items:center;gap:10px}.bubble-identity .portrait{width:38px;height:42px;flex-shrink:0}.bubble-identity>div{flex:1;min-width:0}.bubble-kicker{display:block;font-size:.75rem;color:#766748;margin-bottom:4px}.bubble-identity strong{font-size:1.062rem}.bubble-close{width:32px;height:36px;flex-shrink:0;border-radius:5px;font-size:1.562rem;align-self:flex-start;color:#65725e}.bubble-close:hover{background:#e9e8d7}.advisor-bubble h3{font-size:1.062rem;line-height:1.35;margin:12px 0 7px;letter-spacing:-.2px}.advisor-bubble p{font-size:.9375rem;line-height:1.6;margin:0;color:#5c6656;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.bubble-actions{display:flex;gap:10px;align-items:center;margin-top:13px;justify-content:space-between}.bubble-actions .button{font-size:.9375rem;min-height:40px;padding:9px 11px}.bubble-actions .text-link{font-size:.9375rem;white-space:nowrap;min-height:40px}.bubble-compact-open{display:none}.advisor-bubble.is-compact{padding:6px 42px 6px 10px;top:12px;width:390px;right:54px}.is-compact .bubble-identity>div,.is-compact .portrait,.is-compact h3,.is-compact p,.is-compact .bubble-actions{display:none}.is-compact .bubble-close{position:absolute;top:4px;right:4px}.is-compact .bubble-compact-open{display:flex;align-items:center;gap:8px;min-height:32px;width:100%;font-size:.9375rem;text-align:left}.bubble-compact-open span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bubble-compact-open b{background:#a14e39;color:#fffbed;border-radius:10px;min-width:21px;text-align:center;font-size:.9375rem;padding:3px}.is-compact:after{display:none}.has-advisor-bubble .welcome-note{display:none}.advisor-tabs{display:flex;gap:8px;border-bottom:1px solid #c6ccb8;padding-bottom:12px;margin-bottom:18px}.advisor-tabs button{min-height:44px;border:1px solid #c2cbb7;border-radius:6px;padding:10px 15px;font-size:.9375rem;color:#52634b}.advisor-tabs button[aria-pressed=true]{background:#355d46;color:#fff8e6;border-color:#355d46}.advisor-tabs b{border-radius:8px;background:#ffffff24;padding:2px 5px;margin-left:6px}.inbox-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.inbox-toolbar p{font-size:.9375rem;margin:0;color:#52634b}.inbox-toolbar>div{display:flex;gap:16px}.inbox-toolbar button{min-height:42px;font-size:.9375rem}.inbox-toolbar [aria-pressed=true]{text-decoration:underline;text-underline-offset:4px}.inbox-toolbar button:disabled{opacity:.5;cursor:default}.advisor-inbox{display:grid;gap:14px}.advisor-message{border:1px solid #c8ceba;border-left:4px solid #ab8051;border-radius:7px;padding:20px;background:#faf8e9}.advisor-message[data-severity=urgent]{border-left-color:#a94f39}.advisor-message[data-severity=good]{border-left-color:#59835d}.advisor-message.is-read{background:#efefdf;border-left-color:#bbc2ac}.message-top{display:flex;align-items:center;gap:12px}.message-top .portrait{width:40px;height:44px;flex-shrink:0}.message-top h3{font-size:1.062rem;margin:0 0 3px}.message-top span{font-size:.9375rem;color:#68725d}.message-top>div{flex:1}.message-top .message-status{font-size:.75rem;color:#8f4a35;white-space:nowrap;align-self:flex-start}.is-read .message-status{color:#6d7864}.message-content{padding-left:52px}.message-tone{display:block;color:#8b6a42;font-size:.75rem;letter-spacing:.4px;margin-top:12px}.message-content h4{font-size:1.188rem;line-height:1.4;margin:5px 0 7px}.message-content p{font-size:.9375rem;line-height:1.7;color:#53644e;margin:0}.message-resolved{display:block;font-size:.9375rem;line-height:1.6;color:#69745e;margin-top:7px}.message-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:13px}.message-actions button{font-size:.9375rem;min-height:42px}.message-actions .button{padding:9px 13px}.inbox-empty{text-align:center;padding:30px 18px;background:#e8ecd9;border:1px dashed #aab99c;border-radius:7px}.inbox-empty>span{font-size:1.875rem;color:#52764e}.inbox-empty h3{font-size:1.375rem;margin:12px 0}.inbox-empty p{font-size:.9375rem;line-height:1.7;max-width:480px;margin:0 auto;color:#596b51}.inbox-footnote{font-size:.9375rem;color:#6d7864;line-height:1.6;margin:18px 0 0}@keyframes advisor-arrive{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1099px){.main-nav .advisor-unread{position:absolute;top:8px;right:0;min-width:17px;height:17px;padding:0 4px;font-size:.75rem}.advisor-bubble{width:330px}}@media(max-width:760px){.advisor-bubble{top:10px;right:10px;max-width:calc(100% - 20px);padding:12px;width:330px}.advisor-bubble:after{display:none}.bubble-identity .portrait{width:32px;height:36px}.bubble-identity strong{font-size:.9375rem}.bubble-kicker{font-size:.75rem}.advisor-bubble h3{font-size:1.062rem;margin-top:9px}.advisor-bubble p{font-size:.9375rem;-webkit-line-clamp:2}.bubble-actions{gap:6px;margin-top:9px}.bubble-actions .button{font-size:.75rem;padding:8px}.bubble-actions .text-link{font-size:.75rem}.bubble-close{width:30px;height:32px}.has-advisor-bubble .map-label,.has-advisor-bubble .compass{visibility:hidden}.advisor-bubble.is-compact{top:10px;right:10px;width:330px}.advisor-tabs button{padding:10px 12px;font-size:.9375rem}.inbox-toolbar{align-items:flex-start;flex-direction:column;gap:2px}.inbox-toolbar>div{width:100%;justify-content:space-between;gap:10px}.advisor-message{padding:14px}.message-content{padding-left:0}.message-top h3{font-size:1.062rem}.message-top span,.message-top .message-status{font-size:.75rem}.message-content h4{font-size:1.062rem}.message-content p{font-size:.9375rem}.message-actions{gap:5px 15px}.message-actions .button{width:100%}.inbox-footnote{font-size:.75rem}}@media(max-height:600px){.advisor-bubble{top:10px;right:10px;max-width:calc(100% - 100px);padding:6px 42px 6px 10px}.advisor-bubble .bubble-identity>div,.advisor-bubble .portrait,.advisor-bubble h3,.advisor-bubble p,.advisor-bubble .bubble-actions{display:none}.advisor-bubble .bubble-close{position:absolute;top:4px;right:4px}.advisor-bubble .bubble-compact-open{display:flex;align-items:center;gap:8px;min-height:32px;font-size:.9375rem;text-align:left;width:100%}.advisor-bubble:after{display:none}.has-advisor-bubble .compass{visibility:hidden}}@media(prefers-reduced-motion:reduce){.advisor-bubble{animation:none}}.bubble-identity .portrait{width:44px;height:48px}.advisor-bubble .bubble-compact-open .portrait{display:block;width:28px;height:31px;flex:0 0 28px}.bubble-compact-open span{min-width:0;flex:1}.bubble-compact-open b{flex-shrink:0}@media(max-width:760px){.bubble-identity .portrait{width:40px;height:44px}}.portrait{--portrait-play:paused}.portrait[data-motion=running]{--portrait-play:running}.portrait .portrait-motion{transform-box:view-box;animation-duration:var(--portrait-cycle,7s);animation-delay:var(--portrait-phase,0s);animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-play-state:var(--portrait-play)}.portrait-head{transform-origin:40px 60px;animation-name:portrait-calm}.portrait-shoulders{transform-origin:40px 88px;animation-name:portrait-breathe}.portrait-brows{transform-origin:40px 31px;animation-name:portrait-brows}.portrait .portrait-eyes{transform-origin:40px 39px;animation-name:portrait-blink;animation-duration:var(--portrait-blink,5s);animation-delay:var(--blink-phase,0s)}.portrait-gaze{animation-name:portrait-glance}.portrait-rest-mouth{animation-name:portrait-rest}.portrait .portrait-rest-mouth,.portrait .portrait-talk-mouth{animation-timing-function:steps(1,end)}.portrait-talk-mouth{opacity:0;animation-name:portrait-talk;transform-origin:40px 54px}.portrait-hand{opacity:0;transform-origin:17px 86px}.portrait-sweat{animation-name:portrait-sweat}.portrait[data-expression=warning] .portrait-head{animation-name:portrait-worry}.portrait[data-expression=warning] .portrait-hand{animation-name:portrait-think}.portrait[data-expression=urgent] .portrait-head{animation-name:portrait-insist}.portrait[data-expression=urgent] .portrait-hand{animation-name:portrait-emphasize}.portrait[data-expression=urgent] .portrait-brows{animation-name:portrait-frown}.portrait[data-expression=good] .portrait-head{animation-name:portrait-nod}.portrait[data-expression=good] .portrait-hand{animation-name:portrait-wave}@keyframes portrait-breathe{0%,to{transform:scaleY(1)}45%{transform:scaleY(1.025)}}@keyframes portrait-calm{0%,42%,to{transform:rotate(0)}10%,20%{transform:rotate(-2deg) translateY(.5px)}28%{transform:rotate(1.5deg)}65%,77%{transform:rotate(1deg) translateY(-.6px)}}@keyframes portrait-worry{0%,50%,to{transform:rotate(0)}8%,24%{transform:rotate(-4deg) translate(-.6px)}16%,32%{transform:rotate(3deg)}68%,82%{transform:rotate(-2deg) translateY(1px)}}@keyframes portrait-insist{0%,46%,to{transform:translateY(0) rotate(0)}7%,21%,35%{transform:translateY(1.7px) rotate(-3.5deg)}14%,28%{transform:translateY(-1.2px) rotate(3.5deg)}68%,79%{transform:rotate(-1.5deg)}}@keyframes portrait-nod{0%,42%,to{transform:translateY(0) rotate(0)}9%,25%{transform:translateY(2px) rotate(2deg)}17%,33%{transform:translateY(-1px) rotate(-1.5deg)}64%,80%{transform:rotate(-2deg)}}@keyframes portrait-blink{0%,38%,43%,77%,82%,to{transform:scaleY(1)}40%,41%,79%,80%{transform:scaleY(.06)}}@keyframes portrait-glance{0%,30%,58%,to{transform:translate(0)}38%,49%{transform:translate(-1px)}70%,82%{transform:translate(.8px)}}@keyframes portrait-brows{0%,40%,to{transform:translateY(0)}9%,22%{transform:translateY(-1.2px)}30%{transform:translateY(.5px)}}@keyframes portrait-frown{0%,42%,to{transform:translateY(0)}7%,21%,35%{transform:translateY(1px)}14%,28%{transform:translateY(-.6px)}}@keyframes portrait-talk{0%,8%,17%,27%,37%,to{opacity:0;transform:scaleY(1)}4%,12%,22%,33%{opacity:1;transform:scaleY(1)}6%,14%,24%,35%{opacity:1;transform:scaleY(.65)}}@keyframes portrait-rest{0%,8%,17%,27%,37%,to{opacity:1}4%,12%,22%,33%{opacity:0}}@keyframes portrait-think{0%,5%,42%,to{opacity:0;transform:translateY(12px)}12%,30%{opacity:1;transform:translate(18px,-9px) rotate(12deg)}36%{opacity:1;transform:translate(10px,-3px)}}@keyframes portrait-emphasize{0%,4%,45%,to{opacity:0;transform:translateY(15px) rotate(10deg)}10%,24%,37%{opacity:1;transform:translateY(-4px) rotate(-12deg)}17%,31%{opacity:1;transform:translateY(0) rotate(3deg)}}@keyframes portrait-wave{0%,8%,42%,to{opacity:0;transform:translateY(14px)}15%,27%{opacity:1;transform:translateY(-2px) rotate(-13deg)}21%,33%{opacity:1;transform:translateY(-2px) rotate(9deg)}}@keyframes portrait-sweat{0%,12%,to{opacity:0;transform:translateY(-2px)}19%,32%{opacity:1;transform:translateY(0)}44%,80%{opacity:0;transform:translateY(7px)}}@media(prefers-reduced-motion:reduce){.portrait .portrait-motion{animation:none!important;transform:none!important}.portrait-talk-mouth,.portrait-hand{opacity:0!important}.portrait-rest-mouth{opacity:1!important}}.modal-header{gap:16px;align-items:flex-start}.modal-header>div{min-width:0;flex:1}.modal-header>.icon-btn{flex:0 0 34px}.modal-header h2{overflow-wrap:anywhere;line-height:1.3;max-width:100%}.modal-body,.budget-layout,.department-list,.tax-panel,.advisor-card,.policy-card,.stats-grid article,.reward-track>*{min-width:0}.budget-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.budget-summary>div{min-width:0;padding-left:14px}.budget-summary strong,.annual-ledger b,.stats-grid h3{overflow-wrap:anywhere;word-break:normal;font-variant-numeric:tabular-nums}.budget-summary strong{font-size:clamp(19px,2.3vw,24px)}.department-row{grid-template-columns:30px minmax(0,1fr) minmax(125px,165px) minmax(80px,95px)}.department-name,.department-spend,.department-slider{min-width:0}.department-name b,.department-name small,.department-spend small,.department-spend strong{overflow-wrap:anywhere}.department-slider input{width:100%;min-width:0}.slider-label{gap:8px;align-items:start}.slider-label output{flex-shrink:0}.slider-label span{text-align:right;overflow-wrap:anywhere}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid article{overflow-wrap:anywhere}.stats-grid h3{font-size:clamp(20px,2.7vw,32px);line-height:1.25}.history-chart{max-width:100%}.indicator-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.indicator{min-width:0}.indicator>span{gap:6px;align-items:flex-start}.indicator>span b{flex-shrink:0}.city-map>canvas{flex-shrink:0}.city-map>div{min-width:0}.city-map b,.city-label strong,.city-panel h2{overflow-wrap:anywhere}.city-label,.city-label strong{min-width:0}.tile-facts>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.tile-facts dt,.tile-facts dd{min-width:0;overflow-wrap:anywhere}.tile-facts dd{max-width:none}.section-label{gap:8px}.section-label .panel-unread{flex-shrink:0}.demand-track{overflow:hidden}.demand-column{min-width:0}.demand-column>span{overflow-wrap:anywhere}.advisor-actions,.advisor-numbers,.bubble-actions,.policy-bottom,.petition-actions,.dialog-actions{flex-wrap:wrap}.advisor-actions>*{min-width:0}.advisor-dept{max-width:100%;overflow-wrap:anywhere}.advisor-card-top{gap:10px}.advisor-card .portrait{flex-shrink:0}.advisor-identity>div,.message-top>div,.bubble-identity>div{min-width:0}.advisor-identity strong,.message-top h3,.message-content h4,.message-content p,.advisor-bubble h3,.advisor-bubble p{overflow-wrap:anywhere}.bubble-actions .text-link{white-space:normal}.advisor-message,.advisor-message .message-content{min-width:0}.input-row{min-width:0;gap:10px}.input-row input{width:100%;min-width:0;flex:1}.input-row button{flex-shrink:0}.city-settings input{max-width:100%;min-width:0}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-grid button{min-width:0}.menu-grid strong,.menu-grid span,.policy-card h3,.policy-card p,.notice,.news-entry p{overflow-wrap:anywhere}.tax-control label{flex-wrap:wrap}.tax-control output{white-space:nowrap}.stat{min-width:0}.stat>div{min-width:0}.stat strong{white-space:normal;overflow-wrap:anywhere;line-height:1.2}.brand-symbol{flex-shrink:0}.brand>span:last-child{min-width:0}.brand strong,.brand small{overflow-wrap:anywhere}.main-nav,.header-actions{flex-shrink:0}@media(max-width:1099px)and (min-width:761px){.department-row{grid-template-columns:26px minmax(0,1fr) 125px 82px}.budget-layout{grid-template-columns:minmax(0,1fr) 235px;gap:18px}.topbar .brand{min-width:0}.city-label{max-width:240px}.stat strong{font-size:1.188rem}}@media(max-width:900px){.budget-layout{grid-template-columns:minmax(0,1fr)}.table-heading{display:none}.department-row{grid-template-columns:30px minmax(0,1fr) minmax(130px,180px) 95px}.annual-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-ledger div:last-of-type{grid-column:1/-1}}@media(max-width:760px){.budget-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}.budget-summary>div{padding-left:10px}.department-row{grid-template-columns:26px minmax(0,1fr) 80px;gap:10px;padding:16px 0}.department-slider{grid-column:2/4;grid-row:2}.department-name{grid-column:2;grid-row:1}.department-spend{grid-column:3;grid-row:1}.department-name b,.department-spend strong{font-size:.9375rem}.department-icon{width:26px;height:28px}.stats-grid{gap:10px}.stats-grid article{padding:13px 11px 6px}.indicator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{height:auto;min-height:40px}.stat strong{font-size:clamp(12px,3.7vw,16px)}.stat small{line-height:1.3}.topbar{gap:8px}.brand{flex:1;min-width:0}.brand strong{font-size:.9375rem}.brand small{font-size:.75rem;letter-spacing:.4px}.bubble-actions .button{flex:1}.bubble-actions .text-link{flex-shrink:0}.message-top{flex-wrap:wrap}.message-top .message-status{margin-left:auto}}@media(max-width:360px){.department-row{grid-template-columns:24px minmax(0,1fr) 70px;gap:8px}.department-name b,.department-spend strong{font-size:.9375rem}.advisor-tabs button{padding:9px;font-size:.9375rem}.advisor-dept{font-size:.75rem}.brand strong{font-size:.9375rem}.brand small{display:none}.stat{padding:0 6px}.modal-header{gap:8px}.modal-body{padding:14px}.inbox-toolbar>div{flex-wrap:wrap}.stats-grid{grid-template-columns:minmax(0,1fr)}.stats-grid h3{font-size:1.562rem}}@media(max-height:500px)and (orientation:landscape){.stat{min-height:30px}.stat strong{font-size:1.062rem}.modal-header{padding:12px 18px}.modal-header h2{font-size:1.312rem!important;margin-top:5px}}.demand-zero{left:0;right:0}@media(max-width:480px){.stats-grid{grid-template-columns:minmax(0,1fr)}.stats-grid h3{font-size:1.562rem}}#overlay-legend{font-size:.75rem;max-width:min(310px,calc(100% - 32px));padding-right:28px;position:absolute;pointer-events:auto;flex-wrap:wrap;gap:6px 12px}#overlay-legend b{flex-basis:100%;font-size:.9375rem}#overlay-legend small{display:block;flex-basis:100%;line-height:1.45;font-size:.75rem;color:#53685e}#overlay-legend>button{position:absolute;right:5px;top:4px;border:0;background:transparent;color:#53685e;width:22px;height:22px;cursor:pointer}#coverage-target{position:absolute;top:54px;left:24px;z-index:6;width:310px;max-width:calc(100% - 48px);border:1px solid #d5d8c5;border-left:3px solid #bd7556;border-radius:8px;background:#fbf8e9f5;box-shadow:0 5px 22px #294b3820;padding:10px 12px}#coverage-target b,#coverage-target span{display:block;line-height:1.4;font-size:.9375rem}#coverage-target span{font-size:.9375rem;color:#647468;margin-top:3px}#coverage-target button{font-size:.9375rem;margin-top:7px;text-align:left}#coverage-target[hidden]{display:none}.help-term{display:inline;padding:0;border:0;border-bottom:1px dotted #879484;border-radius:0;background:none;color:inherit;font:inherit;text-align:inherit;cursor:help;line-height:inherit;white-space:normal;max-width:100%;overflow-wrap:anywhere}.help-term:hover,.help-term:focus-visible{background:#e2e8d6;color:#304f42;outline-offset:3px}#context-tooltip{position:fixed;z-index:1500;max-width:min(300px,calc(100vw - 24px));padding:13px 15px;border:1px solid #51695d;border-radius:9px;background:#29473ff7;color:#fffbed;font:12px/1.65 DM Sans,sans-serif;box-shadow:0 8px 30px #102d392d;pointer-events:none;overflow-wrap:anywhere}.problem-list .help-term{text-align:left}@media(max-width:650px){#coverage-target{top:48px;left:12px;max-width:calc(100% - 62px);width:280px;padding:8px 10px}#overlay-legend{left:12px;max-width:calc(100% - 24px);gap:4px 9px}#overlay-legend small{font-size:.75rem}}#map-guidance{position:absolute;top:61px;left:23px;z-index:6;display:flex;flex-direction:column;gap:8px;width:310px;max-width:calc(100% - 46px);pointer-events:none}#map-guidance #overlay-legend,#map-guidance #coverage-target{position:relative;top:auto;left:auto;max-width:100%;width:100%;pointer-events:auto}@media(max-width:650px){#map-guidance{top:48px;left:12px;width:280px;max-width:calc(100% - 62px)}}@media(max-height:540px){#map-guidance{top:42px;flex-direction:row;width:auto;max-width:calc(100% - 75px)}#map-guidance #overlay-legend{width:210px}#map-guidance #coverage-target{width:240px}#overlay-legend small{display:none}}.build-card .build-name{white-space:normal;overflow-wrap:normal;line-height:1.25;max-width:100%;min-height:2.5em;display:flex;align-items:center;justify-content:center}.coverage-view #build-palette,.coverage-view #build-hint{display:none}.coverage-view .mobile-panel-toggle{bottom:25px}@media(max-height:540px)and (min-width:651px){#map-guidance{width:calc(100% - 75px);justify-content:space-between}#map-guidance #overlay-legend{flex:none;width:200px}#map-guidance #coverage-target{flex:none;width:220px}}.coverage-view .mobile-panel-toggle{top:auto}@media(max-height:540px){.coverage-view .map-controls{top:auto;bottom:12px}.coverage-view .mobile-panel-toggle{bottom:12px;right:12px}}:root{--paper:#e4e9ee;--paper-light:#f4f6f8;--ink:#243340;--muted:#5c6b78;--green:#315b77;--border:#bdc8d1;--line:#bdc8d1;--orange:#b77724;--shadow:0 5px 16px #101b2933;color:#243340;background:#1c2630}body{color:var(--ink)}button:hover{color:#173c58}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #c07c24;outline-offset:3px}.positive{color:#236b50!important}.negative{color:#ab3f3f!important}.waste{color:#965e16!important}.muted,.eyebrow{color:#586b7b}.topbar{background:#202b36;border-bottom:2px solid #d39b4d;box-shadow:0 2px 5px #10192355}.topbar .brand strong,.topbar .brand small,.topbar .icon-btn,.topbar .nav-item{color:#dce5ed}.topbar .brand small{color:#9aabb9;letter-spacing:1.1px}.topbar .brand-symbol{background:#d6a457;color:#202b36;border:1px solid #e5bd7f;border-radius:3px;box-shadow:inset 0 1px #f1d39e}.topbar .nav-item.active,.topbar .nav-item:hover{background:#33414e;color:#fff}.topbar .nav-item.active:after{background:#e2ad5f;height:3px}.topbar #save-status{color:#b3c3cf}.topbar .icon-btn:hover{background:#40505f}.statbar{background:#dfe6ec;border-color:#9cabb7;box-shadow:inset 0 1px #f9fbfc}.stat{border-left-color:#b8c5cf}.stat small{color:#4d6172;font-size:.75rem}.stat strong{color:#203442;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.4px}.stat-icon{background:#cdd9e2;color:#4a6479;border-radius:3px}.stat-button:hover{background:#cdd9e2}.city-label svg{color:#4e6a80}.small-tag{color:#5b7081;border-color:#aebdc8}.mini-meter{background:#b8c9d2}.mini-meter i{background:#35795f}.toolrail{background:#283541;border-color:#14202c;box-shadow:inset -1px 0 #465866}.rail-tool{color:#b5c4cf;border-radius:3px}.rail-tool:hover{background:#415465;color:#fff}.rail-tool.active,.rail-tool.category-active{background:#d4a358;color:#202c36;box-shadow:inset 0 1px #f6d395,inset 0 -1px #8e612a}.rail-tool.category-active:before{background:#efbf77}.rail-tool.demolition{color:#e5a279}.rail-divider{background:#4c5c68}.city-panel{background:#e4e9ee;border-color:#97a9b6;box-shadow:inset 1px 0 #f9fafb;scrollbar-color:#96a8b5 #dfe5ea;padding-top:18px}.panel-kicker{color:#4d6375;font-size:.75rem;font-weight:700;letter-spacing:1.1px;border-bottom:1px solid #b9c6d0;padding-bottom:10px;margin-bottom:16px}.live-pill{color:#2b6852;border-color:#7eaa97;border-radius:1px;font-size:.75rem}.city-panel h1,.city-panel h2{font-family:DM Sans,sans-serif;font-size:1.438rem;font-weight:700;letter-spacing:-.6px;line-height:1.2;overflow-wrap:anywhere}.panel-intro{font-size:.9375rem;color:#617383;margin:8px 0 20px}.section-label{font-size:.9375rem;color:#30495d;letter-spacing:.2px}.section-label svg{color:#607c90}.tiny-link,.text-link{color:#2f607e}.text-link:hover,.tiny-link:hover{color:#143c58;text-decoration:underline}.demand-section{border-color:#b5c2cc}.demand-track{background:#cbd5de;border:1px solid #b0bfca;border-radius:1px}.demand-zero{background:#8e9fac}.demand-column b{color:#344f61;font-size:.9375rem}.demand-column>span,.demand-caption{color:#596d7c}.demand-chart{height:120px}.demand-caption{font-size:.9375rem;line-height:1.5}.advisor-teaser{border-color:#b5c2cc}.advisor-identity strong{color:#273f51}.advisor-identity span,.advisor-role{color:#627382}.advisor-teaser blockquote{font-family:DM Sans,sans-serif;font-style:italic;font-size:.9375rem;line-height:1.6;color:#425b6b;border-left:2px solid #d2a35f;padding-left:10px}.portrait{border-color:#718493;box-shadow:0 1px #fff8;border-radius:3px}.panel-unread{color:#a34631}.utility-summary{border-color:#b9c6ce;gap:6px}.utility-summary>div{background:#d4dee6;border:1px solid #b4c3ce;border-radius:2px}.utility-summary span,.utility-summary small{color:#526b7c}.utility-summary b{color:#29485d;font-size:1.25rem}.goals{border-color:#b9c6ce}.goal{color:#425c70}.goal small{color:#607889}.goal-check{border-color:#96aaba;border-radius:2px;background:#f1f4f7}.goal-check.done{background:#36725b;border-color:#36725b;color:#fff}.city-map{border-color:#b9c6ce}.city-map canvas{border:1px solid #8b9caa}.city-map b{color:#293f50}.city-map span{color:#647787}#map-canvas,.map-area{background:#6b8967}.map-area:after{box-shadow:inset 0 0 65px #16283520}.map-label{background:#273642ec;color:#e7edf2;border-color:#15232f;border-radius:2px;font-size:.75rem;letter-spacing:1px}.map-label .status-dot{background:#d9ac65}.compass{color:#18394a;opacity:.85}.map-coordinates{color:#e0e8ee;background:#243541bf;padding:3px 6px;border-radius:1px}.build-palette{background:#dfe6edf5;border:1px solid #8194a4;border-radius:3px;padding:8px;box-shadow:0 3px #24374640,0 9px 22px #14222b40}.palette-heading{background:#2e3e4c;color:#e3ebf1;border:1px solid #1d2c38;border-radius:2px;padding:6px 9px;margin-bottom:7px;min-height:34px;gap:10px}.palette-heading span{font-size:.9375rem}.palette-heading small{color:#b6c7d3;font-size:.75rem}.palette-items{gap:5px}.build-card{background:#cdd9e3;border:1px solid #acbcc9;border-radius:2px;padding:8px 6px 6px;gap:5px;box-shadow:inset 0 1px #f4f7f9}.build-card:hover{background:#eaf0f4;transform:none}.build-card.selected{background:#f0dfbf;border-color:#a97730;box-shadow:inset 0 0 0 1px #c28e42}.build-card.selected:before{border-radius:0;background:#99651d}.build-icon{height:25px;filter:saturate(1.25) brightness(.85)}.build-icon svg{width:25px;height:25px}.build-card .build-name{font-size:.9375rem;color:#294354;font-weight:600}.build-price{font-size:.9375rem;color:#536d7f}.density-control button{background:#435665;color:#e2ebf1;border:1px solid #61798c;border-radius:2px;font-size:.9375rem}.density-control button.active{background:#dfb06b;color:#172e3b;border-color:#f0c98e}.build-hint{color:#e3ebf1;background:#263744eb;border:1px solid #516878;font-size:.75rem;padding:4px 8px}.control-group{background:#e1e8eef5;border-color:#8298a8;border-radius:2px;box-shadow:0 2px 5px #0c263333}.control-group button,.control-group span{color:#304f65}.control-group button:hover,.control-group button.active{background:#bfd0df}.mobile-panel-toggle{background:#dfe8ee;border-color:#829aab;color:#2c4d64;border-radius:2px}.welcome-note{background:#eff3f7f5;border-color:#9eafbc;border-radius:3px}.welcome-note b{color:#334f65}.welcome-note p{color:#5d7282}.welcome-note div>button{color:#315e7e}.note-icon{color:#4c718a;background:#d2e0eb;border-color:#aec0ce}.bottom-bar{background:#202b36;border-top:2px solid #657d8f;color:#e1eaf1}.bottom-bar .news-text,.bottom-bar .news-heading,.bottom-bar .icon-btn,.bottom-bar #date-label,.bottom-bar #date-label small{color:#d5e1eb}.news-heading{border-color:#4d6577}.bottom-bar .speed-buttons button{background:#3c4e5d;color:#c2d2de;border-radius:2px}.bottom-bar .speed-buttons button.active{background:#d8ac67;color:#21323e}#toast{background:#263d50;color:#f3f6f9;border:1px solid #6f8ca1;border-left:3px solid #daa65d;border-radius:3px;box-shadow:0 4px 18px #14243144}.layers-menu{background:#eaf0f5;border:1px solid #7c93a5;border-radius:3px;color:#324f65}.layers-menu button{color:#38576e}.layers-menu button:hover,.layers-menu button.active{background:#c8d9e7}.layers-menu .eyebrow{color:#647e91}#overlay-legend,#coverage-target{background:#edf2f7f5;color:#2e4c63;border-color:#98aebb;border-radius:3px}#overlay-legend small,#coverage-target span{color:#587183}#overlay-legend>button{color:#405c70}#coverage-target{border-left-color:#d0964b}.help-term{border-bottom-color:#7290a5}.help-term:hover,.help-term:focus-visible{background:#c8dbe8;color:#1f435e}#context-tooltip{background:#21394ef7;border-color:#6a879d;color:#f4f7fa;border-radius:4px}.inspector-description,.condition-row{color:#506c80}.inspector-icon{background:#d0dde7;border-color:#afc2d0}.tile-facts>div{border-color:#bdccd7}.tile-facts dt{color:#516d81}.tile-facts dd{color:#253f52}.progress{background:#bcccd7;border-radius:1px}.problem-list p{color:#9c4638}#modal{background:#eaf0f5;border:1px solid #7b94a8;border-radius:5px;color:#2d475a;box-shadow:0 18px 70px #101c2a80}#modal::backdrop{background:#101c2b99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-header{background:#263746;border-bottom:2px solid #d4a35f;color:#f3f6f9}.modal-header .eyebrow{color:#bccee0}.modal-header h2{font-family:DM Sans,sans-serif;font-weight:700;letter-spacing:-.7px;font-size:1.688rem;color:#edf3f7}.modal-header .icon-btn{color:#c2d6e6}.modal-header .icon-btn:hover{background:#455c70}.modal-lead{color:#526b7e}.modal-body{background:#eaf0f5}.button{border-radius:3px;font-weight:600}.button.primary{background:#315d7b;color:#fff;border:1px solid #24435c;box-shadow:inset 0 1px #6387a2}.button.primary:hover{background:#254b66}.button.secondary{background:#d4e0e9;color:#2d516b;border:1px solid #a1b6c6;box-shadow:inset 0 1px #edf5fa}.button.secondary:hover{background:#c0d3e1}.button.danger{background:#a8483c;color:#fff}.notice{background:#dbe5ed;border:1px solid #b2c5d4;border-left:3px solid #b18850;color:#4b6374;border-radius:2px}.budget-summary{background:#d3dfe8;border-color:#afc1ce}.budget-summary>div{border-color:#aebfcc}.budget-summary span,.budget-summary small{color:#5a7285}.budget-summary strong{color:#243f54}.department-list,.table-heading,.department-row,.budget-footer,.tax-panel,.loan-box{border-color:#b4c7d5}.department-icon{background:#d7e2eb;color:#4d6c84}.department-name b{color:#2a495f}.department-name small,.capacity-label,.slider-label,.department-spend small{color:#577286}.department-spend strong{color:#314e63}.department-slider input,input[type=range]{accent-color:#466f91}.slider-stops{color:#687f91}.tax-panel,.loan-box{background:#dce6ee;border-radius:3px}.tax-title,.tax-control label,.loan-box h3{color:#365b77}.tax-control output{color:#2b4f6a}.annual-ledger{background:#d3e0e9;border-color:#acbfce;border-radius:2px}.annual-ledger span,.annual-ledger p{color:#526e82}.annual-ledger b{color:#294b65}.stats-grid article,.indicator,.policy-card,.advisor-card,.advisor-message,.menu-grid button{background:#f2f5f8;border-color:#b9cad7;border-radius:3px;color:#2d4b61}.stats-grid h3,.policy-card h3{font-family:DM Sans,sans-serif;color:#294b64}.stats-grid p,.indicator>span,.policy-card p,.policy-card blockquote{color:#537186}.indicator .progress{background:#c8d7e2}.policy-card blockquote{font-family:DM Sans,sans-serif}.policy-card.unlocked{border-top-color:#4b856b}.government-tabs{border-color:#b1c4d3}.government-tabs button{border-color:#9fb5c5;color:#3f617b;border-radius:2px}.government-tabs button.active{background:#315d7b;color:#fff;border-color:#24435c}.government-tabs b{background:#ae643b;color:#fff}.empty-state{background:#dce7ef;color:#486b84;border-color:#9db6c9}.advisor-tabs button{color:#4f6f86;border-color:#a7bdcc;border-radius:2px}.advisor-tabs button[aria-pressed=true]{background:#315d7b;color:#fff}.advisor-tabs b{background:#68849a;color:#fff}.advisor-card h3,.message-top h3{color:#2a495f}.advisor-card blockquote{color:#48697e;font-family:DM Sans,sans-serif;font-size:1.062rem;line-height:1.7}.advisor-dept{color:#476b84;background:#dfe9f0;border-radius:2px}.advisor-numbers{color:#55738a;border-color:#bfceda}.inbox-toolbar,.inbox-footnote,.message-top span,.message-content p,.message-resolved{color:#587589}.advisor-message.is-unread{border-left-color:#c99143}.message-content h4{color:#294e69}.message-tone{color:#9d6030}.message-status{background:#dce7ef;color:#4d718d;border-radius:2px}.advisor-bubble{background:#edf3f8;color:#29475e;border-color:#94acbd;border-top-color:#c78c3e;border-radius:4px;box-shadow:0 6px 22px #102b3d44}.advisor-bubble:after{background:#c78c3e}.advisor-bubble h3{color:#29475e}.advisor-bubble p,.bubble-kicker,.bubble-close{color:#567187}.bubble-close:hover{background:#d1e0eb}.bubble-compact-open span{color:#2c506b}.advisor-unread{background:#b25d3d;color:#fff;box-shadow:0 0 0 2px #263746}.bubble-compact-open b{background:#b25d3d;color:#fff}.advisor-status{color:#497460}.city-settings label,.menu-grid strong{color:#305570}.city-settings p,.menu-grid span,.sound-settings small{color:#5b788e}.menu-grid button:hover{background:#dce9f2;border-color:#8daac0}.city-settings input,.input-row input{background:#f9fbfd;color:#294b64;border:1px solid #a7bdce;border-radius:3px}.sound-settings{background:#d9e4ed;color:#3e617c;border-radius:3px}.sound-settings input{accent-color:#496f8f}.news-entry{border-color:#bbcddc}.news-entry p{color:#3f6079}.news-entry small{color:#6a8396}.help-steps article{border-color:#bacbd8}.help-steps h3,.help-controls{color:#3c607b}.keyboard-hints kbd{background:#d7e5ef;border-color:#9eb6c9;color:#355b78}.graphics-settings{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:15px 0;padding:16px;background:#d9e4ed;border:1px solid #b4c9d8;border-radius:3px}.graphics-settings label{display:grid;gap:5px}.graphics-settings strong{font-size:.9375rem;color:#305570}.graphics-settings span{font-size:.9375rem;color:#5b788e}.graphics-settings select{max-width:100%;border:1px solid #8faac0;background:#f1f6fa;color:#284f6c;padding:9px;border-radius:2px;font:inherit}@media(min-width:1100px){.topbar{height:58px;min-height:58px}.statbar{height:64px;min-height:64px}.toolrail{width:56px;min-width:56px;gap:6px;padding-top:12px}.rail-tool{width:36px;height:36px}.rail-tool.category-active:before{left:-10px}.city-panel{width:300px;min-width:300px;padding:18px 20px 0}.stat{padding:0 24px}}@media(max-width:760px){.palette-heading span{font-size:.9375rem}.palette-heading{padding:6px;gap:6px}.build-palette{padding:7px}.build-card{padding:8px 5px 6px}.build-card .build-name,.build-price{font-size:.75rem}.density-control button{font-size:.75rem;padding:5px 7px}.build-hint{font-size:.75rem;background:#263744eb}.city-panel{padding:18px 20px 0}.graphics-settings{align-items:stretch;flex-direction:column;gap:10px}.modal-header h2{font-size:1.438rem}.advisor-bubble p{font-size:.9375rem}}@media(max-height:540px)and (orientation:landscape){.palette-heading{padding:4px;min-height:0}.build-card{padding:4px}.build-card .build-name{font-size:.75rem;min-height:0}.build-icon{height:20px}.build-icon svg{width:20px;height:20px}.build-price{font-size:.75rem}.build-palette{padding:5px}.build-hint{display:none}.city-panel h1{font-size:1.375rem}}.rail-tool.category-active:not(.active){background:#455d70;color:#edf4f8;box-shadow:inset 0 1px #6a8395}@media(max-width:360px){.stat small{font-size:.75rem}}.economic-outlook{margin:22px 0 30px;padding:20px;border:1px solid #aebfcd;border-left:3px solid #bf914c;background:#dce5ec;color:#304d60;border-radius:3px}.economy-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.economy-heading h3{margin:5px 0 0;color:#263d4b;font-size:1.375rem}.economy-heading label,.difficulty-settings{display:grid;gap:6px;font-size:.9375rem;font-weight:600}.economy-heading select,.difficulty-settings select{padding:9px 12px;border:1px solid #9fb2c2;background:#f0f4f7;color:#263d4b;border-radius:3px;font:inherit;min-width:120px;max-width:100%}.economic-outlook p,.difficulty-settings p{font-size:.9375rem;line-height:1.6;font-weight:400;overflow-wrap:anywhere}.difficulty-settings{margin:20px 0}.difficulty-settings select{width:100%}.economy-numbers{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.economy-numbers div{min-width:0}.economy-numbers span{display:block;font-size:.9375rem;line-height:1.5}.economy-numbers strong{display:block;font-size:1.312rem;margin-top:5px;overflow-wrap:anywhere}.outlook-details{border-top:1px solid #b1c1cd;padding-top:13px}.outlook-details summary{font-size:.9375rem;font-weight:600;cursor:pointer}.outlook-details table{width:100%;border-collapse:collapse;font-size:.9375rem;table-layout:fixed}.outlook-details th,.outlook-details td{text-align:right;padding:9px 4px;border-bottom:1px solid #b6c6d2;overflow-wrap:anywhere}.outlook-details th:first-child{text-align:left}.outlook-details th small{display:block;font-size:.75rem;font-weight:400;margin-top:3px}@media(max-width:420px){.economic-outlook{padding:12px}.economy-heading{align-items:flex-start;gap:8px}.economy-heading h3{font-size:1.312rem}.economy-heading select{min-width:100px}.economy-numbers{grid-template-columns:1fr}.outlook-details table{font-size:.9375rem}}.outlook-details th:first-child{width:40%}.economy-heading{flex-wrap:wrap}.economy-heading>div{min-width:0}.economy-heading h3{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.header-actions .archive-shortcut{display:flex;align-items:center;gap:6px;border:1px solid #607585;background:#334554;color:#edf2f7;border-radius:3px;padding:7px 9px;min-height:34px;font:inherit;font-size:.9375rem;white-space:nowrap;cursor:pointer}.header-actions .archive-shortcut:hover{background:#476173}.archive-shortcut svg{width:16px;height:16px;flex-shrink:0}.header-actions{gap:7px}#save-status{max-width:120px;font-size:.75rem}.header-actions .archive-shortcut[data-action=quick-save]{border-color:#c69a56;color:#f4d49f}.archive-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.save-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.save-card{border:1px solid #afc0ce;background:#dde7ee;padding:18px;min-width:0;border-radius:3px}.save-card.is-current{border-color:#b98a42;box-shadow:inset 3px 0 #c99c52}.save-card-heading{display:flex;align-items:flex-start;gap:10px}.save-card-heading>div{flex:1;min-width:0}.save-icon{display:grid;place-items:center;flex-shrink:0;width:34px;height:38px;background:#cbdbe5;color:#425f74}.save-icon svg{width:22px;height:22px}.save-card h3{margin:0;font-size:1.062rem;color:#2e475a;overflow-wrap:anywhere}.save-card p{font-size:.9375rem;line-height:1.6;color:#516a7c;overflow-wrap:anywhere;margin:6px 0 0}.save-tag{font-size:.75rem;line-height:1.4;color:#38576a;border:1px solid #a6bac9;padding:3px 5px;flex-shrink:0}.save-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.save-facts div{min-width:0}.save-facts div:last-child{grid-column:1/-1}.save-facts dt{font-size:.75rem;color:#5d7383;margin-bottom:4px}.save-facts dd{margin:0;font-size:1.062rem;color:#2a4659;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.save-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-top:12px;border-top:1px solid #b8c9d5}.save-card-actions .button{width:100%;justify-content:center}.save-card-actions .text-link{font-size:.9375rem}.danger-text{color:#a44735}.danger-button{background:#a84736;color:#fff}.save-card-actions button:disabled{opacity:.55;cursor:default}.archive-footnote{font-size:.9375rem;line-height:1.7;color:#5c7486;margin-top:20px}#modal[aria-busy=true] .modal-body{opacity:.75;pointer-events:none}@media(min-width:1100px){.topbar .brand{min-width:0;flex:1}.topbar .main-nav .nav-item{padding-left:12px;padding-right:12px}}@media(max-width:1250px){.archive-shortcut span,#save-status{display:none}.header-actions .archive-shortcut{padding:7px}.header-actions>[data-action=help]{display:none}}@media(max-width:760px){.save-list{grid-template-columns:minmax(0,1fr)}.save-card{padding:15px}.topbar{padding-left:10px;padding-right:10px;gap:6px}.header-actions{gap:4px}.header-actions .archive-shortcut{min-height:32px;padding:6px}.header-actions>.icon-btn{width:30px}.topbar .brand-symbol{display:none}.topbar .brand{gap:0}.topbar .brand small{display:none}.save-card h3{font-size:1.188rem}.save-tag{font-size:.75rem}.archive-toolbar .button{flex:1}.archive-toolbar .button:last-child{flex-basis:100%}}@media(max-width:380px){.topbar .brand strong{font-size:.75rem}.header-actions .archive-shortcut{padding:5px}.header-actions>.icon-btn{width:26px}.topbar{gap:4px;padding-left:7px;padding-right:7px}.nav-item{padding-left:7px;padding-right:7px}.save-card-heading{flex-wrap:wrap}.save-tag{margin-left:44px}}.council-quick{padding:18px 0;border-bottom:1px solid #b6c7d2}.municipal-priorities{list-style:none;padding:0;margin:12px 0;display:grid;gap:12px}.municipal-priorities li{display:flex;align-items:flex-start;gap:12px;border:1px solid #bacbd6;border-radius:3px;padding:15px;background:#e3ebf1;min-width:0}.municipal-priorities li>div{min-width:0;flex:1}.municipal-priorities strong{font-size:1.062rem;line-height:1.5;color:#263f50}.municipal-priorities p{line-height:1.7;margin:7px 0 12px}.priority-rank{flex-shrink:0;background:#324c60;color:#fff;display:grid;place-items:center;width:26px;height:26px;font-size:.9375rem;font-weight:700}.municipal-priorities li.urgent{border-left:3px solid #b3533d}.municipal-priorities .guidance-action{display:block;text-align:left;line-height:1.7;white-space:normal}.municipal-priorities.compact{gap:8px}.municipal-priorities.compact li{padding:9px;gap:8px}.municipal-priorities.compact strong,.municipal-priorities.compact .guidance-action{font-size:.9375rem}.compact .priority-rank{width:20px;height:20px;font-size:.75rem}.council-report-link,.council-objective-link{border:0;background:none;color:#345c76;text-align:left;font:inherit;font-size:.9375rem;line-height:1.6;padding:9px 0;cursor:pointer;display:block;width:100%}.council-objective-link{border-top:1px solid #c1cfd8;margin-top:7px}.council-objective-link strong,.council-objective-link span{display:block}.council-objective-link span{font-size:.9375rem}.agenda-tabs,.zone-diagnosis-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 22px}.agenda-tabs button,.zone-diagnosis-tabs button{border:1px solid #a8becd;border-radius:3px;padding:11px 15px;background:#d9e4ed;color:#345269;font:inherit;font-size:.9375rem;cursor:pointer}.agenda-tabs button[aria-pressed=true],.zone-diagnosis-tabs button[aria-pressed=true]{background:#304b60;border-color:#304b60;color:#fff;box-shadow:inset 0 -3px #c49c59}.agenda-content{color:#354e60;line-height:1.7;overflow-wrap:anywhere}.agenda-content h3{font-size:1.25rem;line-height:1.5}.council-note{font-size:.9375rem;color:#5b7385;line-height:1.8;margin-top:20px}.growth-reasons,.objective-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.growth-reasons article,.objective-card{padding:18px;border:1px solid #b5c7d4;background:#dfe9f0;border-radius:3px;min-width:0}.growth-reasons article>div{display:flex;flex-wrap:wrap;gap:5px 12px;justify-content:space-between}.growth-reasons article>div span{font-size:.9375rem}.growth-reasons p{font-size:.9375rem;line-height:1.8}.objective-card.selected{border-color:#ac803f;box-shadow:inset 3px 0 #c59c57}.objective-card h3{margin:6px 0}.objective-card p{font-size:.9375rem}.objective-card ul{list-style:none;padding:0;margin:20px 0}.objective-card li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:.9375rem;border-bottom:1px solid #beccd6;padding:8px 0}.objective-card li.met{color:#316a4d}.objective-card button{white-space:normal;min-height:40px;width:100%;justify-content:center}.objective-card button:disabled{opacity:.65;cursor:default}.objective-streak{padding:10px;background:#f0e6d2;color:#5d4e32}.council-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:28px}.council-results>div{padding:16px;background:#dce7ef;border:1px solid #b7c9d6;min-width:0}.council-results span,.council-results strong,.council-results small{display:block}.council-results span{font-size:.9375rem}.council-results strong{font-size:1.562rem;color:#273f50}.council-results small{font-size:.9375rem}.improved{color:#356c4d}.declined{color:#9b4537}.decision-list{padding:0;list-style:none}.decision-list li{padding:9px 0;border-bottom:1px solid #c6d3dd;font-size:.9375rem}.decision-list span{display:inline-block;min-width:90px;font-size:.9375rem;color:#617b8d}.lot-growth{padding:15px 0;border-top:1px solid #b6c7d2;border-bottom:1px solid #b6c7d2;margin:16px 0;overflow-wrap:anywhere}.lot-growth h3{font-size:.9375rem}.lot-growth>div{margin:15px 0}.lot-growth strong{font-size:.9375rem}.lot-growth p{font-size:.9375rem;line-height:1.7}.lot-growth button{font-size:.9375rem;line-height:1.6;text-align:left}.demand-diagnosis-link{border:0;background:none;padding:0;color:inherit;font:inherit;cursor:pointer;line-height:1.5}.demand-diagnosis-link:hover{text-decoration:underline}@media(max-width:760px){.growth-reasons,.objective-grid{grid-template-columns:minmax(0,1fr)}.council-results{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-tabs button{padding:11px 5px}.zone-diagnosis-tabs button{flex:1;padding:10px 7px;font-size:.9375rem}.council-results strong{font-size:1.312rem}}.agenda-content .guidance-action{display:inline-flex;align-items:center;min-height:40px;white-space:normal;text-align:left}.agenda-tabs button:focus-visible,.zone-diagnosis-tabs button:focus-visible,.guidance-action:focus-visible,.council-report-link:focus-visible,.council-objective-link:focus-visible,.demand-diagnosis-link:focus-visible{outline:2px solid #976d2e;outline-offset:3px}.period-events{list-style:none;padding:0;display:grid;gap:10px}.period-events li{border-left:3px solid #ac8b51;background:#e2e9eb;padding:12px 16px}.period-events p{font-size:.9375rem;margin:4px 0}.period-events small{font-size:.9375rem;color:#5b7385}@media(max-width:760px){.guidance-action,.council-report-link,.council-objective-link{min-height:44px}.municipal-priorities.compact .guidance-action{display:flex;align-items:center;font-size:.9375rem}.council-quick .tiny-link{padding:10px 3px}}body{line-height:1.5}.portrait{width:64px;height:70px}.portrait.large{width:96px;height:106px}.message-top .portrait{width:64px;height:70px}.bubble-identity .portrait{width:56px;height:62px}.advisor-bubble .bubble-compact-open .portrait{width:40px;height:44px;flex-basis:40px}.advisor-identity{align-items:flex-start}.advisor-card-top{align-items:center;flex-wrap:wrap}.advisor-dept{max-width:100%;white-space:normal}.advisor-numbers{flex-wrap:wrap;gap:10px}.message-content{padding-left:0}.advisor-bubble{width:380px;max-width:calc(100% - 24px)}.advisor-bubble p{line-height:1.6}.button{min-height:44px}.modal-header{position:static;align-items:flex-start}#modal[open]{display:flex;flex-direction:column;overflow:hidden}#modal-content{display:flex;flex-direction:column;min-height:0;max-height:inherit;width:100%}#modal .modal-header{flex-shrink:0}#modal .modal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}.modal-header>div{min-width:0}.modal-header .icon-btn{flex-shrink:0;width:44px;height:44px}#modal{scroll-padding-top:20px}#modal .modal-body{font-size:1rem;line-height:1.6}#modal .modal-lead,#modal #cloud-panel p,#modal .advisor-card blockquote,#modal .message-content p{font-size:1rem;line-height:1.65}#modal #cloud-panel .cloud-fineprint,.archive-footnote{font-size:.875rem;line-height:1.6}#modal #cloud-panel .button,.cloud-list-heading span{font-size:.9375rem}.modal-body .button{white-space:normal;text-align:center}.local-save-explanation{margin:18px 0}.local-save-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin:24px 0}.local-save-actions .button{justify-content:center}.local-save-actions .text-link{align-self:center;min-height:44px}.local-save-remember{display:flex;align-items:flex-start;gap:10px;font-size:.9375rem;cursor:pointer}.local-save-remember input{width:20px;height:20px;flex-shrink:0;margin-top:2px;accent-color:#315d7b}.local-save-fineprint{font-size:.875rem;color:#536b7c;margin-top:16px}.city-panel{width:310px;flex-basis:310px}.header-actions .archive-shortcut{font-size:.875rem}#save-status,.topbar .brand small,.small-tag{font-size:.75rem}.topbar .brand small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.topbar .brand strong{line-height:1.3}.build-card{min-width:86px}.build-card .build-name{line-height:1.3;white-space:normal}.build-palette{max-width:calc(100% - 24px)}.palette-items{overflow-x:auto;align-items:stretch}.department-row{row-gap:12px}.department-name small,.capacity-label,.department-spend small{line-height:1.5}.department-spend{min-width:0}.utility-summary{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:1250px){.topbar .brand small{display:none}.topbar .main-nav .nav-item{padding-left:10px;padding-right:10px}}@media(max-width:1599px){.topbar .brand small{display:none}}@media(max-width:1099px){.city-panel{width:280px;flex-basis:280px}.advisors-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.city-panel{width:min(340px,calc(100vw - 26px));flex-basis:auto}.advisors-grid{grid-template-columns:minmax(0,1fr)}.portrait.large{width:88px;height:97px}.bubble-identity .portrait{width:52px;height:57px}.statbar .stat small{font-size:.6875rem}.statbar .stat strong{font-size:1rem}.approval-stat{flex:1}.advisor-bubble:not(.is-compact){max-height:max(140px,calc(100% - 320px));overflow-y:auto}.brand strong,.topbar .brand strong{font-size:.875rem}.header-actions .archive-shortcut{min-height:40px}.topbar .nav-item{padding-left:8px;padding-right:8px}.build-card{min-width:80px}.department-spend{min-width:0}.modal-body .dialog-actions{flex-wrap:wrap}.modal-body .dialog-actions .button{flex:1 1 160px}.modal-header h2{font-size:1.5rem;line-height:1.25}#modal .modal-body{padding:18px}}@media(max-width:360px){.topbar .brand strong{font-size:.75rem}.header-actions{gap:2px}.statbar .stat small{font-size:.625rem}}.info-links{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:.9375rem;margin-top:24px}.info-links a,#cloud-panel a{color:#315d7b;text-underline-offset:3px}.advisor-role,.advisor-status,.advisor-dept,.advisor-numbers,.advisor-card .text-link,.local-save-actions .text-link{font-size:.875rem}.local-save-actions .text-link,#context-tooltip{font-size:.9375rem}.city-settings p{overflow-wrap:anywhere}.topbar .brand-symbol{background:transparent;border:0;box-shadow:none}.brand-symbol img{display:block;width:100%;height:100%;object-fit:contain}.difficulty-guide{font-weight:400}.difficulty-guide dl{margin:16px 0;display:grid;gap:12px}.difficulty-guide dl>div{border-left:3px solid #a6b9c6;padding-left:12px}.difficulty-guide dt{font-weight:700;color:#263d4b}.difficulty-guide dd{margin:3px 0 0;font-size:.9375rem;line-height:1.6}.difficulty-common,.new-city-note{font-size:.9375rem;line-height:1.6;color:#536b7c}.difficulty-details{margin:16px 0}.difficulty-details summary{cursor:pointer;font-weight:600;min-height:32px}.palette-heading>span{min-width:0;line-height:1.35}.palette-heading{flex-wrap:wrap;gap:8px}.zone-help{font-size:.875rem;line-height:1.5;margin:0 2px 8px;color:#2c4d64;min-height:36px;text-decoration:underline;text-underline-offset:3px}.zoning-explanation{padding-left:22px;margin:16px 0}.zoning-explanation li{margin:10px 0}.build-hint{max-width:calc(100% - 24px);white-space:normal;text-align:center;line-height:1.3;max-height:2.6em;overflow:hidden}@media(max-width:760px)and (min-height:541px){.map-area:not(.coverage-view) .build-palette{bottom:74px}.map-area:not(.coverage-view) .mobile-panel-toggle,.map-area:not(.coverage-view) .map-controls{bottom:calc(84px + var(--palette-height,160px))}.palette-heading>span{font-size:.875rem}.zone-help{font-size:.8125rem}.build-hint{bottom:30px;padding:2px 4px;max-height:calc(2.6em + 6px)}}@media(max-width:760px)and (min-height:541px){.map-area:not(.coverage-view) .advisor-bubble:not(.is-compact){max-height:max(100px,calc(100% - var(--palette-height,160px) - 255px))}}.community-support{margin-top:24px;padding:20px;border:1px solid #adbdc7;border-radius:4px;background:#e4ecef;color:#304a5b}.community-support h3{margin:0 0 8px;font-size:1.125rem}.community-support p{margin:8px 0;font-size:1rem;line-height:1.6}.community-support>div{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.community-support .button{white-space:normal;text-align:center;max-width:100%;overflow-wrap:anywhere;min-height:44px;font-size:1rem;text-decoration:none}@media(max-width:600px){.community-support{padding:16px}.community-support .button{width:100%}}
