/* Smooth cross-document navigation for Safari 18+, iOS and modern browsers. */
@view-transition { navigation: auto; }
::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: 180ms;
  animation-timing-function: cubic-bezier(.22, .61, .36, 1);
}
::view-transition-old(root) { animation-name: sigma-page-out; }
::view-transition-new(root) { animation-name: sigma-page-in; }
@keyframes sigma-page-out { to { opacity: 0; transform: translateY(-4px); } }
@keyframes sigma-page-in { from { opacity: 0; transform: translateY(4px); } }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}
html.sigma-page-leaving { cursor: progress; }

/* Keep shared application chrome visually stable while page content changes. */
.legacy-global-header,
.sigma-showcase-header,
.sigma-global-header,
.top { view-transition-name: sigma-site-header; }
#bottom-nav,
#profile-bottom-nav,
.bottom { view-transition-name: sigma-site-navigation; }

/* In-page app navigation should never flash a blank document between states. */
.sigma-app-view.sigma-app-changing,
#showcase-home.sigma-app-changing {
  animation: sigma-app-screen-in 220ms cubic-bezier(.22, .61, .36, 1);
}
.sigma-product-overlay.sigma-sheet-enter .sigma-product-sheet {
  animation: sigma-sheet-in 220ms cubic-bezier(.22, .61, .36, 1);
}
@keyframes sigma-app-screen-in {
  from { opacity: .35; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes sigma-sheet-in {
  from { opacity: .3; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .sigma-app-view.sigma-app-changing,
  #showcase-home.sigma-app-changing,
  .sigma-product-overlay.sigma-sheet-enter .sigma-product-sheet {
    animation: none;
  }
}
