/* The canvas geometry stays fixed; the command dock overlays it without a resize. */
body.rts-active{--rts-context-height:200px;--rts-cover:256px;--rts-ink:#e4eee7;--rts-muted:#adc1b6;--rts-edge:#526e61;--rts-gold:#dfc57e}
body.rts-active[data-rts-context=empty]{--rts-cover:100px}
.rts-active #rtsDock{position:fixed;z-index:9;left:12px;right:12px;bottom:28px;color:var(--rts-ink);background:#112b29fa;border:1px solid var(--rts-edge);border-radius:7px 7px 0 0;box-shadow:0 -3px 15px #10241e24;overflow:visible}
.rts-active #rtsDock button,.rts-active #rtsDock summary{min-height:44px;border-radius:4px;font-size:13px;box-sizing:border-box}
.rts-active #rtsDock button:focus-visible,.rts-active #rtsDock summary:focus-visible{outline:2px solid var(--rts-gold);outline-offset:2px}
.rts-active #rtsDock .rts-selection-more,.rts-active #rtsDock .rts-vehicle-more{position:static;inset:auto;z-index:auto}
.rts-active .rts-navigation{display:flex;gap:7px;align-items:center;min-height:54px;padding:5px 12px;border-bottom:1px solid #536b5e;position:relative}
.rts-active #squadDock{position:static;display:flex;align-items:center;gap:9px;height:auto;flex:1;min-width:0;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.rts-active #squadManagerToggle,.rts-active #fleetToggle,.rts-active #rtsNavigation>#base{position:static;margin:0;min-height:44px;padding:7px 13px;background:#1c3b35;border:1px solid #607d6b;color:var(--rts-ink);white-space:nowrap}
.rts-active #squadSelectionSummary{font-size:12px;color:var(--rts-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rts-active #squadDock>.control-groups{position:static;display:flex;order:4;width:auto;margin:0 0 0 auto;gap:5px}
.rts-active #squadDock>.control-groups button{min-width:44px;min-height:44px;padding:4px;background:#1c3b35;font-size:12px;border-color:#607d6b}
.rts-active #squadDock>.control-groups small{font-size:10px}
.rts-active #rtsConnection{position:absolute;bottom:calc(100% + 8px);left:0;padding:6px 10px;color:#f2d297;background:#1c3028f5;border:1px solid #b2a06e;border-radius:4px;font-size:12px;pointer-events:none}
.rts-active .rts-empty{min-height:44px;padding:12px 16px;color:var(--rts-muted);font-size:12px}
.rts-active #rtsTroopSlot,.rts-active #rtsBaseSlot,.rts-active #rtsVehicleSlot{height:var(--rts-context-height);min-width:0;position:relative}
.rts-active #rtsDock>[hidden]{display:none!important}
.rts-active #contextDock[hidden]{display:none!important}
/* Managers open above the same dock and retain their current search/selection. */
.rts-active #squadManagerPanel,.rts-active #fleetPanel{position:fixed;left:12px;right:auto;bottom:calc(var(--rts-cover) + 38px);top:auto;width:min(740px,calc(100vw - 24px));max-height:calc(100vh - var(--rts-cover) - 112px);border-radius:7px;background:#132f2dfa;border-color:var(--rts-edge)}
.rts-active #fleetPanel{width:min(780px,calc(100vw - 24px))}
.rts-active #groups{padding:0;max-height:none}
.rts-active #teamPanel{bottom:calc(var(--rts-cover) + 38px);top:auto;max-height:calc(100vh - var(--rts-cover) - 112px)}
.rts-active #gameHud #controlHelp>.popover-body{right:0}
.rts-active #gameHud #controlHelp>.popover-body,.rts-active #graphicsMenu>.popover-body,.rts-active #objectivesPanel>.popover-body{max-height:calc(100vh - var(--rts-cover) - 150px)}
.rts-active .mapboxgl-ctrl-bottom-left,.rts-active .mapboxgl-ctrl-bottom-right{bottom:calc(var(--rts-cover) + 10px)}
.rts-active .mapboxgl-ctrl-bottom-right{right:0}
.rts-active #medicalRange{bottom:calc(var(--rts-cover) + 12px);max-width:calc(100% - 32px)}
.rts-active #commandFeedback{position:fixed;z-index:14;left:50%;bottom:calc(var(--rts-cover) + 40px);transform:translateX(-50%);max-width:min(480px,calc(100vw - 32px))}
.rts-active #commandFeedbackDismiss{min-width:44px;min-height:44px}
.rts-active #rtsDock .rts-selection-detail,.rts-active #rtsDock .rts-vehicle-secondary{position:fixed;right:24px;bottom:calc(var(--rts-cover) + 40px);max-height:min(380px,calc(100vh - var(--rts-cover) - 120px))}
.rts-active #rtsDock #selectionHint{display:block}
/* An ordinary building uses the dock; building details beside troops/base expand upward. */
.rts-active #rtsBuildingDetails{position:absolute;right:12px;bottom:8px;z-index:12;margin:0;padding:0}
.rts-active #rtsBuildingDetails>summary{padding:10px;background:#23433a;color:var(--rts-ink);border:1px solid #658473;list-style:none;cursor:pointer;font-size:12px}
.rts-active #rtsBuildingSlot{position:absolute;right:0;bottom:50px;width:min(620px,calc(100vw - 48px));max-height:calc(100vh - var(--rts-cover) - 96px);overflow:auto;border-radius:6px;box-shadow:0 -3px 15px #0003;background:#122c2afa}
.rts-active #buildingPanel{position:relative;display:block;margin:0;border-color:var(--rts-edge);background:#122c2a;padding:12px}
.rts-active #buildingName{padding-right:36px;font-size:12px;line-height:1.4}
.rts-active #rtsBuildingClose{position:absolute;right:7px;top:5px;min-width:44px}
.rts-active #buildingPanel>h2{padding-right:40px;margin:0 0 7px}
.rts-active #rtsDock[data-context=building] #rtsBuildingDetails{position:relative;right:auto;bottom:auto;height:var(--rts-context-height)}
.rts-active #rtsDock[data-context=building] #rtsBuildingDetails>summary{display:none}
.rts-active #rtsDock[data-context=building] #rtsBuildingSlot{position:static;width:auto;height:100%;max-height:100%;box-shadow:none;border-radius:0}
.rts-active #rtsDock[data-context=building] #buildingPanel{border:0;min-height:100%}
.rts-active #rtsDock[data-context=troops] #rtsBuildingDetails,.rts-active #rtsDock[data-context=base] #rtsBuildingDetails{bottom:calc(100% + 6px)}
.rts-active #rtsDock[data-context=troops] #rtsBuildingSlot,.rts-active #rtsDock[data-context=base] #rtsBuildingSlot{max-height:calc(100vh - var(--rts-cover) - 136px)}
@media(max-width:1000px){
 body.rts-active{--rts-context-height:206px;--rts-cover:262px}
 .rts-active #rtsDock{left:8px;right:8px}
 .rts-active .rts-navigation{padding:5px 8px;gap:5px}
 .rts-active #squadSelectionSummary{display:none}
 .rts-active #squadDock{gap:5px}
 .rts-active #squadDock>.control-groups small{display:none}
 .rts-active #rtsDock button,.rts-active #rtsDock summary{font-size:12px}
 .rts-active #squadManagerPanel,.rts-active #fleetPanel{left:8px;max-height:calc(100vh - var(--rts-cover) - 100px)}
}
