/* Cross-document view transitions — loaded with media="(max-width:1023.98px)"
   so it applies to phones and tablets only, and is inert on desktop.
   The app chrome carries a stable transition name on every page, so the bars
   stay put while the content cross-fades instead of blinking with it. */
@view-transition { navigation: auto; }

#site-header { view-transition-name: nbm-header; }
#nbm-tab     { view-transition-name: nbm-tab; }

::view-transition-group(nbm-header),
::view-transition-group(nbm-tab) { animation-duration: 1ms; }

::view-transition-old(root) { animation: nbm-vt-out .16s ease both; }
::view-transition-new(root) { animation: nbm-vt-in .22s ease both; }

@keyframes nbm-vt-out { to { opacity: 0; } }
@keyframes nbm-vt-in { from { opacity: 0; transform: translateY(6px); } }

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}
