.environment-map-grid{grid-template-columns:repeat(auto-fit,minmax(390px,1fr))}
.environment-map{display:grid;gap:14px}
.environment-map h3{margin:0}
.environment-toggles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 12px;padding:12px;border:1px solid var(--line-soft);border-radius:12px;background:#0b1722}
.environment-values{margin-top:12px}
.environment-map details summary{cursor:pointer;color:var(--accent-2);font-weight:800}
.environment-heatmap{position:relative;min-height:360px;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:linear-gradient(rgba(104,183,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(104,183,255,.06) 1px,transparent 1px),#09141e;background-size:10% 10%}
.heat-cell{position:absolute;width:18px;height:18px;border-radius:50%;transform:translate(-50%,-50%);background:rgba(255,92,72,var(--heat));box-shadow:0 0 16px rgba(255,120,57,var(--heat));border:1px solid rgba(255,210,120,.45)}
.heat-cell.positive{background:rgba(51,158,255,var(--heat));box-shadow:0 0 16px rgba(51,158,255,var(--heat));border-color:rgba(168,220,255,.7)}
.heat-cell.negative{background:rgba(255,77,95,var(--heat));box-shadow:0 0 16px rgba(255,77,95,var(--heat));border-color:rgba(255,178,185,.7)}
.heat-axis{position:absolute;left:10px;bottom:8px;color:var(--muted);font-size:11px}
.heat-empty{display:grid;min-height:330px;place-items:center;text-align:center;padding:20px}
.analytics-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin-top:16px}
.comparison-filters{padding-top:16px;border-top:1px solid var(--line);background:linear-gradient(90deg,rgba(74,167,255,.06),transparent);border-radius:10px}
.compare-switch{align-self:center}
.heatmap-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.heatmap-comparison article{min-width:0}
.environment-overlay{position:relative;min-height:480px;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#09141e}
.environment-overlay svg{display:block;width:100%;min-height:480px}
.route-line{stroke:#67b7ff;stroke-linecap:round}
.objective-dot{fill:rgba(183,117,255,.7);stroke:#dfbcff;stroke-width:2}
.spawn-dot{fill:rgba(74,222,128,.72);stroke:#b7ffd0;stroke-width:2}
.elimination-dot{fill:rgba(255,77,95,.72);stroke:#ffbdc4;stroke-width:2}
.overlay-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px}
.overlay-layout>*{min-width:0}
.overlay-layout .tablewrap{max-width:100%;overflow-x:auto}
.overlay-toggles{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.overlay-legend{position:absolute;left:12px;bottom:10px;display:flex;gap:12px;padding:7px 10px;border-radius:9px;background:rgba(5,14,22,.86);font-size:11px;color:var(--muted)}
.overlay-legend span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.objective-key:before{background:#b775ff}.spawn-key:before{background:#4ade80}.route-key:before{background:#67b7ff}.elimination-key:before{background:#ff4d5f}
#environment .pvp-toolbar{margin-bottom:18px}
@media(max-width:1100px){.heatmap-comparison{grid-template-columns:1fr 1fr}.heatmap-comparison article:last-child{grid-column:1/-1}.overlay-layout{grid-template-columns:1fr}}
@media(max-width:700px){.heatmap-comparison{grid-template-columns:1fr}.heatmap-comparison article:last-child{grid-column:auto}.environment-overlay,.environment-overlay svg{min-height:360px}}
@media(max-width:540px){.environment-map-grid{grid-template-columns:1fr}.environment-toggles{grid-template-columns:repeat(2,minmax(0,1fr))}}
