/* Kayz · #KayzShop — transition entre les pages du site, de l'installation et du wiki (21/10/2026).
   Navigateurs récents : transition native entre deux pages (View Transitions) — la page quittée remonte et s'estompe, la
   nouvelle arrive par en dessous. Les autres (assets/transition.js ajoute .kz-novt) : fondu à l'arrivée et au départ. */
@view-transition { navigation: auto; }

::view-transition-group(root) { animation-duration: .5s; }
::view-transition-old(root) { animation: kz-vt-out .28s cubic-bezier(.4, 0, 1, 1) both; }
::view-transition-new(root) { animation: kz-vt-in .5s cubic-bezier(.16, .84, .3, 1) .06s both; }

@keyframes kz-vt-out { to { opacity: 0; transform: translateY(-14px) scale(.994); filter: blur(5px); } }
@keyframes kz-vt-in { from { opacity: 0; transform: translateY(18px) scale(1.004); filter: blur(7px); } }

html { background: #050507; }
html.kz-novt body { animation: kz-vt-in .5s cubic-bezier(.16, .84, .3, 1) both; }
html.kz-leaving body { opacity: 0; transform: translateY(-10px); filter: blur(4px); transition: opacity .22s ease-in, transform .22s ease-in, filter .22s ease-in; }

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
  html.kz-novt body { animation: none; }
  html.kz-leaving body { transition: none; }
}
