#atlas .performance-tile{stroke:none;animation:network-tile-pulse 1.7s ease-in-out infinite alternate}
@keyframes network-tile-pulse{from{fill-opacity:.18}to{fill-opacity:var(--tile-opacity,.9)}}
#atlas .density-hotspot{stroke:none;animation:population-breathe 4.5s ease-in-out infinite alternate}
@keyframes population-breathe{from{opacity:calc(var(--density-weight)*.7);transform:scale(.94)}to{opacity:var(--density-weight);transform:scale(1.07)}}
#atlas .facility-icon{animation:facility-beacon 2.3s ease-in-out infinite}
#atlas .facility-halo{fill:currentColor;fill-opacity:.12;stroke:currentColor;stroke-opacity:.3;stroke-width:.6}
#atlas .facility-disc{fill:#102125;stroke:currentColor;stroke-width:1}
#atlas .facility-symbol{fill:none;stroke:currentColor;stroke-width:1.25;stroke-linejoin:round;stroke-linecap:round}
@keyframes facility-beacon{0%,100%{opacity:.55}45%,65%{opacity:1}}
@media(prefers-reduced-motion:reduce){#atlas .performance-tile,#atlas .density-hotspot,#atlas .facility-icon{animation:none}}
#atlas .density-region{fill:var(--density-color);stroke:#edf6fa;stroke-width:1;stroke-linejoin:round;animation:density-blue-shift 5s ease-in-out infinite alternate}
@keyframes density-blue-shift{0%,100%{fill:var(--density-color);fill-opacity:1}35%{fill:#315c91;fill-opacity:1}65%{fill:#b8dfef;fill-opacity:1}}
#atlas .density-region{animation-duration:3.6s;animation-direction:normal;animation-timing-function:ease-in-out}
#atlas .facility-halo{transform-box:fill-box;transform-origin:center;animation:facility-ripple 2.3s ease-out infinite;animation-delay:var(--pulse-delay,0s);fill-opacity:.15;stroke-opacity:.8;stroke-width:1}
#atlas .facility-disc{fill:#102125;stroke:currentColor;stroke-width:1.4}
#atlas .facility-icon{animation-name:facility-brightness}
@keyframes facility-ripple{0%{transform:scale(.65);opacity:.9}85%,100%{transform:scale(1.8);opacity:0}}
@keyframes facility-brightness{0%,100%{opacity:.8}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){#atlas .density-region,#atlas .facility-halo{animation:none}}
