/* Atlas visual language — shared by public observatory and authenticated console */
.atlas-viewport{position:relative;overflow:hidden;touch-action:none;cursor:grab;isolation:isolate;background:radial-gradient(ellipse at 52% 43%,#143849 0%,#0a1c2a 65%,#091725 100%);outline-offset:-3px}
.atlas-viewport:focus-visible{outline:2px solid #a0e7d8}.atlas-viewport.is-dragging{cursor:grabbing}
.atlas-viewport:before{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,transparent 49.8%,#d7f8eb09 50%,transparent 50.2%),linear-gradient(transparent 49.8%,#d7f8eb09 50%,transparent 50.2%);background-size:68px 68px;pointer-events:none}
.atlas-viewport:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,#09172566,transparent 16%,transparent 82%,#091725a6),linear-gradient(90deg,#09172540,transparent 16%,transparent 85%,#09172540)}
.atlas-plane{position:absolute;left:50%;top:50%;width:1200px;height:540px;margin-left:-600px;margin-top:-270px;transform-origin:center;will-change:transform;pointer-events:none}
.atlas-plane>img,.atlas-plane>svg{position:absolute;inset:0;width:1200px;height:540px;user-select:none;pointer-events:none}
.atlas-plane>img{opacity:.92;filter:saturate(.85) hue-rotate(4deg)}
.atlas-site{cursor:pointer;pointer-events:all;outline:none}.atlas-halo{fill:#a4ffe51c;stroke:#85dec899;stroke-width:1;transform-origin:center;transform-box:fill-box}.atlas-dot{fill:#92f0d2;stroke:#0a2630;stroke-width:2.6;filter:drop-shadow(0 0 8px #88e5cfaa)}
.atlas-online .atlas-dot{fill:#92f0d2}.atlas-offline .atlas-dot{fill:#ed9d85}.atlas-unknown .atlas-dot{fill:#91b5cc}.atlas-unknown .atlas-halo{stroke:#91b5cc99}.atlas-offline .atlas-halo{stroke:#ed9d8599}
.atlas-selected .atlas-halo,.atlas-site:focus-visible .atlas-halo{stroke:#edfffb;stroke-width:2;fill:#77edcd33}
.atlas-count{fill:#05242c;font:700 9px system-ui;pointer-events:none}
.atlas-toolbar{position:absolute;right:18px;top:18px;z-index:4;display:grid;gap:5px;background:#071b28ba;padding:5px;border:1px solid #3d6470a1;border-radius:12px;backdrop-filter:blur(12px)}
.atlas-toolbar button{width:34px;height:34px;display:grid;place-items:center;appearance:none;background:transparent;color:#cce5e8;border:0;border-radius:7px;font-size:19px;cursor:pointer;transition:background .18s,color .18s}
.atlas-toolbar button:hover,.atlas-toolbar button:focus-visible{background:#31505d;color:#fff;outline:none}
.atlas-zoom{position:absolute;z-index:3;right:23px;bottom:18px;font:700 10px ui-monospace,monospace;letter-spacing:.09em;color:#a6c6d4}
.atlas-tooltip{position:absolute;z-index:6;left:20px;top:17px;min-width:175px;max-width:min(275px,68%);padding:11px 14px;background:#091d2be8;border:1px solid #547b80;border-radius:10px;box-shadow:0 12px 45px #0007;backdrop-filter:blur(15px);pointer-events:none}
.atlas-tooltip strong,.atlas-tooltip span{display:block}.atlas-tooltip strong{font-size:12px;color:#f3fafb}.atlas-tooltip span{font-size:10px;margin-top:4px;line-height:1.5;color:#9fb7c9}
.atlas-empty{z-index:3;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;background:#0a1e2ad9;border:1px solid #385361;padding:17px 22px;border-radius:13px;max-width:75%;color:#d9ebef;pointer-events:none}
.atlas-empty strong{display:block;font-size:12px}.atlas-empty span{display:block;font-size:11px;color:#9bb5c2;margin-top:5px}
@media(prefers-reduced-motion:no-preference){.atlas-halo{animation:atlas-breathe 3.8s ease-in-out infinite}.atlas-site:nth-child(3n) .atlas-halo{animation-delay:-1.2s}}
@keyframes atlas-breathe{0%,100%{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.25)}}
@media(prefers-reduced-motion:reduce){.atlas-halo{animation:none!important}.atlas-toolbar button{transition:none}}
