/* Map layers, layer legends, coordinate readout and location provenance shared by every Atlas map. */
.atlas-layer-menu { position: relative; display: flex; flex-direction: column; align-items: flex-end; }
.atlas-layer-toggle { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 3px; width: auto; min-width: 34px; padding: 0 8px; border: 1px solid rgba(255,255,255,.26); border-radius: 8px; background: rgba(20,24,30,.92); box-shadow: 0 2px 8px rgba(0,0,0,.25); }
.atlas-layer-toggle:last-child { border-right: 1px solid rgba(255,255,255,.26); }
.geo-mode .atlas-layer-toggle { border-color: rgba(255,153,0,.55); background: rgba(35,40,48,.94); }
.atlas-layer-toggle span { min-width: 15px; height: 15px; padding: 0 4px; border-radius: 999px; background: #59f6d1; color: #042127; font-size: .6rem; font-weight: 800; line-height: 15px; }
.atlas-layer-panel { position: absolute; top: calc(100% + 6px); right: 0; z-index: 2; display: grid; gap: 9px; width: 238px; max-height: min(330px, 60vh); overflow: auto; padding: 10px 11px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: rgba(4,22,28,.96); color: #eafff9; box-shadow: 0 6px 18px rgba(0,0,0,.4); }
.atlas-layer-row { display: grid; gap: 3px; }
.atlas-layer-row label { display: flex; align-items: center; gap: 7px; font-size: .76rem; font-weight: 650; cursor: pointer; }
.atlas-layer-row input { accent-color: #59f6d1; }
.atlas-layer-row a { padding-left: 22px; color: #9fd8cf; font-size: .64rem; text-decoration: none; }
.atlas-layer-row a:hover { text-decoration: underline; }
.atlas-layer-row small, .atlas-layer-panel > small { padding-left: 22px; color: #f5c46b; font-size: .64rem; line-height: 1.35; }
.atlas-layer-row select { margin-left: 22px; max-width: calc(100% - 22px); border: 1px solid rgba(255,255,255,.2); border-radius: 6px; padding: 5px 6px; background: #102e34; color: #effffb; font: inherit; font-size: .68rem; }

.atlas-map-bottom-left { position: absolute; left: 0; bottom: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; max-width: 58%; pointer-events: none; }
.atlas-map-bottom-left > * { pointer-events: auto; }
.atlas-map-bottom-left .nerss-map-legend { position: static; max-width: none; }
.atlas-layer-legend { display: grid; gap: 7px; max-width: 250px; padding: 7px 9px; border-radius: 8px; background: rgba(4,22,28,.9); color: #e3f5f1; font-size: .64rem; }
.atlas-layer-legend > div { display: grid; gap: 3px; }
.atlas-layer-legend b { display: flex; align-items: center; gap: 5px; font-size: .66rem; }
.atlas-layer-legend small { color: #a9c9c4; font-size: .6rem; line-height: 1.3; }
.atlas-ramp { display: block; width: 130px; height: 7px; border-radius: 4px; }
.atlas-steps { display: flex; gap: 1px; }
.atlas-steps i { width: 22px; height: 7px; }
.atlas-steps i:first-child { border-radius: 4px 0 0 4px; }
.atlas-steps i:last-child { border-radius: 0 4px 4px 0; }
.atlas-swatch { width: 10px; height: 10px; display: inline-block; border-radius: 2px; }

.atlas-coords { display: grid; gap: 1px; min-width: 190px; padding: 6px 9px; border: 1px solid rgba(255,153,0,.45); border-radius: 8px; background: rgba(18,22,30,.94); color: #f4efe6; font: inherit; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .66rem; text-align: left; cursor: copy; }
div.atlas-coords { cursor: default; }
.atlas-coords small { color: #ffb84d; font-family: inherit; font-size: .58rem; letter-spacing: .03em; }
.atlas-scale { display: grid; gap: 3px; margin-top: 4px; }
.atlas-scale i { display: block; height: 11px; border: 1.5px solid #f4efe6; border-top: 0; color: #f4efe6; font-size: .56rem; font-style: normal; line-height: 9px; text-indent: 3px; white-space: nowrap; }
.atlas-scale i + i { border-top: 1.5px solid #f4efe6; border-bottom: 0; line-height: 11px; }

.nerss-map-selected { max-height: 190px; }
.atlas-point-coords { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .6rem !important; opacity: .85; }
.atlas-point-context { color: #ffe3a8 !important; }
.atlas-layer-popup span { display: block; margin-top: 3px; font-size: .72rem; }
.atlas-air-label { border: 0 !important; background: transparent !important; box-shadow: none !important; color: #111 !important; font-size: 10px !important; font-weight: 800; text-shadow: 0 0 2px #fff; }
.atlas-air-label::before { display: none; }

.geo-mode .atlas-layer-panel, .geo-mode .atlas-layer-legend { border-color: rgba(255,153,0,.48); background: rgba(18,22,30,.95); }
.geo-mode .atlas-layer-toggle span { background: #ffb84d; }
.geo-mode .atlas-layer-row input { accent-color: #ffb84d; }

@media (max-width: 768px) {
    .atlas-map-bottom-left { max-width: 70%; }
    .atlas-layer-legend { max-width: 200px; }
    .atlas-coords { min-width: 0; }
}
