/* Shared page motion: native cross-document transitions where available. */
@view-transition { navigation: auto; }
@keyframes dys-page-out { to { opacity:0; transform:translateY(-8px); } }
@keyframes dys-page-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:no-preference){
  ::view-transition-old(root){animation:150ms ease-in both dys-page-out}
  ::view-transition-new(root){animation:300ms cubic-bezier(.2,.7,.2,1) both dys-page-in}
  html.fallback-enter #main,html.fallback-enter .welcome-main,html.fallback-enter .app-main{animation:dys-page-in 300ms cubic-bezier(.2,.7,.2,1) both}
  html.fallback-leave #main,html.fallback-leave .welcome-main,html.fallback-leave .app-main{animation:dys-page-out 150ms ease-in both}
}
@media(prefers-reduced-motion:reduce){
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}
