/* HST_ROUTE_TRANSITIONS_V1 - CSS native MPA + graceful JS fallback. */
@view-transition{navigation:auto}
@keyframes hstDissolveOld{from{opacity:1;filter:blur(0);transform:scale(1)}to{opacity:0;filter:blur(9px);transform:scale(.987)}}
@keyframes hstDissolveNew{from{opacity:0;filter:blur(10px);transform:scale(1.014)}to{opacity:1;filter:blur(0);transform:scale(1)}}
::view-transition-old(root){animation:230ms ease-in both hstDissolveOld}
::view-transition-new(root){animation:310ms ease-out both hstDissolveNew}
html.hst-nav-leaving body{pointer-events:none;animation:230ms ease-in both hstDissolveOld}
html.hst-nav-arriving body{animation:330ms ease-out both hstDissolveNew}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root),html.hst-nav-leaving body,html.hst-nav-arriving body{animation:none!important;transition:none!important}}
