/* One frozen native map. Only compositor transforms/opacity move at login. */
#login-backdrop{position:fixed;inset:0;overflow:hidden;pointer-events:none;background:#16241b;z-index:1;transition:opacity .45s linear}
#login-backdrop::before,#login-backdrop::after{content:"";position:absolute;inset:-10%;background:center/cover no-repeat url('../assets/pixel-v2/login-map-20261112-v1/village.webp');image-rendering:pixelated;animation:login-pan 36s linear infinite alternate;will-change:transform}
#login-backdrop::after{animation:login-pan-return 36s linear infinite alternate,login-crossfade 36s ease-in-out infinite;opacity:0}
#login-backdrop.is-leaving{opacity:0}
@keyframes login-pan{from{transform:translate(-2.5%,1.5%)}to{transform:translate(2.5%,-1.5%)}}
@keyframes login-pan-return{from{transform:translate(2.5%,-1.5%)}to{transform:translate(-2.5%,1.5%)}}
@keyframes login-crossfade{0%,40%,100%{opacity:0}48%,90%{opacity:1}}
.game-warming #scr-menu{visibility:hidden}
@media(prefers-reduced-motion:reduce){#login-backdrop::before,#login-backdrop::after{animation:none;will-change:auto}#login-backdrop::after{display:none}#login-backdrop{transition:none}}
