/* Chargé en bloquant dans le <head> : l’état de départ doit exister avant le 1er paint.
   Ne pas dupliquer ces animations dans le CSS Vite (sinon l’injection relance l’anim). */

@keyframes page-move-in-from-right {
  from {
    opacity: 0;
    transform: translateX(2.5rem);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes page-move-in-from-left {
  from {
    opacity: 0;
    transform: translateX(-2.5rem);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@media (prefers-reduced-motion: no-preference) {
  html.page-move-in {
    overflow-x: clip;
  }

  html.page-move-in .header {
    animation: none;
  }

  html.page-move-in--from-right #app {
    opacity: 0;
    transform: translateX(2.5rem);
    animation: page-move-in-from-right 1200ms ease-out both;
  }

  html.page-move-in--from-left #app {
    opacity: 0;
    transform: translateX(-2.5rem);
    animation: page-move-in-from-left 1200ms ease-out both;
  }
}
