.section-nav{display:flex;align-items:center;gap:6px;margin-left:auto;margin-right:24px}.section-nav button{background:transparent;border:0;border-bottom:2px solid transparent;color:#aaa;padding:18px 14px;font:800 13px 'Exo 2',sans-serif;letter-spacing:.06em;text-transform:uppercase}.section-nav button.active{color:var(--red);border-color:var(--red)}.section-nav button:hover{color:var(--text)}
.maps-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:26px 0}.maps-search{width:min(480px,80%);display:flex;flex-direction:column;gap:8px;font-size:12px;color:#bfc0c2}.maps-search input{width:100%;padding:13px;background:#1b1c1e;border:1px solid var(--line);color:var(--text);font:inherit}.maps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.map-card{padding:0;border:1px solid var(--line);background:#161718;color:var(--text);text-align:left;cursor:pointer;overflow:hidden;transition:border-color .15s}.map-card:hover{border-color:var(--red)}.map-cover{aspect-ratio:16/9;background:#0b0c0d;overflow:hidden;display:grid;place-items:center}.map-cover img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.map-card:hover img{transform:scale(1.025)}.map-card-body{padding:20px}.map-card-body .eyebrow{font-size:10px;color:var(--amber);letter-spacing:.08em}.map-card h2{margin:10px 0 20px;text-transform:uppercase;font-size:25px;font-weight:900}.map-card-caption{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#aaa}.map-card-caption>span{color:#eee;font-size:10px;font-weight:800;letter-spacing:.07em}
.map-dialog{position:relative;display:flex;flex-direction:column;width:min(1260px,calc(100vw - 48px));height:min(880px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);background:#151617;border:1px solid #3a3c40;margin:auto;overflow:auto;box-shadow:0 24px 100px #000b}.map-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 26px;background:#0d0e0f;border-bottom:1px solid var(--line)}.map-dialog-head h2{font-size:28px;text-transform:uppercase;margin:4px 0 0;font-weight:900}.map-dialog-head .eyebrow{font-size:9px;color:var(--amber)}.map-close{font-size:30px;padding:8px;line-height:1}.map-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 26px}.map-view-toolbar label{display:flex;align-items:center;gap:10px;font-size:11px;color:#aaa;flex:1;min-width:0}.map-view-toolbar select{max-width:100%;min-width:0;background:#232528;color:var(--text);border:1px solid #424447;padding:10px;font:600 12px 'Exo 2',sans-serif}.map-view-actions{display:flex;gap:6px;flex-shrink:0}.map-view-actions .button{padding:10px;font-size:10px}
.map-stage{position:relative;flex:1;min-height:220px;background:radial-gradient(ellipse at center,#252c31,#0c1013);overflow:hidden;margin:0 26px;border:1px solid #31383e}.map-stage canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-4px}.map-controls{position:absolute;bottom:16px;right:16px;display:flex;gap:5px}.map-controls button{width:38px;height:38px;border:1px solid #5b6065;background:#14181de8;color:#fff;font-size:22px}.map-controls button:hover{background:#353c43}.map-dialog #map-load-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:14px 20px;background:#0c1013e8;color:#ddd;text-align:center;font-size:13px;max-width:85%;pointer-events:none}.map-dialog #map-load-status:empty{display:none}.map-dialog #map-load-status.error{color:#ffabb4;pointer-events:auto}.map-dialog-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:14px 26px;font-size:11px;color:#999;background:transparent}.map-performance{padding:8px 26px;font-size:11px}.map-performance pre{font-size:11px;white-space:pre-wrap;margin:8px 0}.map-dialog:fullscreen{width:100vw;height:100dvh;max-height:none;border:0}.map-dialog:fullscreen::backdrop{background:#0c1013}
@media(max-width:950px){.maps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{gap:12px}.section-nav{margin-right:0}.topbar>.text-button{font-size:9px}.map-view-toolbar{flex-wrap:wrap}.map-view-toolbar label{flex-basis:100%}.map-view-toolbar select{flex:1}.map-view-actions{width:100%;justify-content:flex-end}}
@media(max-width:600px){.topbar{height:auto;min-height:64px;flex-wrap:wrap;padding-top:12px;padding-bottom:0}.brand{font-size:12px}.brand small{font-size:7px}.section-nav{order:3;flex-basis:100%;margin:0}.section-nav button{flex:1;padding:11px}.topbar>.text-button{margin-left:auto}.maps-grid{grid-template-columns:1fr;gap:16px}.maps-toolbar{margin:20px 0}.map-card-body{padding:16px}.map-dialog{width:100vw;height:100dvh;max-height:100dvh;border:0}.map-dialog-head{padding:15px 16px}.map-dialog-head h2{font-size:24px}.map-view-toolbar{padding:12px 16px;gap:10px}.map-stage{margin:0 12px}.map-dialog-footer{padding:12px 16px;font-size:10px}.map-view-actions .button{flex:1}.map-controls{bottom:12px;right:12px}.map-performance{padding:8px 16px}}
#overlay.map-overlay{position:fixed;inset:0;z-index:12;display:flex;background:#000b;padding:0}
@media(prefers-reduced-motion:reduce){.map-card,.map-cover img{transition:none}}

.map-fallback{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}.model-unavailable .map-fallback{display:block}.model-unavailable canvas{visibility:hidden}.model-unavailable .map-controls{display:none}

.map-stage canvas:focus-visible{outline:2px solid var(--red);outline-offset:-4px}

/* Equal side columns keep the section switch at the center of the page. */
.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.topbar>.brand{justify-self:start}.topbar>.text-button{justify-self:end}.section-nav{margin:0;justify-self:center}
.map-fullscreen{display:grid;place-items:center;background:none;border:0;color:var(--text);width:40px;height:40px;padding:7px;cursor:pointer}
.map-fullscreen:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.map-objective-toolbar,.map-detail-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:0 26px 12px;font-size:12px}
.map-objective-toolbar label,.map-detail-toolbar label{display:flex;align-items:center;gap:8px}.map-objective-toolbar>span{color:#969ca2;font-size:10px;margin-left:auto}
.map-objective-toolbar select,.map-detail-toolbar select{background:#232528;color:var(--text);border:1px solid #424447;padding:7px;font:inherit}
.map-objective-toggle{cursor:pointer}.map-objective-toggle input{accent-color:var(--red)}
.map-objective-note{margin:0;padding:0 26px 12px;color:#aaa;font-size:11px}
#map-objectives{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.map-objective-marker{position:absolute;left:0;top:0;transform:translate(-50%,-50%);pointer-events:auto;min-width:28px;height:28px;border:2px solid #fff;border-radius:50%;background:#d72e36;color:white;font:800 12px 'Exo 2',sans-serif;padding:0 5px;box-shadow:0 2px 6px #000b;cursor:pointer;white-space:nowrap}
.map-objective-marker[data-type=bomb]{border-radius:4px;background:#976300}.map-objective-marker:focus-visible,.map-objective-marker[aria-pressed=true]{outline:3px solid #ffc04d;outline-offset:3px;z-index:2}
#map-objective-info{margin:8px 26px 0;padding:10px 14px;border-left:3px solid var(--amber);background:#202225;font-size:12px}
.map-mode-tabs{display:flex;gap:4px}.map-mode-tabs button{border:1px solid var(--line);background:#101112;color:#ccc;padding:8px 12px;font:700 11px 'Exo 2',sans-serif}.map-mode-tabs button[aria-pressed=true]{background:#eee;color:#111}.map-mode-tabs small{font-weight:400;font-size:9px;display:block}
#map-navigation{margin-left:auto}.map-detail-toolbar [hidden]{display:none}
@media(max-width:700px){.topbar{grid-template-columns:minmax(0,1fr) auto;height:auto;padding-top:10px}.topbar>.brand{grid-column:1}.topbar>.text-button{grid-column:2;grid-row:1;margin:0}.section-nav{grid-column:1/-1;grid-row:2;justify-self:stretch;justify-content:center}.section-nav button{flex:0 1 140px}.map-objective-toolbar,.map-detail-toolbar{padding:0 16px 10px;gap:10px}.map-objective-toolbar>span{flex-basis:100%;margin:0}.map-objective-note{padding:0 16px 10px}.map-view-actions{width:auto;margin-left:auto}.map-view-actions .button{flex:none}#map-objective-info{margin:8px 12px 0}}
@media(pointer:coarse){#map-navigation{display:none}}
.model-unavailable #map-objectives{display:none}

.map-profile-metrics{color:#969ca2;font-size:11px}.detail-build-action label{display:flex;align-items:center;gap:8px}.detail-build-action select{background:#232528;color:var(--text);border:1px solid #424447;padding:7px;font:inherit}

.map-detail-toolbar[hidden]{display:none}
.map-objective-marker[data-type=hq]{display:flex;align-items:center;gap:4px;height:27px;border-radius:4px;padding:0 7px;font-size:11px}
.map-objective-marker[data-type=hq][data-team="0"]{background:#1765a4;border-color:#b5dcff}
.map-objective-marker[data-type=hq][data-team="1"]{background:#a95013;border-color:#ffd2a5}
.map-objective-marker[data-type=hq] svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.map-objective-marker[data-type=hq][hidden]{display:none}
.map-filters{position:relative;z-index:5}.map-filters>summary{list-style:none;cursor:pointer;border:1px solid #51565a;background:#232528;padding:8px 12px;color:#eee;font-weight:700}.map-filters>summary::-webkit-details-marker{display:none}.map-filters>summary::after{content:' ▾'}.map-filters>summary:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.map-filter-panel{position:absolute;top:calc(100% + 5px);left:0;width:min(340px,calc(100vw - 40px));max-height:min(55vh,460px);overflow:auto;background:#1c1e20;border:1px solid #555b60;box-shadow:0 8px 24px #000b;padding:12px;color:#eee}.map-filter-group{display:grid;gap:9px}.map-filter-group+.map-filter-group{border-top:1px solid #45484b;margin-top:12px;padding-top:12px}.map-filter-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.map-filter-group input{accent-color:var(--red)}.map-filter-group p{margin:0;color:#b6b9bd;font-size:11px}.map-vehicle-filter>label{min-height:32px}.map-vehicle-filter img,.map-vehicle-placeholder{width:38px;height:28px;object-fit:contain;flex:none}.map-vehicle-count{margin-left:auto;color:#b6b9bd}.map-vehicle-locations{display:flex;flex-wrap:wrap;gap:5px;padding:4px 0 0 24px}.map-vehicle-locations button{border:1px solid #50565b;background:#292d30;color:#eee;padding:5px 7px;font:inherit;font-size:10px}.map-vehicle-locations button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.map-vehicle-locations{display:block;padding:0}.map-vehicle-locations summary{cursor:pointer;color:#ddd;font-size:11px}.map-vehicle-locations>div{display:grid;gap:4px;max-height:140px;overflow:auto;margin-top:6px}.map-vehicle-locations button{text-align:left}
@media(max-width:700px){.map-objective-toolbar{position:relative}.map-filters{position:static}.map-filter-panel{left:12px;right:12px;top:100%;width:auto;box-sizing:border-box}}
/* Map controls float above the full-size canvas. */
.map-dialog{overflow:hidden}
.map-dialog-head{flex:none;padding:7px 16px;min-height:42px}
.map-dialog-head h2{font-size:18px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.map-close{padding:2px 6px}
.map-dialog-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.map-stage{min-height:0;margin:0;border:0}
.map-settings{position:absolute;z-index:5;top:12px;left:12px;max-width:calc(100% - 24px);color:#eee}
.map-settings>summary,.map-help>summary{list-style:none;cursor:pointer;background:#14181df2;border:1px solid #555e66;padding:8px 12px;font-size:12px;font-weight:700}
.map-settings>summary::-webkit-details-marker,.map-help>summary::-webkit-details-marker{display:none}
.map-settings>summary::after,.map-help>summary::after{content:' ▾'}
.map-settings-panel{display:flex;align-items:center;flex-wrap:wrap;gap:8px;background:#14181df2;border:1px solid #555e66;padding:8px;max-width:100%;box-sizing:border-box}
.map-view-toolbar,.map-detail-toolbar,.map-objective-toolbar{padding:0;gap:8px}
.map-view-toolbar label{flex:none}.map-view-toolbar select{padding:7px;max-width:240px}
.map-objective-toolbar>span{display:none}.map-objective-toolbar{position:static}
#map-navigation{margin:0}.map-mode-tabs button{padding:7px}
.map-filters{position:relative}.map-filter-panel{left:0;right:auto;top:calc(100% + 5px);width:min(340px,calc(100vw - 40px))}
.map-controls{z-index:4;bottom:12px;right:12px;flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 24px)}
.map-controls button[data-action=map-top]{font-size:11px;font-weight:700}
.map-controls .map-fullscreen{padding:7px}
.map-help{position:absolute;z-index:4;bottom:12px;left:12px;max-width:min(420px,calc(100% - 24px))}
.map-help[open]{bottom:58px}.map-dialog-footer{display:grid;gap:8px;padding:12px;background:#14181df2;border:1px solid #555e66;color:#ddd}
.map-performance{padding:0}.map-selection{position:absolute;z-index:4;left:12px;bottom:58px;display:flex;align-items:start;max-width:min(420px,calc(100% - 24px));background:#202225;border-left:3px solid var(--amber)}
.map-selection:has(#map-objective-info[hidden]){display:none}
#map-objective-info{margin:0;padding:10px 12px;border:0;background:none;overflow-wrap:anywhere}
.map-selection button{border:0;background:none;color:#eee;font-size:20px;padding:4px 9px;cursor:pointer}
.map-selection:has(+ .map-help[open]){bottom:160px}
.map-settings summary:focus-visible,.map-help summary:focus-visible,.map-controls button:focus-visible,.map-selection button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
@media(max-width:700px){
 .map-dialog-head{padding:7px 12px}.map-dialog-head h2{font-size:16px}
 .map-settings-panel{display:grid;max-height:calc(100dvh - 150px);overflow:visible;width:min(330px,calc(100vw - 24px))}
 .map-view-toolbar label{flex-basis:auto}.map-view-toolbar select{flex:1;max-width:100%}
 .map-detail-toolbar,.map-objective-toolbar{padding:0;gap:8px}
 .map-filter-panel{left:0;right:auto;top:calc(100% + 5px);max-height:min(45vh,360px)}
 .map-controls{bottom:10px;right:10px;gap:3px}.map-controls button{width:34px;height:34px}
 .map-help{bottom:10px;left:10px}.map-help[open]{bottom:52px}
 .map-selection{left:10px;bottom:52px}.map-selection:has(+ .map-help[open]){bottom:155px}
}
.model-unavailable .map-controls{display:flex}
.map-notices{position:absolute;z-index:4;left:12px;bottom:12px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:min(420px,calc(100% - 24px));max-height:calc(100% - 24px)}
.map-notices:has(.map-help[open]){bottom:58px}
.map-notices .map-help,.map-notices .map-help[open],.map-notices .map-selection,.map-notices .map-selection:has(+ .map-help[open]){position:static;max-width:100%}
.map-notices .map-dialog-footer{max-height:min(40vh,300px);overflow:auto}
@media(max-width:700px){.map-notices{left:10px;bottom:10px;max-width:calc(100% - 20px)}.map-notices:has(.map-help[open]){bottom:52px}}
.map-stage details{border-top:0;padding:0}
.map-bounds-filter strong{font-size:11px;color:#e6ebef}.map-bounds-filter small{display:block;color:#adb8bf;font-size:10px;line-height:1.4}.map-bound-swatch{width:14px;height:8px;border:1px solid #bdd8e8;background:#c5d3db55;border-radius:2px}.map-bound-team[data-team="0"] .map-bound-swatch{border-color:#45aaf2;background:#45aaf244}.map-bound-team[data-team="1"] .map-bound-swatch{border-color:#ffa348;background:#ffa34844}
.map-vehicle-locations button:hover{background:#343c43;border-color:#8daab9}.map-vehicle-locations button:focus-visible{background:#343c43}.map-vehicle-locations button[aria-pressed="true"]{background:#4b3820;border-color:#ffdf72;color:#fff}
@media(max-width:700px){.map-objective-toolbar{position:relative;width:100%}.map-filters{position:static}.map-filter-panel{left:0;right:0;width:auto;top:calc(100% + 5px)}}
.map-controls button[data-action=map-top]{width:auto;padding:0 10px;white-space:nowrap}
.map-top-short{display:none}
@media(max-width:700px){.map-controls button[data-action=map-top]{width:34px;padding:0}.map-top-label{display:none}.map-top-short{display:inline}}
