/* A restrained command surface. The city carries the colour and detail. */
:root{--font-d:"Helvetica Neue","CW Grotesk",Arial,sans-serif;--ink:#24342f;--ink2:#5e6d66;--ink3:#718078;--line:rgba(36,52,47,.12);--r-lg:10px;--r-md:6px;--r-sm:5px;--sh1:0 4px 18px #13241b20;--sh2:0 18px 65px #10271d30;--azure-ink:#24705b;--violet-ink:#46635c}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #499b79;outline-offset:3px}
#titleScreen:not(.setup){align-items:flex-start;justify-content:flex-end;padding:0 0 11vh 6vw}
#titleScreen:not(.setup)::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(13,29,25,.88),rgba(13,29,25,.52) 28%,transparent 65%),linear-gradient(0deg,rgba(13,29,25,.38),transparent 40%)}
#titleScreen:not(.setup) .logo-container{width:460px;max-width:85vw;background:none;border:0;box-shadow:none;backdrop-filter:none;padding:0;margin:0;animation:logoIn .6s ease;text-align:left}
#titleScreen:not(.setup) h1{font-size:clamp(48px,6.4vw,86px);font-weight:800;letter-spacing:-.065em;line-height:1.03;color:#fff;white-space:normal}
#titleScreen:not(.setup) h1 em{display:block;color:#a4dcae}
#titleScreen:not(.setup) .subtitle{font-size:15px;line-height:1.7;letter-spacing:0;text-transform:none;font-weight:400;color:#d0ded6;max-width:300px;margin:22px 0 28px}
#titleScreen .sunwash,#titleScreen .haze{display:none}
#mainMenu{justify-content:flex-start!important;gap:10px!important}
.menu-btn{font-family:var(--font-u);font-size:13px;font-weight:600;letter-spacing:0;border-radius:6px;padding:14px 24px;transition:background .15s,transform .15s}
.menu-btn:hover{transform:translateY(-1px)}
.menu-btn.go{background:#23644e;color:#fff}.menu-btn.go:hover{background:#184e3c}
#mainMenu .go{background:#e7f0d7;color:#23392b;min-width:150px}
#mainMenu .vs{background:#ffffff12;color:#fff;box-shadow:inset 0 0 0 1px #ffffff50}
#mainMenu .vs:hover{background:#ffffff25}
#titleScreen.setup{background:rgba(17,33,28,.36);backdrop-filter:blur(8px)}
#titleScreen.setup .logo-container{border:1px solid #ffffff90;background:#fafbf8f5;box-shadow:0 24px 100px #08201550;border-radius:12px;padding:26px 32px;max-height:94vh;overflow:auto}
#titleScreen.setup h1{font-size:26px;letter-spacing:-.04em}
#titleScreen.setup .subtitle{display:none}
.setup-label{font-size:11px!important;letter-spacing:0!important;text-transform:none!important;color:#51645a!important;font-weight:600!important}
.setup-opt{border-radius:5px!important;background:#edf1ec!important;box-shadow:none!important;border:1px solid transparent!important;color:#394b41!important;font-family:var(--font-u)!important}
.setup-opt.active{background:#dfebe0!important;border-color:#7ea68b!important;color:#1e503c!important}
.setup-opt .opt-sub{font-size:10px!important;color:#65756b!important}
.setup-input{border-radius:5px!important;background:#fff!important;border:1px solid #ced9d0!important}
#topBar{top:16px;left:18px;right:auto;width:max-content;max-width:calc(100vw - 36px);height:56px;padding:0 10px 0 17px;border:1px solid #ffffff20;border-radius:8px;background:rgba(24,40,34,.95);box-shadow:0 6px 28px #0e251c25;gap:7px;color:#eef3e8}
body.panel-collapsed #topBar{right:auto}
#companyChip{padding-right:22px;gap:10px;min-width:170px}
#companyChip::after,.stat-group+.stat-group::before{background:#ffffff19}
#companyName{font:600 13px var(--font-u);letter-spacing:.02em;max-width:180px;color:#f3f5ed}
#companyStage{color:#a5b6a9;font-size:9px;font-weight:400;letter-spacing:0;margin-top:4px}
#companyChip .brand-dot{width:7px;height:24px;flex-basis:7px;border-radius:2px}
#statRail{margin-left:0;gap:0;overflow:visible}
.stat-group{gap:8px;padding:0 17px}.stat-icon{display:none}
.stat-label{color:#a8baae;font-size:9px;font-weight:400;line-height:1.6}
.stat-value{color:#f4f5e9!important;font:500 15px var(--font-u);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
#topBar .hud-btn{color:#c4d3c7;width:30px;height:32px;font-size:16px;border-radius:4px}
#topBar .hud-btn:hover{background:#ffffff15;color:#fff}
#topBar .hud-btn.on{background:#466454}
#topBar .hud-btn.wide{width:auto;font-size:10px;padding:0 8px;border-left:1px solid #ffffff19;border-radius:0}
#rightPanel{top:92px;right:18px;bottom:18px;width:250px;border:1px solid #ffffff90;border-radius:8px;background:#fafbf7f2;box-shadow:0 8px 30px #12291c22}
#panelTabs{padding:3px 9px 0;border-bottom:1px solid #233f2b14;order:0}
.panel-tab{font-size:11px;font-weight:500;padding:14px 5px 12px}
.panel-tab.active{color:#235a42;border-bottom-color:#42765a;font-weight:600}
.panel-tab-content{order:1;overflow-y:auto!important;scrollbar-width:thin}
.panel-map{order:3;padding:8px!important;border-bottom:0;border-top:1px solid var(--line)}
#minimap{border-radius:3px;max-height:140px;object-fit:cover}
#alertRail{order:2}
.panel-section{padding:13px 10px}.panel-title{font-size:9px;letter-spacing:.12em;font-weight:500;color:#839084;margin:2px 7px 10px}
.build-btn{padding:10px 8px;gap:9px;margin:0;border-radius:5px}
.build-btn+.build-btn{border-top:1px solid #24423208}
.build-btn:hover:not(:disabled){background:#e9eee6}.build-btn:disabled{opacity:.48}
.build-btn .btn-icon{font-size:17px;width:23px;flex-basis:23px;color:#5f7768}
.build-btn .btn-name{font-size:11px;font-weight:600}.build-btn .btn-cost{font-size:10px;color:#66796c;margin-top:3px}
.build-btn .btn-desc{font-size:9px;line-height:1.5;color:#7a8a7e}
#panelToggle{width:22px;height:32px;left:-23px;top:0;border-radius:5px 0 0 5px;background:#fafbf7ec;box-shadow:-5px 3px 15px #14261b12;font-size:12px}
body.panel-collapsed #rightPanel{width:44px;bottom:auto}
body.panel-collapsed #panelTabs{padding:4px 0}
body.panel-collapsed .panel-tab{padding:14px 0}
#settingsPanel{top:82px;left:18px;right:auto;background:#fafbf7f7;border:1px solid #ffffff90;border-radius:8px;padding:18px;width:285px}
.settings-row{font-size:11px;margin-bottom:14px}.settings-row select{font:11px var(--font-u);padding:5px;border:1px solid #cfdbd0;border-radius:4px;background:#fff;color:#304c3b}
#zoomLevel{right:286px;bottom:20px;border-radius:4px;background:#233b2ee6;color:#dae6dc;font-size:9px;padding:5px 8px}
#jsTooltip{background:#233b2e;font-size:11px}.toast{background:#233b2e;font-size:12px;top:84px;border-radius:5px}
@media(max-width:1050px){#companyChip{min-width:120px;padding-right:12px}#companyName{max-width:140px}.stat-group{padding:0 10px}#rightPanel{width:224px}#zoomLevel{right:260px}}
@media(max-width:760px){#topBar{left:10px;top:10px;max-width:calc(100vw - 20px);gap:0;padding:0 5px 0 10px}#companyChip{min-width:90px;padding-right:8px}#companyName{max-width:110px;font-size:11px}.stat-group{padding:0 7px}.stat-value{font-size:12px}#winCondGroup{display:none}#greyLabel{display:none}#rightPanel{right:10px;top:82px;width:212px;bottom:10px}#titleScreen:not(.setup){padding-bottom:13vh}.menu-btn{padding:13px 20px}#mainMenu{flex-direction:row}#settingsPanel{left:10px}#titleScreen.setup .logo-container{padding:22px 18px}}
.team-item{padding:7px 3px!important;gap:6px!important;min-height:39px;border-bottom:1px solid #2547370d!important}
.team-portrait{width:26px;height:28px;border-radius:6px;flex:0 0 26px}
.team-name{font-size:10px!important;font-weight:500!important;padding-left:0!important;color:#334e3e!important}
.team-state{font-size:7px!important;letter-spacing:.03em!important}.team-salary{display:none}.fire-btn{opacity:.35}.team-item:hover .fire-btn{opacity:1}
