/* Controls and overlays belong only to the enhanced 3D battlefield. */
.battlefield.webgl-ready #battle-webgl{outline-offset:-3px;cursor:crosshair}
.battlefield.webgl-ready #battle-webgl.panning{cursor:grabbing}
.battlefield .operation-map{position:absolute;right:14px;bottom:15px;width:202px;z-index:4;border:1px solid #70898a70;border-radius:5px;background:#09171de8;box-shadow:0 8px 22px #030b1266;backdrop-filter:blur(7px);font-family:Consolas,monospace;user-select:none;overflow:hidden}
.battlefield .operation-map-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:34px;padding:8px 10px;border:0;border-bottom:1px solid #536d7155;background:transparent;color:#c0d7cf;font-size:11px;letter-spacing:1px;text-align:left;cursor:pointer}
.battlefield .operation-map-heading span{font-size:18px;color:#d4debd}
.battlefield .operation-map canvas{position:relative;inset:auto;display:block;width:200px;height:144px;cursor:crosshair;touch-action:none}
.battlefield .operation-map-status{padding:8px 10px;color:#9dbbbd;font-size:10px;letter-spacing:1px;border-top:1px solid #536d7133}
.battlefield .operation-map.folded canvas,.battlefield .operation-map.folded .operation-map-status{display:none}
.battlefield .operation-camera-hint{position:absolute;bottom:36px;left:18px;z-index:3;pointer-events:none;font:10px Consolas,monospace;letter-spacing:.4px;color:#b4c6bc;text-shadow:0 1px 3px #030a0e}
.battlefield .battle-tools{z-index:5;gap:6px;padding:4px 6px;background:#0b1920df;border:1px solid #51666c66;border-radius:5px}
.battlefield .battle-tools .text-button{min-height:32px;padding:6px 8px;font-size:11px;letter-spacing:.35px;color:#c3d3ce}
.battlefield .operation-levels{position:absolute;right:16px;top:64px;z-index:6;display:flex;flex-direction:column;gap:6px;padding:6px;background:#091922e8;border:1px solid #6c869069;border-radius:5px}
.battlefield .operation-levels[hidden]{display:none}.battlefield .operation-levels button{width:42px;min-height:36px;border:1px solid #526c76;border-radius:3px;background:#213642;color:#c0d2d5;font:bold 12px Consolas,monospace;cursor:pointer}.battlefield .operation-levels button.active{background:#a1cbbc;border-color:#b7d9cd;color:#102b31}.battlefield .operation-levels button:hover{border-color:#b7d9cd}.battlefield .operation-levels button:focus-visible{outline:2px solid #b7d9cd;outline-offset:2px}
.battlefield:not(.webgl-ready) .operation-map,.battlefield:not(.webgl-ready) .operation-camera-hint,.battlefield:not(.webgl-ready) .operation-levels,.battlefield.grid-mode .operation-map,.battlefield.grid-mode .operation-camera-hint,.battlefield.grid-mode .operation-levels{display:none}
@media(max-width:1100px){.battlefield .operation-map{width:164px;right:10px;bottom:10px}.battlefield .operation-map canvas{width:162px;height:117px}.battlefield .operation-camera-hint{font-size:9px;bottom:35px;left:12px;max-width:230px;line-height:1.6}.battlefield .battle-tools{gap:2px;right:10px;top:10px}.battlefield .battle-tools .text-button{font-size:10px;padding:5px 6px}.battlefield .operation-levels{right:12px;top:58px}}
@media(max-width:720px){.battlefield .operation-map{width:140px}.battlefield .operation-map canvas{width:138px;height:100px}.battlefield .operation-map-status{font-size:9px}.battlefield .operation-map-heading{font-size:10px;padding:6px 8px}.battlefield .operation-camera-hint{display:none}.battlefield .battle-tools{gap:1px;top:9px}.battlefield .battle-tools .text-button{font-size:9px;padding:5px}.battlefield .battle-coordinate{top:55px}.battlefield .operation-levels{top:90px;right:10px}.battlefield .operation-levels button{width:34px;min-height:32px}}
/* Six operators and their deployed rover retain dedicated, scrollable selection. */
#tactical-squad.expanded-squad { max-height: 390px; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #587985 #10212c; padding-right: 4px; }
#tactical-squad.expanded-squad .squad-card { min-height: 62px; padding: 6px 10px; margin-bottom: 4px; gap: 9px; grid-template-columns: 37px minmax(0,1fr); }
#tactical-squad.expanded-squad .squad-portrait { width: 35px; height: 46px; }
#tactical-squad.expanded-squad .squad-card strong { font-size: 14px; line-height: 1.25; }
#tactical-squad.expanded-squad .squad-card small { font-size: 11px; line-height: 1.25; margin: 1px 0; }
#tactical-squad .squad-summary { min-width: 0; }
#tactical-squad .support-card { border-color: #538a92; background: #173039; }
#tactical-squad .support-card.selected { border-color: #a6e6db; background: #284950; }
@media (min-width: 721px) and (max-height: 800px) { #tactical-squad.expanded-squad { max-height: 255px; } }
@media (max-width: 720px) { #tactical-squad.expanded-squad { max-height: none; overflow-x: auto; overflow-y: hidden; padding-bottom: 5px; } #tactical-squad.expanded-squad .squad-card { min-width: 158px; } }

@media (min-width:721px) and (max-height:800px) { #tactical-squad.expanded-squad[data-squad-count="4"][data-support-count="0"] { max-height: 320px; flex-shrink:0; } }
#overlord-hud { position:absolute; left:14px; top:55px; z-index:8; width:min(340px,calc(100% - 28px)); pointer-events:none; background:#101925ed; border:1px solid #92725b; box-shadow:0 5px 20px #0006; border-radius:3px; }
#overlord-hud[hidden] { display:none; }
.overlord-profile { display:grid; grid-template-columns:72px minmax(0,1fr); gap:10px; align-items:center; padding:9px; }
.overlord-profile .overlord-portrait { width:100%; height:100px; object-fit:contain; }
.overlord-profile .eyebrow { display:block; font:9px Consolas,monospace; color:#c5a98a; letter-spacing:.5px; }
.overlord-profile strong { display:block; font:600 14px sans-serif; color:#ebded0; margin:4px 0 7px; }
.overlord-segments>div { display:grid; grid-template-columns:45px minmax(0,1fr) 34px; gap:5px; align-items:center; margin-top:5px; font:10px Consolas,monospace; text-transform:uppercase; color:#bacbd0; }
.overlord-segments i { height:7px; background:#283947; display:block; overflow:hidden; }
.overlord-segments b { height:100%; display:block; transition:width .2s; }
.overlord-segments small { font:10px Consolas,monospace; text-align:right; }
.overlord-condition { display:block; margin-top:5px; color:#dac18c; font:10px Consolas,monospace; }
@media(max-width:760px) { #overlord-hud { width:260px; top:57px; left:8px; } .overlord-profile { grid-template-columns:50px minmax(0,1fr); } .overlord-profile .overlord-portrait { height:84px; } }

.overlord-intent { display:block; padding-top:7px; color:#f0b892; font:600 10px Consolas,monospace; }
