#campaignContext{position:absolute;z-index:14;left:24px;bottom:100px;width:min(760px,calc(100% - 48px));color:#dfd5b9;background:#0e252df5;border:1px solid #bbaa754d;border-radius:9px;box-shadow:0 12px 40px #0005;overflow:hidden}#campaignContext[hidden]{display:none}#campaignContext header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid #b4ad7938}#campaignContext header>div:first-child{min-width:0}#campaignContext header small{display:block;font-size:9px;letter-spacing:1.5px;color:#b0b795}#campaignContext header strong{display:block;font:20px Georgia;margin-top:4px;overflow-wrap:anywhere}#campaignContext .context-body{padding:12px 16px;max-height:32vh;overflow:auto;overscroll-behavior:contain}#campaignContext.compact header{border:0}#campaignContext p{font-size:12px;line-height:1.5;margin:7px 0}#campaignContext button{border:1px solid #adab7752;background:#1b373c;color:#e5d3a6;border-radius:5px;min-height:38px;padding:8px 11px;font-size:11px;cursor:pointer}#campaignContext button:disabled{opacity:.45;cursor:default}#campaignContext button:hover:not(:disabled){background:#35483e}#campaignContext button[aria-pressed=true]{border-color:#debf7b;color:#f6dda1;background:#3b4638}#campaignContext select,#campaignContext input{box-sizing:border-box;background:#112d34;color:#e5d9b8;border:1px solid #a9b38d4a;padding:9px;font-size:12px;max-width:100%;border-radius:4px}#campaignContext label{font-size:11px;color:#a6b8a7}#campaignContext .context-check{display:flex;gap:7px;align-items:center;margin:5px 0}#campaignContext .context-check input{width:17px;height:17px;accent-color:#d5b97b}.context-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.context-actions label{display:flex;gap:6px;align-items:center}.context-actions select{width:auto}.context-metrics{display:flex;gap:20px;flex-wrap:wrap;font-size:10px;color:#adc0ae}.context-metrics b{display:block;color:#e5d3a6;font-size:17px;margin:4px 0}.context-tabs{display:flex;gap:6px;margin:10px 0}.construction-slots{display:flex;gap:8px;overflow-x:auto;padding:4px 0}.construction-slots button{flex:0 0 105px;display:flex;flex-direction:column;align-items:center;gap:5px}.construction-slots button>span{font-size:24px;color:#d9c28a}.construction-slots small{font-size:10px;color:#a4b5a3}.empty-slot{border-style:dashed!important}.context-buildings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.context-building{display:flex;gap:10px;padding:10px;background:#233b3f;border:1px solid #aab29a30;border-radius:5px;min-width:0}.context-building>span{font-size:25px;color:#cab47c}.context-building b{font:15px Georgia;display:block}.context-building small{display:block;font-size:10px;color:#b0bca7;line-height:1.5;margin:5px 0}.context-building.unavailable{opacity:.7}.context-queues{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.context-queues>div{min-width:150px;flex:1;background:#cbb57b0d;border-left:2px solid #c4ae74;padding:8px;font-size:10px}.context-queues span,.context-queues small{display:block;color:#a9bca9;margin-top:5px}.context-queues progress{display:block;width:100%;height:5px;margin:7px 0;accent-color:#ddc481}.context-unit-toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;font-size:10px;color:#aabcaa;margin-top:10px}.campaign-unit-cards{display:flex;overflow-x:auto;gap:7px;padding:8px 1px 10px;scroll-snap-type:x proximity}.campaign-unit{flex:0 0 110px;display:flex;flex-direction:column;gap:6px;align-items:stretch;scroll-snap-align:start;min-width:0}.campaign-unit b{font:14px Georgia;min-height:32px}.campaign-unit small{font-size:10px;color:#c3cbb3}.campaign-unit progress{width:100%;height:5px;accent-color:#9ac995}.campaign-unit .unit-symbol{font-size:30px;color:#d8c18c}.campaign-unit.selected{border:2px solid #f0d28c!important;background:#43513b!important}.context-army-summary{display:flex;flex-direction:column;gap:6px;font-size:11px;margin-bottom:10px}.context-army-summary small{color:#aabcaa}.route-now-key,.route-later-key{display:inline-block;width:18px;height:3px;vertical-align:middle;background:#8ddd9e}.route-later-key{background:#e7c37b}.campaign-selected #researchHUD{display:none}.panel-open #campaignContext{width:calc(100% - 520px);max-width:760px}.campaign-selected .terrain-info{display:none}.campaign-selected #campaignState{max-width:270px}#campaignContext .unit-recruit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#campaignContext .unit-art{height:36px;font-size:27px}#campaignContext .unit-recruit-card{padding:9px}#campaignContext .unit-recruit-card h4{font-size:14px}#campaignContext .unit-recruit-card .action{width:100%}#campaignContext .mil-queue{margin:0;width:100%}
@media(max-width:1000px){#campaignContext{left:14px;bottom:150px;width:calc(100% - 28px)}.panel-open #campaignContext{width:calc(100% - 460px)}#campaignContext header{align-items:flex-start;flex-wrap:wrap}#campaignContext .context-body{max-height:30vh}.context-buildings{grid-template-columns:1fr}#campaignContext .unit-recruit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){#campaignContext,.panel-open #campaignContext{left:12px;bottom:149px;width:calc(100% - 24px);max-width:none}#campaignContext header{padding:9px 10px;gap:8px}#campaignContext header strong{font-size:17px}#campaignContext .context-body{max-height:28vh;padding:9px 10px}#campaignContext button{min-height:44px;padding:8px 10px}#campaignContext .context-tabs{flex-wrap:wrap}.context-unit-toolbar>span{display:none}.campaign-selected.panel-open #panel{bottom:calc(28vh + 225px);max-height:calc(72vh - 390px);min-height:95px}.campaign-selected.panel-open:has(#campaignContext.compact) #panel{bottom:235px;max-height:calc(100% - 310px)}.context-metrics{gap:14px}.context-metrics b{font-size:15px}.context-actions{gap:5px}.campaign-selected #campaignState,.campaign-selected #alertHUD{display:none}#campaignContext .campaign-unit{flex-basis:104px}.context-route-status{font-size:10px!important}}
@media(prefers-reduced-motion:reduce){#campaignContext *{scroll-behavior:auto!important;transition:none!important}}
/* The application HUD uses a fixed header; the contextual header stays inside its dock. */
#campaignContext>header{position:static;inset:auto;height:auto;min-height:0;width:auto;box-sizing:border-box;margin:0;background:transparent;box-shadow:none;z-index:auto}
@media(max-width:650px){.campaign-selected.panel-open #panel{bottom:calc(var(--campaign-context-height,340px) + 161px);max-height:none;min-height:70px}.campaign-selected.panel-open:has(#campaignContext.compact) #panel{bottom:calc(var(--campaign-context-height,90px) + 161px);max-height:none}}
@media(min-width:651px){#campaignContext,.panel-open #campaignContext{width:min(600px,calc(50% - 48px))}}
.context-reservations{border-top:1px solid #adab7740;padding-top:9px;color:#c7bb91;font-size:10px!important}
/* Reserve the lower touch command area without rotating the globe away from the selected place. */
@media(max-width:650px){body.campaign-selected:not(.panel-open) #map,body.campaign-selected:not(.panel-open) #epochTerrain{transform:translateY(-18vh);transition:transform .18s ease}}
@media(prefers-reduced-motion:reduce){body.campaign-selected #map,body.campaign-selected #epochTerrain{transition:none!important}}
