/* Stadmakers · art direction: a warm architectural city model, instrumented in deep green. */
:root{--green:#214e46;--line:#e1dfd4;--muted:#7a8177;color:#273f38;background:#f2f0e8;font-family:"Segoe UI",Arial,sans-serif}
body{background:#f2f0e8}header{height:66px;background:#173b39;color:#f8f4e7;padding:0 25px;border:0;box-shadow:0 2px 20px #12352f22;position:relative;z-index:25}.brand{font-size:15px;letter-spacing:2.6px;gap:10px}.brand-icon{background:transparent;border:1px solid #bbab7355;color:#d8bd81;padding:5px 10px;border-radius:5px}.brand small{font-size:9px;letter-spacing:1.2px;color:#acbfb1}#status{color:#b5c5b9;font-size:11px}#wallet{font-family:Georgia,serif;font-size:24px;letter-spacing:.3px;color:#ead8a9}.layout{min-height:calc(100dvh - 66px);grid-template-columns:196px minmax(0,1fr) 244px}aside{background:#20423d;color:#e7eddf;border:0;padding:25px 14px}.server-label{font-size:10px;color:#c7d2c3;letter-spacing:1.8px}.server-label span{color:#c5ad77}nav{gap:5px}nav button{color:#b9cbbf;font-size:12px;border-radius:7px;padding:12px 10px;transition:background .18s,color .18s}nav button span{color:#b9ad82;font-size:15px}nav button:hover{background:#ffffff0c;color:white}nav button.active{color:#f1ddaa;background:#31594e;box-shadow:inset 2px 0 #d4b879}#identity{border-color:#5370666b;color:#b5c9bb;font-size:11px}#identity strong{color:#f0e7cf}.aside-note{font-size:10px;color:#8da99a}.feed{background:#eeeee4;border-color:#dddfd0;padding:27px 20px}.feed h3{font-family:Georgia,serif;font-size:19px;font-weight:400}.feed .stat{font-size:11px;padding:13px 0}.feed .event{font-size:11px}.feed h4{color:#89927c}.event{border-color:#d0d6bd}main{padding:30px 32px}.page-heading{margin-bottom:25px}h1{font-size:35px;letter-spacing:-.7px}.eyebrow{font-size:9px;color:#8f947d}.card{border-color:#e3e1d5;border-radius:12px;box-shadow:0 4px 18px #283d2c04;padding:22px}.card h3{font-weight:600;font-size:16px}button{border-radius:6px;font-size:12px;border-color:#d5d9cb;transition:background .16s,transform .16s,box-shadow .16s}button:active:not(:disabled){transform:translateY(1px)}button.primary,.tabs .active{color:#fffaed;background:#315e4e;border-color:#315e4e;box-shadow:0 3px 9px #234b3822}button.primary:hover{background:#254c3e}.money{font-family:Georgia,serif;font-weight:400;color:#275f4a}.tag{font-size:9px;letter-spacing:.3px;padding:5px 8px}.notice{background:#e8eddf;border-color:#dce2d0;border-left:3px solid #a2b38a;color:#56634d}.warning{background:#f6eddc;border-color:#e1cc9f}.stat strong{font-variant-numeric:tabular-nums;font-size:13px}.negative{color:#bd6953!important}.progress{background:#edf0e5}.progress i{background:linear-gradient(90deg,#47735a,#a1b379)}input,select{font-size:12px;background:#fdfdf8;border-color:#d6dbcc}input:focus,select:focus{border-color:#758c65;outline:2px solid #c3cda155}#day{font-size:11px;background:#ffffff99;border-color:#dddccd;color:#66745c}#toast{background:#214c3f;border:1px solid #91a97777;border-radius:9px;box-shadow:0 8px 35px #153d2e33;font-size:13px}dialog{border:1px solid #c1c7aa;background:#f9f7ee;box-shadow:0 30px 100px #061e1aa8;border-radius:14px}dialog::backdrop{background:#0a2724a6;backdrop-filter:blur(7px)}dialog h1{font-size:36px;color:#21493e}dialog .eyebrow{color:#a18147}.property-card{overflow:hidden}.property-card .progress{margin:17px 0}.fitout-panel{margin:22px -22px -22px;padding:1px 22px 16px;background:#f6f7ef;border-top:1px solid #e4e7d9}.fitout-panel h4{font-size:9px;margin:20px 0 13px;color:#859070}.fitout-upgrade{border-top:1px solid #e2e5d7;padding:13px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.fitout-upgrade strong{font-size:11px;display:block}.fitout-upgrade span{font-size:9px;color:#929b85}.fitout-upgrade p{font-size:10px;line-height:1.6;max-width:260px;margin:4px 0;color:#7d8971}.fitout-upgrade button{padding:8px;font-size:10px;min-width:100px;white-space:normal;background:#fffdf7}

/* The city is a game viewport. Management screens retain their full sidebar. */
.city-mode{overflow:hidden}.city-mode .layout{height:calc(100dvh - 66px);min-height:0;grid-template-columns:88px minmax(0,1fr)}.city-mode .feed{display:none}.city-mode main{padding:0;position:relative;min-width:0;height:100%;overflow:hidden}.city-mode .page-heading{display:none}.city-mode #content{height:100%}.city-mode .layout>aside{padding:18px 8px;display:flex;flex-direction:column;z-index:24;background:#1d3e38;box-shadow:2px 0 20px #153a3014;overflow-y:auto;scrollbar-width:none}.city-mode .server-label{padding:0;font-size:8px;text-align:center;letter-spacing:.8px;margin-bottom:18px}.city-mode .server-label span{font-size:7px;margin-top:6px}.city-mode nav{gap:3px}.city-mode nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:51px;padding:6px 2px;font-size:8px;line-height:1.2;text-align:center;font-weight:500}.city-mode nav button span{width:auto;font-size:20px;line-height:20px;font-weight:400}.city-mode #identity{margin-top:auto;padding:18px 0 0;font-size:8px;line-height:1.6;text-align:center}.city-mode .aside-note{display:none}.city-scene{width:100%;height:100%;position:relative;isolation:isolate;background:#c8d3bd;overflow:hidden}.city-mode .city-scene>canvas#world{position:absolute;inset:0;width:100%;height:100%;touch-action:none;outline:none}.city-hud-title{position:absolute;top:28px;left:28px;pointer-events:none}.overline{font-size:8px;font-weight:700;letter-spacing:2px;color:#61745f}.city-hud-title h1{margin:7px 0 6px;font-family:Georgia,serif;font-size:40px;line-height:1.1;color:#264e40;text-shadow:0 1px 16px #eff3de}.city-hud-title h1 span{font-family:Arial;font-size:7px;vertical-align:middle;display:inline-block;margin-left:13px;color:#bd9e60}.city-hud-title p{font-size:10px;margin:0;color:#657762;text-shadow:0 1px 10px white}.city-hud-title p i{display:inline-block;width:3px;height:3px;background:#8f9f7b;border-radius:100%;margin:0 8px 2px}.district-switcher{position:absolute;top:134px;left:28px;display:flex;gap:5px}.district-switcher button{background:#faf9edcf;border:1px solid #ffffffa8;color:#4c614e;font-size:10px;padding:9px 11px;box-shadow:0 3px 12px #324c2a09;backdrop-filter:blur(12px)}.district-switcher small{font-size:8px;color:#a6ad90;margin-right:7px}.district-switcher .selected-district{background:#315b49f0;color:#f0e9d0;border-color:#315b49;box-shadow:0 4px 14px #1e47292b}.district-switcher .selected-district small{color:#c4bc8f}.city-layer-switcher{position:absolute;top:185px;left:28px;display:flex;align-items:center;gap:3px;border-radius:6px;background:#f6f6e9b0;backdrop-filter:blur(10px);padding:4px}.city-layer-switcher>span{font-size:7px;letter-spacing:1px;padding:0 9px;color:#829174}.city-layer-switcher button{border:0;box-shadow:none;background:transparent;font-size:9px;padding:7px 9px;color:#728367}.city-layer-switcher button.layer-active{background:#ffffffc9;color:#38523b;box-shadow:0 2px 6px #4562350b}.plot-inspector{position:absolute;top:130px;right:24px;width:260px;max-height:calc(100% - 235px);overflow:auto;padding:18px 19px;background:#fbfaefed;color:#304b3c;backdrop-filter:blur(20px);border:1px solid #ffffffcc;border-radius:12px;box-shadow:0 12px 45px #26452421,0 1px 2px #53654c0d;scrollbar-width:thin;scrollbar-color:#b8c5a4 transparent}.inspector-overline{display:flex;align-items:center;justify-content:space-between;font-size:7px;letter-spacing:1.2px;color:#8c977d}.inspector-overline b{font-size:9px;color:#5b7259;font-weight:500;letter-spacing:1px}.parcel-illustration{height:100px;display:grid;place-items:center;overflow:hidden;margin:10px -2px 1px;background:radial-gradient(ellipse at center,#d6debf66,transparent 70%)}.mini-ground{position:relative;width:76px;height:61px;transform:rotate(-25deg) skew(25deg) scaleY(.7);background:repeating-linear-gradient(45deg,#c9b994 0,#c9b994 5px,#c7b590 5px,#c7b590 6px);border:2px solid #b0b78f;box-shadow:-5px 6px #a8b18d,8px 14px 20px #80935b26}.mini-ground>i{position:absolute;height:14px;width:3px;background:#d2c6a8;bottom:0;left:0;box-shadow:70px 0 #d2c6a8,0 -54px #d2c6a8,70px -54px #d2c6a8}.plot-pin{position:absolute;inset:0;display:grid;place-items:center;color:#efe4c2;font-size:33px}.mini-building{position:absolute;inset:10px;background:#b7c9b4;border:4px solid #668775;box-shadow:-12px 12px #729077,-9px 10px 0 6px #9eb79d;transform:translate(9px,-16px)}.mini-building span{display:inline-block;width:6px;height:10px;background:#e4e2c6;margin:5px 2px}.plot-inspector h2{font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.25;margin:8px 0}.inspector-location{font-size:10px;line-height:1.5;color:#7a866d;margin:7px 0 19px}.inspector-location span{color:#c2c8b5;margin:0 5px}.inspector-facts{display:grid;grid-template-columns:1fr 1fr;padding:15px 0;border-top:1px solid #dfe4d4;border-bottom:1px solid #dfe4d4;gap:8px}.inspector-facts>div>span{display:block;letter-spacing:1px;font-size:7px;color:#8c977e;margin-bottom:7px}.inspector-facts strong{font-size:18px;font-weight:400;font-family:Georgia,serif;font-variant-numeric:tabular-nums}.inspector-facts small{font-family:Segoe UI;font-size:10px;color:#869276}.property-status{font-size:9px;color:#74816b;display:flex;align-items:center;gap:7px;margin:15px 0}.property-status>span:last-child:not(.status-dot){margin-left:auto;font-size:8px}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#779660;flex-shrink:0}.status-dot.amber{background:#c19b4f}.inspector-actions{display:grid;gap:8px;margin-top:18px}.inspector-actions button{font-size:10px;width:100%;padding:11px}.inspector-actions>small{text-align:center;color:#9aa38c;font-size:8px}.inspector-business{border-top:1px solid #e0e5d4;padding:12px 0;display:grid;gap:6px}.inspector-business>span{font-size:9px;color:#829075}.inspector-business strong{font-size:19px;font-weight:400;font-family:Georgia,serif}.inspector-business small{font:9px Segoe UI;color:#919b84}.fitout-summary{border-top:1px solid #e0e5d4;padding-top:13px;font-size:9px;color:#6b7d60}.fitout-summary>span{font-size:7px;letter-spacing:1px;display:block;margin-bottom:8px;color:#8f9b80}.fitout-summary>div{display:flex;justify-content:space-between;padding:4px 0}.fitout-summary b{font-weight:400;letter-spacing:3px;color:#9eac78}.city-mission{position:absolute;bottom:105px;left:26px;display:flex;align-items:flex-start;gap:12px;padding:16px;width:272px;background:#f8f8e9e6;border:1px solid #ffffffb8;border-radius:10px;backdrop-filter:blur(12px);box-shadow:0 6px 25px #243d2c12}.mission-icon{display:grid;place-items:center;width:30px;height:32px;border-radius:7px;background:#e8edda;color:#75874f;font-size:22px;flex-shrink:0}.city-mission>div>span{display:block;font-size:6px;letter-spacing:1.2px;color:#98a087}.city-mission strong{display:block;font-size:10px;font-weight:600;margin:6px 0 4px}.city-mission p{font-size:8px;line-height:1.6;color:#849077;margin:0}.city-mission>button{align-self:center;border:0;padding:4px;background:transparent;color:#8a996d}.city-camera-dock{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:3px;background:#24483ef2;border:1px solid #75937d66;backdrop-filter:blur(15px);box-shadow:0 10px 35px #1b3a2f33;border-radius:9px;padding:7px 9px}.city-camera-dock button{border:0;box-shadow:none;background:transparent;color:#d5decb;padding:7px 8px;min-width:28px;font-size:15px;line-height:19px}.city-camera-dock button:hover{background:#ffffff16}.city-camera-dock .dock-group{display:flex;background:#183e33;border-radius:5px;padding:2px}.city-camera-dock .dock-group button{font-size:10px;padding:5px 9px;line-height:16px}.city-camera-dock .dock-group .primary{background:#748b65;color:#fffae4}.dock-divider{height:17px;width:1px;background:#7c9c7d38;margin:0 4px}.city-camera-dock .tilt-control{margin-left:5px}.city-camera-dock .tilt-control input{width:63px;accent-color:#b9bf8b}.city-economy{position:absolute;right:26px;top:31px;display:flex;align-items:center;gap:9px;font-size:10px;background:#f3f5e3c9;border:1px solid #ffffff88;padding:11px 14px;border-radius:7px;backdrop-filter:blur(12px)}.city-economy strong{margin-left:9px;color:#4c7855;font-variant-numeric:tabular-nums;font-weight:600}.city-economy>span:nth-child(2){color:#78856d}.city-view-hint{position:absolute;left:28px;bottom:29px;font-size:6px;letter-spacing:.9px;color:#6e8265;pointer-events:none}.city-view-hint span{font-size:8px;letter-spacing:0;color:#8d9a7e;margin-left:3px}.interior-badge{position:absolute;left:50%;top:35px;transform:translateX(-50%);background:#24483edd;color:#e6e9d5;font-size:9px;letter-spacing:2px;padding:12px 20px;border-radius:6px;pointer-events:none}.interior-badge span{display:block;margin-top:5px;text-align:center;color:#a8b89b;font-size:7px;letter-spacing:.5px}
@media(max-width:1150px){.layout{grid-template-columns:176px minmax(0,1fr)}.feed{display:none}.plot-inspector{width:225px;right:18px;padding:15px}.district-switcher{gap:4px;left:22px}.district-switcher button{padding:8px;font-size:9px}.district-switcher small{margin-right:4px}.city-layer-switcher{left:22px}.city-mission{width:240px;left:22px}.city-camera-dock .tilt-control{display:none}.city-camera-dock{gap:1px}.city-camera-dock button{padding:6px}.city-camera-dock .dock-divider{margin:0 2px}}
@media(max-height:780px) and (min-width:701px){.city-mode nav button{min-height:43px;font-size:7px;gap:3px}.city-mode nav button span{font-size:17px}.city-mode .server-label{margin-bottom:8px}.parcel-illustration{height:65px}.plot-inspector{top:116px;max-height:calc(100% - 198px)}.city-hud-title{top:22px}.district-switcher{top:118px}.city-layer-switcher{top:159px}.city-mission{bottom:92px}}
@media(max-width:850px){.city-economy{display:none}.district-switcher{top:125px;right:15px;overflow:auto;scrollbar-width:none}.district-switcher button{white-space:nowrap}.city-layer-switcher{top:167px}.plot-inspector{top:220px;width:205px}.city-mission{display:none}.city-hud-title h1{font-size:35px}.city-camera-dock{bottom:22px}.city-view-hint{bottom:85px}.city-mode nav button{font-size:7px}.city-mode .layout{grid-template-columns:74px minmax(0,1fr)}}
@media(max-width:700px){header{height:60px;padding:0 16px;flex-wrap:nowrap}.brand{font-size:12px;letter-spacing:1.4px}.brand-icon{padding:5px 7px;font-size:20px}.brand small{display:none}#status{font-size:8px;max-width:90px;line-height:1.5}#wallet{font-size:20px}.layout{display:block;min-height:calc(100dvh - 60px)}.layout>aside{padding:6px;background:#20423d}.layout>aside nav{display:flex;gap:3px}.layout>aside nav button{color:#bed0bd;font-size:9px;padding:10px;min-width:max-content}.layout>aside nav button span{width:18px}main{padding:20px 15px}.city-mode .layout{display:flex;flex-direction:column;height:calc(100dvh - 60px)}.city-mode .layout>aside{display:block;flex-shrink:0;height:47px;padding:4px}.city-mode .server-label,.city-mode #identity{display:none}.city-mode nav{display:flex;gap:4px;overflow:auto}.city-mode nav button{flex-direction:row;gap:5px;min-height:38px;padding:8px;font-size:8px}.city-mode nav button span{font-size:14px;line-height:14px}.city-mode main{flex:1;min-height:0;width:100%}.city-hud-title{left:17px;top:18px}.city-hud-title h1{font-size:32px}.city-hud-title .overline{font-size:6px}.city-hud-title p{font-size:8px}.district-switcher{left:15px;top:108px;gap:4px}.district-switcher small{display:none}.district-switcher button{padding:8px;font-size:8px}.city-layer-switcher{top:148px;left:15px}.city-layer-switcher>span{display:none}.city-layer-switcher button{font-size:8px}.plot-inspector{top:auto;bottom:81px;right:15px;left:15px;width:auto;max-height:165px;padding:13px 16px;border-radius:9px;display:grid;grid-template-columns:1fr 120px;column-gap:12px}.parcel-illustration,.fitout-summary,.property-status,.inspector-business{display:none}.inspector-overline{grid-column:1/-1;font-size:6px}.plot-inspector h2{font-size:18px;margin:7px 0}.inspector-location{margin:0;font-size:8px;grid-column:1}.inspector-facts{grid-column:2;grid-row:2/4;padding:6px 0;gap:6px;border:0;align-self:center}.inspector-facts strong{font-size:14px}.inspector-facts>div>span{font-size:6px;margin-bottom:4px}.inspector-facts strong small{font-size:7px}.inspector-actions{grid-column:1/-1;margin:10px 0 0;display:flex;gap:6px}.inspector-actions button{padding:8px;font-size:9px}.inspector-actions>small{display:none}.city-camera-dock{bottom:15px;max-width:calc(100% - 20px);padding:5px;gap:0}.city-camera-dock button{padding:5px;min-width:24px;font-size:13px}.city-camera-dock .dock-group button{padding:4px 7px;font-size:9px}.city-camera-dock .dock-divider{margin:0 2px}.city-view-hint{display:none}.fitout-panel{margin:18px -16px -16px;padding-left:16px;padding-right:16px}.interior-badge{top:58px;font-size:7px;padding:8px 12px}.interior-badge span{font-size:6px}.city-scene>canvas{min-height:0}.card{padding:17px}.property-card .fitout-panel{margin-left:-17px;margin-right:-17px;margin-bottom:-17px}}
.city-mode nav button{font-size:9px}.overline{font-size:9px}.city-hud-title p{font-size:11px}.inspector-overline{font-size:8px}.inspector-location{font-size:11px}.property-status{font-size:10px}.inspector-actions button{font-size:11px}.city-mission>div>span{font-size:7px}.city-mission strong{font-size:11px}.city-mission p{font-size:10px}.city-mission{width:285px}.city-layer-switcher button{font-size:10px}.district-switcher button{font-size:11px}@media(max-width:700px){.city-mode nav button{font-size:8px}.district-switcher button{font-size:9px}.plot-inspector .inspector-location{font-size:9px}.city-layer-switcher button{font-size:9px}.inspector-actions button{font-size:10px}}
.scene-dusk .city-hud-title h1{color:#f1edda;text-shadow:0 2px 20px #23453466}.scene-dusk .city-hud-title .overline{color:#d3dbc3}.scene-dusk .city-hud-title p{color:#dce2ca;text-shadow:0 1px 8px #2b4f3c66}.scene-dusk .city-view-hint,.scene-dusk .city-view-hint span{color:#d0d7bd}.is-interior .city-layer-switcher,.is-interior .district-switcher,.is-interior .city-camera-dock,.is-interior .city-mission,.is-interior .city-view-hint{display:none}.interior-exit{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);background:#24483ef2;border-color:#75937d66;box-shadow:0 10px 35px #1b3a2f33;color:#ecedd7;padding:14px 25px;backdrop-filter:blur(15px)}.interior-exit:hover{background:#315e4e}.interior-exit:active{transform:translateX(-50%)!important}.layout>aside nav::-webkit-scrollbar{display:none}@media(max-width:700px){.interior-exit{bottom:21px;font-size:10px;padding:12px 18px}}
