/* V13: calm transitions between pages. No framework or router required. */
/* Same-origin pages opt into browser-native cross-document view transitions.
   Unsupported browsers continue navigating normally; nothing is blocked. */
@view-transition { navigation: auto; }

@keyframes mw-page-out {
  from { opacity: 1; transform: translateY(0); }
  to   { opacity: 0; transform: translateY(-6px); }
}
@keyframes mw-page-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

::view-transition-old(root) {
  animation: 170ms ease-in both mw-page-out;
}
::view-transition-new(root) {
  animation: 340ms cubic-bezier(.22, 1, .36, 1) both mw-page-in;
}

/* A very small entry/exit enhancement for older browsers without View Transitions. */
@supports not (view-transition-name: root) {
  main { animation: 300ms ease-out both mw-page-in; }
  main, .site-footer { transition: opacity 180ms ease, transform 180ms ease; }
  html.mw-page-leaving main,
  html.mw-page-leaving .site-footer { opacity: 0; transform: translateY(-6px); }
}

/* No motion for people who request reduced motion. */
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  ::view-transition-old(root), ::view-transition-new(root) { animation-duration: 0.01ms !important; }
  @supports not (view-transition-name: root) {
    main { animation: none; }
    main, .site-footer { transition: none; }
  }
}
