/* Compact tactical controls. The map remains the main working area. */
header{padding-right:265px!important}
#walletHud{position:fixed;z-index:9;right:14px;top:2px;width:235px;padding-left:13px;border-left:1px solid #4b685e;line-height:1.2}
#walletHud[hidden],#opponentCountdown[hidden]{display:none}
#walletHud small{display:block;font-size:10px;color:#c6d9d0}
#walletHud>div{display:flex;align-items:baseline;gap:12px;margin:2px 0}
#walletBalance{font-size:22px;color:#d7ffe5;font-variant-numeric:tabular-nums;white-space:nowrap}
#walletDelta{font-size:13px;color:#a3f1bf;font-weight:700;white-space:nowrap}
#walletDelta.spent{color:#ffd09a}
#opponentCountdown{position:fixed;z-index:11;left:50%;top:120px;transform:translateX(-50%);max-width:360px;padding:9px 14px;border:1px solid #d9c98a;border-radius:8px;background:#26342bf2;color:#ffedb0;font-size:12px;text-align:center;pointer-events:none}
:root{--sidebar:252px;--line:#365049;--accent:#9de1b8}
.brand-title{display:flex;align-items:center;gap:8px;white-space:nowrap}
#gameVersion{font-size:10px;letter-spacing:0;color:#c0d8c9;border:1px solid #486059;border-radius:4px;padding:3px 5px}
#gameVersion:empty{display:none}
aside{width:var(--sidebar);padding:10px;background:#142329}
#board{left:var(--sidebar)}
.tabs{gap:4px;margin-bottom:10px}.tabs button{font-size:12px}
h2{margin:10px 0 7px;font-size:11px;letter-spacing:1.1px}
.selection-card{padding:12px;border:1px solid var(--line);border-radius:10px;background:#1d3238;margin-bottom:12px}
.selection-card h2{margin:0 0 5px;color:var(--accent)}
#selectionName{font-size:18px;font-weight:650;line-height:1.2}
#selectionState{font-size:12px;color:#c5e3d2;margin:6px 0 10px;min-height:17px}
.selection-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
#selectionStats[hidden]{display:none}
.selection-stats div{background:#10252a;border-radius:6px;padding:7px}
.selection-stats small{display:block;font-size:10px;letter-spacing:.6px;color:#a5bcb3}
.selection-stats strong{font-size:13px;font-weight:600}
#selectionMembers{display:flex;gap:5px;margin:7px 0}
#selectionMembers i{flex:1;height:6px;border-radius:2px;background:#96dbb1}
#selectionMembers i.downed{background:#edbc6e}#selectionMembers i.lost{background:#4a5e60}#selectionMembers i.wounded{background:#d6dc8c}
#selectionHint,#selectionOrders,#actionReason{font-size:11px;line-height:1.45;color:#b4c6bd;margin-top:7px}
#actionReason{color:#edc48e}#actionReason:empty{display:none}
.selection-card .actions{margin-top:10px}.selection-card button{font-size:12px;padding:7px}
#groups{max-height:190px;overflow:auto;scrollbar-width:thin}
.squad{padding:7px;margin:4px 0;border-color:#304c4b}
.squad-title b{font-size:12px}.squad-title .role-icon{width:18px;height:18px;flex-basis:18px}
.squad small{font-size:11px;margin-top:2px;padding-left:25px}
.control-groups{display:flex;gap:5px;margin:7px 0 10px}
.control-groups button{flex:1;font-size:11px;padding:6px 3px;border-style:dashed}
.control-groups button.filled{border-style:solid;border-color:#7eb49b}
.control-groups button small{margin-left:4px;color:#9bb5ac}
#selectionBox{position:absolute;z-index:6;border:1px solid #b8f5cf;background:#8bdbb32b;pointer-events:none}
#selectionBox[hidden]{display:none}.pan-mode{cursor:grab}
#buildingPanel[hidden],#selectionCard[hidden]{display:none}
#buildingPanel{padding:9px;border:1px solid var(--line);border-radius:8px;margin-top:10px}
#buildingName{font-size:11px}#buildingPanel button{font-size:12px}
#productionPanel button{font-size:12px}details{margin-top:9px;padding-top:5px}
#controlHelp p{font-size:11px;line-height:1.6;margin:5px 0;color:#bacdc4}
#controlHelp label{display:block;font-size:12px;font-weight:600;margin-bottom:5px}
#graphicsQuality{width:100%;padding:8px;border:1px solid #5b776b;border-radius:6px;background:#172a2d;color:#e4f1e9}
#replenishment{font-size:11px}#medicalPanel h2{margin-top:12px}.medicalRequirement{font-size:11px}
#toolbar button,#toolbar label{font-size:11px;padding:7px}
#status{font-size:11px}#message{max-width:80%}
@media(max-width:1000px){:root{--sidebar:230px}header{padding:8px 10px;gap:6px}.brand{min-width:130px}h1{font-size:15px}#connection{font-size:10px}#economy{font-size:11px}aside{padding:8px}.selection-card{padding:9px}#groups{max-height:145px}#toolbar{right:8px;gap:4px}#toolbar button{padding:6px;font-size:10px}}

.economy-block{text-align:right}#territoryScore{color:#c9f3d9;font-size:12px;margin-top:3px;font-weight:600}
.point{border:2px solid #cbded4;box-shadow:0 2px 5px #0008;font-weight:700}

#captureHint{position:absolute;top:52px;left:12px;z-index:3;background:#17252bea;color:#ffe6a5;border-left:3px solid #ffdc80;padding:6px 9px;border-radius:4px;font-size:12px;pointer-events:none;max-width:calc(100% - 32px)}#captureHint[hidden]{display:none}.point{cursor:pointer}

/* Alpha.7: a full-width battlefield with small, separate command areas. */
:root{--glass:#122328f2;--line:#4b685e;--sidebar:0px}
#board{left:0;top:58px;bottom:28px}
header{position:relative;z-index:8;background:#101d22;height:58px;border-color:#344b43}
header h1{font-size:13px;letter-spacing:2px}.brand{min-width:150px}
#identity{font-size:11px}#economy{font-size:12px}#territoryScore{font-size:11px}
#gameHud,#unitsPanel{display:contents}
#gameHud details{position:fixed;z-index:10;margin:0;padding:0;border:0}
#gameHud summary{padding:10px 13px;border:1px solid var(--line);border-radius:8px;background:var(--glass);color:#e4f1e9;font-weight:600;list-style:none;box-shadow:0 3px 12px #0003}
#gameHud summary::-webkit-details-marker{display:none}
#gameHud details[open]>summary{border-color:var(--accent);background:#29483c}
.popover-body{position:absolute;width:300px;background:#13272af7;border:1px solid #5b776b;border-radius:10px;padding:14px;box-shadow:0 8px 24px #0005;max-height:calc(100vh - 190px);overflow:auto}
#classChange{left:126px;top:70px}#classChange .popover-body{top:44px;left:0}
.tabs{position:fixed;left:16px;top:70px;z-index:10;margin:0}
#unitsTab{display:none}.tabs button{padding:10px 13px;border-radius:8px;background:var(--glass)}
#objectivesPanel{left:16px;top:118px}#objectivesPanel .popover-body{top:44px;left:0}
#controlHelp{right:16px;top:70px}#controlHelp .popover-body{right:0;top:44px}
#trainingPanel{right:116px;top:70px}#trainingPanel .popover-body{right:0;top:44px}
#productionPanel{left:16px;bottom:44px}#productionPanel>summary{padding:28px 18px;border-color:#8db79d;background:#254b3b}
#productionPanel .popover-body{left:0;bottom:88px}
#squadDock{position:fixed;z-index:8;left:150px;right:16px;bottom:40px;border:1px solid #50665d;background:var(--glass);border-radius:11px;padding:8px 12px;height:92px;box-shadow:0 5px 18px #0004}
.dock-heading{display:flex;align-items:center;gap:12px;margin:0 0 4px}.dock-heading h2{margin:0;font-size:10px}.dock-heading span{font-size:10px;color:#afc2b9}
#groups{display:flex;gap:7px;max-height:none;overflow-x:auto;overflow-y:hidden;padding-right:150px;scrollbar-width:thin}
.squad{flex:0 0 158px;width:158px;height:52px;margin:0;padding:7px 9px;border-radius:7px}.squad small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:0;font-size:10px}.squad-title b{font-size:12px}
.control-groups{position:absolute;right:12px;top:4px;width:138px;margin:0;gap:4px}.control-groups button{padding:3px;min-width:40px;font-size:10px}.control-groups button small{font-size:9px}
#contextDock{position:fixed;z-index:8;right:16px;bottom:144px;width:290px;max-height:calc(100vh - 266px);overflow:auto;scrollbar-width:thin;border-radius:10px}
.selection-card{margin:0;padding:12px;background:var(--glass);box-shadow:0 5px 18px #0003}
.selection-card h2{font-size:9px;letter-spacing:1.6px}#selectionName{font-size:16px}
#selectionState{margin:4px 0;font-size:11px;min-height:0}#selectionMembers{margin:6px 0}
.selection-stats{margin:7px 0;gap:6px}.selection-stats div{padding:5px 7px}.selection-stats small{font-size:9px}
#selectionHint{display:none}#selectionOrders{margin:0;font-size:10px}.selection-card .actions{margin-top:7px}
#buildingPanel{background:var(--glass);margin:6px 0 0;padding:10px}
#medicalPanel h2{font-size:10px}#medicalPanel .medicalRequirement{font-size:10px;margin:4px 0}
#teamPanel{position:fixed;z-index:11;top:114px;left:16px;width:310px;max-height:calc(100vh - 265px);overflow:auto;padding:16px;background:#13272af7;border:1px solid #5b776b;border-radius:10px;box-shadow:0 8px 24px #0005}
#presidencyControls{display:none}#teamPanel h2:first-child{margin-top:0}
#toolbar{top:12px;left:auto;right:230px;gap:5px;width:auto}
#toolbar button{border-radius:7px;background:var(--glass);font-size:11px;padding:8px}
#house,#street,#toolbar label{display:none}#home{display:none}
#captureHint{top:114px;left:16px;max-width:340px;font-size:11px;background:#17252bd9}
#medicalRange{bottom:116px;left:16px;max-width:calc(100% - 340px);font-size:11px}
#status{height:28px;font-size:10px;padding:4px 16px;z-index:8;gap:12px;background:#101d22}
#message{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:84%}
#result{position:fixed;z-index:12;left:50%;top:40%;transform:translate(-50%,-50%);width:360px;padding:24px;border-radius:12px;box-shadow:0 8px 24px #0006;text-align:center}
.mapboxgl-ctrl-bottom-left{bottom:110px}.mapboxgl-ctrl-bottom-right{bottom:110px;right:320px}
@media(max-width:1000px){
 header{padding:6px 10px}.brand{min-width:125px}header h1{font-size:11px}#identity{font-size:10px}#economy{font-size:10px}#territoryScore{font-size:10px}
 #contextDock{width:260px;max-height:calc(100vh - 256px)}#toolbar{right:220px}
 .selection-card{padding:9px}#captureHint{max-width:300px}.dock-heading span{display:none}
 #medicalRange{max-width:calc(100% - 300px)}#groups{padding-right:0}.squad{flex-basis:148px;width:148px}
 .mapboxgl-ctrl-bottom-right{right:290px}
}
#modelStatus{position:absolute;top:70px;left:16px;max-width:calc(100% - 32px);z-index:6;padding:8px 12px;border-radius:6px;background:#16272ef2;color:#e4eee9;font-size:12px}#modelStatus button{margin-left:10px}
