.hud-tabs .city-growth-open{background:#deeee2;border:1px solid #9bc5ad;gap:7px}.city-growth-open b{color:#fff;background:#237767;border-radius:8px;padding:2px 6px}.hud-tabs .city-growth-action{color:#174c3b;background:#f5d267}.city-growth-dialog{max-height:88dvh;overflow:auto;width:min(760px,100vw - 28px)!important;max-width:760px!important}.city-growth-dialog h3{margin:0 0 8px;font-size:18px}.city-growth-dialog p{margin:7px 0;font-size:14px}.city-growth-dialog small{color:#63786b;font-size:12px;line-height:1.5}.city-growth-hero{color:#fff9e9;background:#164f48;border-radius:20px;justify-content:space-between;align-items:center;margin-top:12px;padding:22px;display:flex}.city-growth-hero>div:first-child{flex:1}.city-growth-hero small{color:#b4ddbe;letter-spacing:2px;font-size:10px}.city-growth-hero h3{margin-top:5px;font-size:27px}.city-growth-hero p{color:#d1e6d5}.city-growth-hero strong{float:right}.city-growth-medal{margin-left:20px;font-size:70px}.city-growth-dialog progress{accent-color:#239b7e;background:#dce5d7;border:0;border-radius:10px;width:100%;height:8px;display:block;overflow:hidden}.city-growth-dialog progress::-webkit-progress-bar{background:#dce5d7}.city-growth-dialog progress::-webkit-progress-value{background:#299b7c;border-radius:10px}.city-growth-hero progress::-webkit-progress-value{background:#f2c75b}.city-growth-impact{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0;display:grid}.city-growth-impact>span{text-align:center;background:#edf1e5;border-radius:14px;padding:12px;font-size:22px}.city-growth-impact b{margin-left:6px}.city-growth-impact small{font-size:11px;display:block}.city-contract{background:#fff7d9;border:2px solid #d9b55b;border-radius:18px;margin:16px 0;padding:16px}.city-contract-steps{gap:8px;margin-bottom:15px;display:flex}.city-contract-steps span{opacity:.48;flex:1;align-items:center;gap:8px;font-size:12px;display:flex}.city-contract-steps b{font-size:24px}.city-contract-steps .reached{opacity:1;font-weight:800}.city-contract-actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.city-contract-actions button,.city-project-list button{color:#225647;background:#e0ebd8;border:1px solid #c3d2bc;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:9px 13px;font-size:13px;font-weight:800;display:flex}.city-contract-actions .primary-btn{color:#fff;background:#0e8168;border-color:#0e8168}.city-contract-actions svg{width:19px;height:19px}.city-contract-cancel{color:#526e61;min-height:36px;margin-top:12px;font-size:12px;text-decoration:underline;display:block}.city-project-error{color:#9a442f}.city-growth-plan{margin:20px 0}.city-growth-plan>div{gap:7px;margin:8px 0;display:flex}.city-growth-plan button{background:#f1f3e8;border:1px solid #d5dfcb;border-radius:12px;flex:1;min-height:63px;padding:8px 4px;font-size:12px}.city-growth-plan button span{font-size:25px;display:block}.city-growth-plan button[aria-pressed=true]{background:#d5eadc;border:2px solid #2b826b;font-weight:800}.city-project-list{grid-template-columns:1fr 1fr;gap:14px;display:grid}.city-project-list article{background:#fffdf2;border:1px solid #d7dfcb;border-radius:18px;overflow:hidden}.city-project-picture{background:#c1dee2;width:100%;height:auto;display:block}.city-project-list article>div{padding:14px}.city-project-list h3{margin:5px 0 10px;font-size:17px}.city-project-list small{letter-spacing:1px;font-size:9px;font-weight:800}.city-project-list p{color:#5d7668;font-size:12px}.city-project-list button{background:#f3cf64;border:0;width:100%}.city-project-list button:disabled{opacity:.55}.city-project-done{color:#287861;align-items:center;gap:7px;font-size:13px;font-weight:800;display:flex}@media (max-width:560px){.city-growth-dialog{padding:20px!important}.city-growth-hero{padding:16px}.city-growth-hero h3{font-size:23px}.city-growth-medal{margin-left:8px;font-size:47px}.city-project-list{gap:8px}.city-project-list article>div{padding:10px}.city-project-list h3{font-size:14px}.city-project-list button{min-height:48px;padding:8px;font-size:11px}.city-growth-impact>span{padding:9px 5px;font-size:19px}}.city-growth-start{color:#174b3e;background:#f3ce64;border-radius:12px;align-items:center;gap:8px;min-height:44px;margin-top:12px;padding:10px 14px;font-size:13px;font-weight:800;display:flex}.city-growth-dialog{gap:12px!important}.city-growth-impact{margin:4px 0}.city-growth-hero{margin-top:0;padding:18px}.city-growth-hero h3{font-size:24px}.city-mayor{background:#f4f8ee;border-radius:16px;gap:10px;padding:14px;display:grid}.city-mayor-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.city-mayor-stats>*{background:#fff;border-radius:12px;gap:2px;padding:10px;font-size:18px;display:grid}.city-mayor-stats b{font-variant-numeric:tabular-nums;font-size:18px}.city-mayor-stats small{color:#60765b;font-size:11px}.city-mayor-stats meter{width:100%;height:8px}.city-mayor-advice{color:#5a4a12;background:#fff4cf;border-radius:12px;align-items:center;gap:10px;margin:0;padding:10px 12px;font-size:13px;line-height:1.4;display:flex}.city-mayor-advice>span:first-child{font-size:22px}.city-mayor-advice>span:nth-child(2){flex:1}.city-mayor-advice small{letter-spacing:.06em;text-transform:uppercase;color:#8a6100;font-size:10px;font-weight:800;display:block}.city-mayor-advice button{color:#fff;background:#0a8067;border-radius:12px;min-height:40px;padding:0 14px;font-weight:800}@media (max-width:600px){.city-mayor-stats{grid-template-columns:1fr 1fr}.city-mayor-stats label{grid-column:1/-1}}.city-builder-panel{z-index:14;overscroll-behavior:contain;color:#234f3e;scrollbar-width:thin;background:#fbfdf4f5;border:1px solid #fff;border-radius:22px;flex-direction:column;gap:10px;width:min(400px,100vw - 24px);padding:16px;display:flex;position:absolute;top:104px;bottom:112px;right:24px;overflow-y:auto;box-shadow:0 14px 44px #1b3a2a26}.city-builder-panel>*{flex-shrink:0}.city-builder-panel button{font-family:inherit}.cb-head{color:#fff9e9;z-index:2;background:#164f48;border-radius:22px 22px 0 0;align-items:center;gap:10px;margin:-16px -16px 0;padding:14px 16px;display:flex;position:sticky;top:-16px}.cb-badge{color:#164f48;background:#f2c75b;border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.cb-title{flex:1;min-width:0}.cb-title small{letter-spacing:1.6px;color:#b4ddbe;font-size:10px;font-weight:800;display:block}.cb-title h2{letter-spacing:-.5px;overflow-wrap:anywhere;align-items:center;gap:6px;margin:2px 0 0;font-size:21px;font-weight:850;line-height:1.15;display:flex}.cb-title form{gap:6px;margin-top:4px;display:flex}.cb-title input{color:#234f3e;border-radius:10px;min-height:36px;padding:6px 10px;font-size:15px;font-weight:750}.cb-title form button,.cb-rename{color:#fff9e9;background:#ffffff26;border-radius:10px;place-items:center;min-width:36px;min-height:36px;display:grid}.cb-rename{opacity:.8;background:0 0;min-width:30px;min-height:30px}.cb-coins{color:#5a4a12;white-space:nowrap;background:#fff4cf;border-radius:999px;flex-shrink:0;padding:7px 11px;font-size:14px}.cb-coins b{font-variant-numeric:tabular-nums}.cb-close{color:#fff9e9;background:#ffffff1f;border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.cb-level{gap:4px;display:grid}.cb-level progress,.cb-lot progress{accent-color:#239b7e;background:#dce5d7;border:0;border-radius:10px;width:100%;height:9px;display:block;overflow:hidden}.cb-level progress::-webkit-progress-bar{background:#dce5d7}.cb-lot progress::-webkit-progress-bar{background:#dce5d7}.cb-level progress::-webkit-progress-value{background:#f2c75b;border-radius:10px}.cb-lot progress::-webkit-progress-value{background:#299b7c;border-radius:10px}.cb-level small{color:#60765b;font-size:12px}.cb-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;display:grid}.cb-stats>*{text-align:center;background:#edf1e5;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 3px;min-width:0;padding:7px 4px 6px;font-size:14px;display:flex}.cb-stats b{font-variant-numeric:tabular-nums;font-size:16px}.cb-stats small{color:#60765b;white-space:nowrap;text-overflow:ellipsis;flex-basis:100%;font-size:10px;line-height:1.25;overflow:hidden}.cb-stats meter{width:100%;height:6px;margin-top:2px}.cb-stats .cb-warn{color:#8a3a22;background:#fde2d8}.cb-services{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.cb-services span{background:#edf1e5;border-radius:9px;align-items:center;gap:5px;height:28px;padding:0 8px;display:flex;position:relative;overflow:hidden}.cb-services i{z-index:1;font-size:15px;font-style:normal;position:relative}.cb-services b{background:#bfe3cc;transition:width .4s;position:absolute;top:0;bottom:0;left:0}.cb-advice{color:#5a4a12;background:#fff4cf;border-radius:14px;align-items:center;gap:10px;margin:0;padding:10px 12px;font-size:13px;line-height:1.4;display:flex}.cb-advice>span:first-child{font-size:22px}.cb-advice>span:nth-child(2){flex:1}.cb-advice small{letter-spacing:.06em;text-transform:uppercase;color:#8a6100;font-size:10px;font-weight:800;display:block}.cb-advice button{color:#fff;white-space:nowrap;background:#0a8067;border-radius:12px;min-height:40px;padding:0 13px;font-size:13px;font-weight:800}.cb-lot{background:#fffdf2;border:2px solid #d9e4cf;border-radius:16px;gap:8px;padding:12px;display:grid}.cb-lot p{color:#50664f;margin:0;font-size:13px;line-height:1.45}.cb-lot-head{align-items:center;gap:10px;display:flex}.cb-lot-head>div{flex:1;min-width:0}.cb-lot-head small{letter-spacing:1.2px;color:#7a8f73;font-size:10px;font-weight:800;display:block}.cb-lot-head strong{font-size:16px;display:block}.cb-lot-icon{background:#edf1e5;border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:26px;display:grid}.cb-clear{color:#50664f;background:#edf1e5;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.cb-actions{flex-wrap:wrap;gap:7px;display:flex}.cb-actions button{color:#225647;background:#e0ebd8;border-radius:12px;flex:150px;justify-content:center;align-items:center;gap:7px;min-height:46px;padding:8px 12px;font-size:13px;font-weight:800;display:flex}.cb-actions button small{opacity:.8;font-size:12px;font-weight:750}.cb-actions .cb-upgrade{color:#4d3d0a;background:#f3cf64}.cb-actions .cb-danger{color:#fff;background:#e56851}.cb-lot output{border-radius:10px;padding:8px 10px;font-size:13px;font-weight:750;display:block}.cb-lot .cb-ok{color:#1f6a4c;background:#dcefe1}.cb-lot .cb-error{color:#8a3a22;background:#fde2d8}.cb-tabs{scrollbar-width:none;gap:5px;padding:2px 0 4px;display:flex;overflow-x:auto}.cb-tabs::-webkit-scrollbar{display:none}.cb-tabs button{color:#3f6450;white-space:nowrap;background:#edf1e5;border:2px solid #0000;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;min-height:40px;padding:0 11px;font-size:12px;font-weight:800;display:flex}.cb-tabs button[aria-selected=true]{color:#164f48;background:#d5eadc;border-color:#2b826b}.cb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.cb-card{color:#234f3e;text-align:left;background:#fff;border:2px solid #d7dfcb;border-radius:16px;flex-direction:column;align-items:stretch;gap:4px;width:100%;height:100%;min-height:150px;padding:10px;display:flex;position:relative}.cb-card:not(:disabled):hover{background:#f6fbf2;border-color:#2b826b}.cb-card:disabled{opacity:1;cursor:not-allowed;color:#7d8a7a;background:#f3f4ee}.cb-card.cb-locked .cb-icon{filter:grayscale();opacity:.55}.cb-card.cb-focus{border-color:#e9ac34;box-shadow:0 0 0 3px #f3cf6480}.cb-card-top{justify-content:space-between;align-items:center;display:flex}.cb-icon{font-size:30px;line-height:1}.cb-cost{color:#5a4a12;font-variant-numeric:tabular-nums;background:#fff4cf;border-radius:999px;padding:3px 8px;font-size:13px;font-weight:850}.cb-card strong{font-size:14px;line-height:1.2}.cb-info{color:#6b7c6d;font-size:11px;line-height:1.35}.cb-chips{flex-wrap:wrap;gap:3px;margin-top:auto;display:flex}.cb-chips i{white-space:nowrap;background:#edf1e5;border-radius:7px;padding:2px 6px;font-size:11px;font-style:normal;font-weight:750}.cb-tags{flex-wrap:wrap;gap:3px;display:flex}.cb-tags em{color:#2f4f7a;background:#e6eef7;border-radius:7px;padding:2px 6px;font-size:10px;font-style:normal;font-weight:800}.cb-tags .cb-lock{color:#6b5420;background:#efe7d4}.cb-why{color:#8a3a22;font-size:11px;line-height:1.3}.cb-foot{color:#50664f;border-top:1px solid #e1e8d9;flex-wrap:wrap;align-items:center;gap:10px;padding-top:4px;font-size:13px;font-weight:750;display:flex}.cb-foot small{color:#7a8f73;margin-left:auto;font-size:11px;font-weight:650}.city-builder-badge{color:#164f48;background:#deeee2;border:1px solid #9bc5ad;border-radius:14px;align-items:center;gap:7px;min-height:44px;padding:0 14px;font-size:13px;font-weight:800;display:flex}.city-builder-badge b{color:#fff;font-variant-numeric:tabular-nums;background:#237767;border-radius:8px;padding:2px 7px}@media (max-width:900px){.city-builder-panel{width:min(360px,100vw - 24px);top:96px;right:12px}}@media (max-width:600px){.city-builder-panel{border-radius:18px;gap:8px;width:auto;max-height:62dvh;padding:12px;inset:auto 8px 84px}.cb-head{border-radius:18px 18px 0 0;margin:-12px -12px 0;padding:10px 12px;top:-12px}.cb-title h2{font-size:18px}.cb-stats{gap:4px}.cb-stats>*{padding:6px 2px 5px;font-size:12px}.cb-stats b{font-size:14px}.cb-level small{font-size:11px}.cb-card{min-height:136px;padding:8px}.cb-info{display:none}}@media (prefers-reduced-motion:reduce){.cb-services b{transition:none}}.build-map-controls.city-map-controls{right:calc(min(400px,100vw - 24px) + 36px)}@media (max-width:900px){.build-map-controls.city-map-controls{right:calc(min(360px,100vw - 24px) + 20px)}}@media (max-width:600px){.build-map-controls.city-map-controls{grid-template-columns:repeat(4,64px);right:10px}.build-map-controls.city-map-controls button{width:64px;min-height:54px}}.build-city-link{color:#fff9e9;text-align:left;background:#164f48;border-radius:14px;align-items:center;gap:10px;width:100%;margin:10px 0 0;padding:10px 12px;display:flex;box-shadow:0 4px 14px #164f4833}.build-city-link>span:first-child{font-size:28px}.build-city-link b{font-size:15px;display:block}.build-city-link small{color:#b4ddbe;font-size:12px;display:block}
