/* Atlas: una pieza cartográfica estable, no un fondo decorativo a pantalla completa. */
.atlas-historico { width:100%; max-width:620px; margin-inline:auto; min-width:0; overflow:hidden; border:1px solid var(--border,#d4dce9); border-radius:24px; background:var(--surface,#fff); color:var(--text,#14213d); box-shadow:0 12px 40px #203d6510; }
.atlas-cab { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 24px 0; font:600 .84rem/1.5 var(--f-ui,sans-serif); }
.atlas-cab [data-atlas-modo] { color:var(--text-secondary,#53617a); font-weight:500; }
.atlas-mapa { position:relative; width:100%; height:320px; isolation:isolate; background:radial-gradient(ellipse at 50% 58%,#dcebf588,transparent 70%); }
.atlas-escena { position:absolute; inset:0; }
.atlas-plano { display:block; width:100%; height:100%; padding:24px 12px; overflow:visible; }
.atlas-reticula { fill:none; stroke:#cad9e3; stroke-width:.3; }
.atlas-tierra { fill:#a8c2bd; stroke:#719793; stroke-width:.35; }
.atlas-puntos circle { fill:#4f46e5; stroke:#fff; stroke-width:.65; transition:r 160ms ease; }
.atlas-puntos .seleccionado circle { fill:#b45309; r:4; }
.atlas-puntos a:focus-visible circle { stroke:var(--text,#14213d); stroke-width:2; r:5; }
.atlas-herramientas { min-height:44px; padding:0 20px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.atlas-herramientas[hidden],.atlas-escena[hidden] { display:none; }
.atlas-capacidad { min-height:44px; margin:0; padding:12px 24px; color:var(--text-secondary,#53617a); font:400 .75rem/1.5 var(--f-ui,sans-serif); }
.atlas-capacidad[hidden] { display:none; }
.atlas-ayuda { color:var(--text-secondary,#53617a); font-size:.76rem; }
.atlas-giro { display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
.atlas-giro button { border:1px solid var(--border,#d4dce9); border-radius:10px; background:var(--surface,#fff); color:var(--text,#14213d); min-height:44px; min-width:44px; padding:6px 10px; cursor:pointer; font:600 1.15rem/1 var(--f-ui,sans-serif); }
.atlas-giro button[data-atlas-vista] { font-size:.76rem; font-weight:500; }
.atlas-giro button:disabled { opacity:.45; cursor:default; }
.atlas-giro button:not(:disabled):hover,.atlas-selector button:not(:disabled):hover { background:var(--surface-soft,#eef3fb); }
.atlas-lienzo:focus-visible { outline:3px solid var(--primary,#4f46e5); outline-offset:-5px; border-radius:16px; }
.atlas-contenido { position:relative; padding:16px 24px 18px; }
.atlas-fecha { color:var(--explore,#0f766e); font:650 .84rem/1.4 var(--f-ui,sans-serif); margin:0 0 5px; }
.atlas-contenido [data-atlas-titulo] { font:600 clamp(1.15rem,1.9vw,1.6rem)/1.25 var(--f-lectura,serif); margin:0 0 8px; letter-spacing:-.025em; }
.atlas-resumen { font:400 .88rem/1.55 var(--f-ui,sans-serif); color:var(--text-secondary,#53617a); margin:0 0 9px; max-width:65ch; }
.atlas-enlace { display:inline-flex; min-height:32px; align-items:center; gap:10px; font:650 .86rem/1.4 var(--f-ui,sans-serif); color:var(--primary,#4f46e5); text-decoration:underline; text-underline-offset:3px; }
.atlas-controles { padding:15px 24px; border-block:1px solid var(--border,#d4dce9); background:var(--surface-soft,#f5f7fc); }
.atlas-controles label { display:block; font:600 .8rem/1.4 var(--f-ui,sans-serif); margin-bottom:8px; }
.atlas-selector { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; gap:8px; }
.atlas-selector select { min-width:0; width:100%; height:44px; padding:6px 26px 6px 9px; font:500 .82rem/1.3 var(--f-ui,sans-serif); color:var(--text,#14213d); background:var(--surface,#fff); border:1px solid var(--border,#d4dce9); border-radius:9px; text-overflow:ellipsis; }
.atlas-selector button { min-height:44px; border:1px solid var(--border,#d4dce9); border-radius:9px; background:var(--surface,#fff); color:var(--text,#14213d); font-size:1.1rem; cursor:pointer; }
.atlas-selector button:disabled { opacity:.4; cursor:default; }
.atlas-nota { padding:12px 24px; margin:0; font:400 .7rem/1.5 var(--f-ui,sans-serif); color:var(--text-secondary,#53617a); }
.atlas-nota a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
.atlas-estado:not(.oculto-visual) { margin:0; padding:8px 24px; font-size:.8rem; }
html[data-theme="dark"] .atlas-mapa { background:radial-gradient(ellipse at 50% 58%,#1d4b623b,transparent 70%); }
html[data-theme="dark"] .atlas-reticula { stroke:#355775; }
html[data-theme="dark"] .atlas-tierra { fill:#537e84; stroke:#82a5a7; }
html[data-theme="dark"] .atlas-puntos circle { stroke:#15243f; fill:#b1acff; }
html[data-theme="dark"] .atlas-puntos .seleccionado circle { fill:#f2b36e; }
html[data-theme="dark"] .atlas-fecha { color:#79d5c6; }
html[data-theme="dark"] .atlas-enlace { color:#b6b3ff; }
@media(max-width:650px) {
  .atlas-historico { border-radius:20px; }
  .atlas-mapa { height:250px; }
  .atlas-cab { padding:15px 18px 0; font-size:.77rem; }
  .atlas-contenido { padding:13px 18px 16px; }
  .atlas-controles { padding:13px 18px; }
  .atlas-nota { padding:11px 18px; }
  .atlas-herramientas { padding:0 14px; gap:4px; }
  .atlas-ayuda { font-size:.7rem; max-width:90px; }
  .atlas-resumen { font-size:.85rem; }
}
@media(max-width:360px) { .atlas-ayuda { display:none; } .atlas-herramientas { justify-content:center; } .atlas-selector { gap:5px; } }
@media(prefers-reduced-motion:reduce) { .atlas-puntos circle { transition:none; } }
html[data-movimiento="no"] .atlas-puntos circle { transition:none; }

