@view-transition { navigation: auto; }
/* Opacity only: the browser navigates immediately, with no shifting hit targets. */
:root[data-ps-handoff]::view-transition-group(root) { animation-duration: 160ms; }
:root[data-ps-handoff]::view-transition-old(root) { animation: ps-section-out 160ms ease-out both; }
:root[data-ps-handoff]::view-transition-new(root) { animation: ps-section-in 160ms ease-out both; }
@keyframes ps-section-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes ps-section-in { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
}
