/* ====== Atlas page styles ====== */
.atlas-shell { position: fixed; inset: var(--nav-h) 0 0 0; display: grid; grid-template-columns: 340px 1fr; }
.atlas-rail {
  background: var(--bg2); border-right: 1px solid var(--line);
  overflow-y: auto; padding: 26px 24px 60px;
}
.atlas-rail::-webkit-scrollbar { width: 8px; }
.atlas-rail::-webkit-scrollbar-thumb { background: var(--line); border-radius: 4px; }
.atlas-rail h1 { font-family: var(--font-display); font-weight: 400; font-size: 2rem; color: var(--ink); line-height: 1; margin-bottom: 8px; }
.atlas-rail .sub { color: var(--muted); font-size: 0.92rem; margin-bottom: 24px; }
.rail-group { margin-bottom: 26px; }
.rail-group h4 { font-family: var(--font-mono); font-size: 0.56rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-dim); margin-bottom: 14px; display: flex; justify-content: space-between; }
.rail-disc { display: flex; align-items: center; gap: 10px; padding: 7px 0; cursor: pointer; transition: opacity 0.2s; }
.rail-disc .sw { width: 11px; height: 11px; border-radius: 50%; box-shadow: 0 0 8px currentColor; flex-shrink: 0; }
.rail-disc .rn { font-size: 0.94rem; color: var(--ink-soft); }
.rail-disc .rc { margin-left: auto; font-family: var(--font-mono); font-size: 0.62rem; color: var(--dim); }
.rail-disc.off { opacity: 0.32; }
.rail-disc.off .sw { box-shadow: none; }
.rail-disc:hover .rn { color: var(--ink); }

.tier-row { display: flex; align-items: flex-start; gap: 11px; padding: 9px 0; cursor: pointer; transition: opacity 0.2s; }
.tier-row.off { opacity: 0.32; }
.tier-glyph { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; display: grid; place-items: center; }
.tier-glyph svg { width: 16px; height: 16px; }
.tier-row .tn { font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink); }
.tier-row .tx { font-size: 0.82rem; color: var(--muted); line-height: 1.35; margin-top: 2px; }

.atlas-map { position: relative; }
#map { position: absolute; inset: 0; background: var(--bg); }
.leaflet-container { background: #0a0908 !important; font-family: var(--font-mono) !important; }
.leaflet-control-attribution { background: rgba(8,7,6,0.7) !important; color: var(--dim) !important; font-size: 9px !important; }
.leaflet-control-attribution a { color: var(--muted) !important; }
.leaflet-bar a { background: var(--bg2) !important; color: var(--gold) !important; border-color: var(--line) !important; }
.leaflet-bar a:hover { background: var(--bg3) !important; }

.evi-marker { display: grid; place-items: center; }
.evi-popup .leaflet-popup-content-wrapper { background: var(--bg2); color: var(--ink); border: 1px solid var(--gold-dim); border-radius: 3px; box-shadow: 0 12px 40px rgba(0,0,0,0.6); }
.evi-popup .leaflet-popup-tip { background: var(--bg2); border: 1px solid var(--gold-dim); }
.evi-popup .leaflet-popup-content { margin: 16px 18px; font-family: var(--font-serif); }
.evi-pop .pd { font-family: var(--font-mono); font-size: 0.52rem; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 7px; display: flex; align-items: center; gap: 7px; }
.evi-pop .pd .pdot { width: 8px; height: 8px; border-radius: 50%; }
.evi-pop .pt { font-family: var(--font-display); font-size: 1.25rem; color: var(--gold-bright); line-height: 1.1; margin-bottom: 8px; }
.evi-pop .px { font-size: 0.95rem; color: var(--ink-soft); line-height: 1.45; margin-bottom: 12px; }
.evi-pop .pmeta { display: flex; justify-content: space-between; align-items: center; padding-top: 10px; border-top: 1px solid var(--line); font-family: var(--font-mono); font-size: 0.54rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.evi-pop .pmeta a { color: var(--gold); }

.map-badge {
  position: absolute; left: 18px; bottom: 18px; z-index: 500;
  background: rgba(8,7,6,0.82); backdrop-filter: blur(10px); border: 1px solid var(--line);
  padding: 11px 16px; font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--muted);
}
.map-badge b { color: var(--gold); }

.atlas-mobile-toggle { display: none; }
@media (max-width: 880px) {
  .atlas-shell { grid-template-columns: 1fr; }
  .atlas-rail {
    position: absolute; inset: 0 auto 0 0; width: min(86vw, 340px); z-index: 600;
    transform: translateX(-100%); transition: transform 0.4s var(--ease);
  }
  .atlas-shell.rail-open .atlas-rail { transform: none; }
  .atlas-mobile-toggle {
    display: block; position: absolute; left: 14px; top: 14px; z-index: 550;
    background: rgba(8,7,6,0.88); border: 1px solid var(--line); color: var(--gold);
    font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.14em; text-transform: uppercase;
    padding: 10px 14px; cursor: pointer;
  }
}
