.map-motion-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:20px 0 14px}
.map-motion-controls p{font-size:13px;color:var(--text)}
.map-motion-controls p span{color:var(--muted);margin-left:5px}
.map-motion-toggle{flex-shrink:0;border:1px solid #ffa65b50;background:#ffa65b0c;color:var(--accent);border-radius:30px;padding:8px 14px;font-size:11px}
.map-motion-toggle[aria-pressed=false]{color:var(--muted);background:transparent;border-color:var(--line)}
.map-motion-toggle:disabled{cursor:default}
.map-atmosphere,.map-shine{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.map-atmosphere{z-index:1;opacity:0;transition:opacity .6s ease}
.map-motion-on .map-atmosphere{opacity:.8}
.map-atmosphere i{position:absolute;left:var(--particle-x);top:-8%;width:var(--particle-size);height:var(--particle-size);border-radius:50%;background:#fff;opacity:0;animation:map-snow var(--particle-time) linear var(--particle-delay) infinite;animation-play-state:paused}
.map-motion-on:not(.map-motion-paused) .map-in-view .map-atmosphere i{animation-play-state:running}
[data-weather=embers] .map-atmosphere i{background:#ffb560;box-shadow:0 0 8px #ff8b3d;animation-name:map-rise;top:auto;bottom:-8%}
[data-weather=spores] .map-atmosphere i{background:#c8f3cc;box-shadow:0 0 7px #98dcb0;animation-name:map-rise;top:auto;bottom:-8%;opacity:.4}
[data-weather=dust] .map-atmosphere i{background:#edce99;animation-name:map-dust;top:calc(var(--particle-x) * .8)}
[data-weather=mist] .map-atmosphere i{display:none}
[data-weather=mist] .map-atmosphere::before,[data-weather=mist] .map-atmosphere::after{content:"";position:absolute;left:-25%;bottom:-24%;width:150%;height:80%;background:radial-gradient(ellipse,#e4efeb2c,transparent 65%);animation:map-mist 16s ease-in-out infinite alternate;animation-play-state:paused}
[data-weather=mist] .map-atmosphere::after{bottom:-6%;animation-delay:-8s;opacity:.5}
.map-motion-on:not(.map-motion-paused) .map-in-view .map-atmosphere::before,.map-motion-on:not(.map-motion-paused) .map-in-view .map-atmosphere::after{animation-play-state:running}
.map-shine{z-index:2;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%),#fff3d32b,transparent 65%);opacity:0;transition:opacity .3s}
.server-cover-label{z-index:3}
@media(hover:hover) and (pointer:fine){
 .map-motion-on .server-card.is-visible{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .25s ease,box-shadow .3s ease,border-color .3s ease;will-change:auto}
 .map-motion-on .server-card.map-hover{z-index:2;border-color:#ffa65b80;box-shadow:0 24px 50px #0005,0 0 22px #f3902b12;transition:transform .12s ease,box-shadow .3s ease,border-color .3s ease}
 .map-motion-on .server-card.map-hover .server-cover img{transform:scale(1.08) translate(var(--pan-x,0px),var(--pan-y,0px));transition:transform .2s ease}
 .map-motion-on .map-hover .map-shine{opacity:1}
}
@keyframes map-snow{0%{transform:translate3d(0,-5px,0);opacity:0}15%{opacity:.75}85%{opacity:.5}100%{transform:translate3d(25px,250px,0);opacity:0}}
@keyframes map-rise{0%{transform:translate3d(0,0,0);opacity:0}20%{opacity:.7}75%{opacity:.4}100%{transform:translate3d(22px,-235px,0);opacity:0}}
@keyframes map-dust{0%{transform:translate3d(-55px,0,0);opacity:0}30%{opacity:.5}100%{transform:translate3d(140px,-30px,0);opacity:0}}
@keyframes map-mist{from{transform:translate3d(-6%,4%,0)}to{transform:translate3d(6%,-4%,0)}}
@media(max-width:700px){.map-motion-controls{align-items:flex-start}.map-motion-controls p span{display:none}.map-motion-controls p{font-size:12px}.map-motion-toggle{font-size:10px;padding:7px 10px}}
@media(prefers-reduced-motion:reduce){.map-atmosphere,.map-shine{display:none}.map-atmosphere *{animation:none!important}.server-card{--tilt-x:0deg!important;--tilt-y:0deg!important}.map-motion-on .server-card.map-hover .server-cover img{transform:none;transition:none}}
