/* Continuous, tile-aligned motion: same 6.875px/s as the previous 220px/32s.
   No alternate direction or end-of-loop jump, including on newly opened views. */
body::before, .embedded-game::before {
 display:block;
 background:linear-gradient(#02050c29,#02050c6b),url('/assets/sky-night-stars-v1.jpg') 0 0 / 750px auto repeat;
 transform:none;
 animation:none;
}
body::after { display:none; animation:none; }
@keyframes sky-stars-diagonal {
 from { background-position:center,0 0; }
 to { background-position:center,750px -750px; }
}
@keyframes sky-stars-single { from {background-position:0 0} to {background-position:750px -750px} }
body::before, #social .game-main, #social .social-chat-main, #ai .ai-main-panel, #updates { background-size:auto,750px 750px; }
.unified-hero::before, .player-stats-card::before { background-size:750px 750px; background-repeat:repeat; transform:none; }
@media(prefers-reduced-motion:no-preference) {
 body::before, .embedded-game::before,
 #social .game-main, #social .social-chat-main,
 #ai .ai-main-panel, #updates, .unified-hero::before {
  animation:sky-stars-diagonal 154.28s linear infinite;
 }
 /* All layers on a page share the same direction. */
 .unified-hero::before, .player-stats-card::before { animation:sky-stars-single 154.28s linear infinite; }
 .sky-icon { transition:transform .2s ease; }
}
@media(prefers-reduced-motion:reduce) {
 body::before, body::after, .embedded-game::before,
 #social .game-main, #social .social-chat-main,
 #ai .ai-main-panel, #updates, .unified-hero::before, .player-stats-card::before { animation:none; }
}
