/* Shared navigation keeps normal URLs, history, forms and authentication intact. */
@view-transition { navigation: auto; }
@keyframes page-out { to { opacity: 0; } }
@keyframes page-in { from { opacity: 0; transform: translateY(7px); } }
@keyframes modal-in { from { opacity: 0; transform: translateY(12px); } }
@keyframes backdrop-in { from { opacity: 0; } }
@media (prefers-reduced-motion: no-preference) {
  body > .masthead { view-transition-name: site-header; }
  body > .site-footer { view-transition-name: site-footer; }
  ::view-transition-old(root) { animation: page-out 150ms ease both; }
  ::view-transition-new(root) { animation: page-in 260ms cubic-bezier(.2,.75,.25,1) both; }
  ::view-transition-group(site-header), ::view-transition-group(site-footer) { animation-duration: 260ms; }
  ::view-transition-old(site-header), ::view-transition-new(site-header),
  ::view-transition-old(site-footer), ::view-transition-new(site-footer) { animation-duration: 180ms; }
  dialog:not(.editor-dialog)[open] { animation: modal-in 240ms cubic-bezier(.2,.75,.25,1); transition: opacity 170ms ease, transform 170ms ease; }
  dialog:not(.editor-dialog)[open]::backdrop { animation: backdrop-in 200ms ease; transition: opacity 170ms ease; }
  dialog:not(.editor-dialog)[data-modal-closing] { opacity: 0; transform: translateY(8px); pointer-events: none; }
  dialog:not(.editor-dialog)[data-modal-closing]::backdrop { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}
