/* Native snapshots give a short afterimage without cloning live game controls. */
@view-transition { navigation: auto; }
::view-transition { pointer-events: none; }
::view-transition-group(*), ::view-transition-image-pair(*), ::view-transition-old(*), ::view-transition-new(*) { pointer-events: none; }
::view-transition-group(root) { animation-duration: 300ms; }
::view-transition-image-pair(root) { isolation: isolate; }
::view-transition-old(root), ::view-transition-new(root) {
    mix-blend-mode: normal;
    animation-fill-mode: both;
    animation-timing-function: cubic-bezier(.22, 1, .36, 1);
}
::view-transition-old(root) { animation-name: page-trail-out; animation-duration: 260ms; }
::view-transition-new(root) { animation-name: page-trail-in; animation-duration: 300ms; }
@keyframes page-trail-out {
    from { opacity: 1; filter: blur(0); transform: translateX(0) scale(1); }
    to { opacity: 0; filter: blur(5px); transform: translateX(-14px) scale(.994); }
}
@keyframes page-trail-in {
    from { opacity: 0; filter: blur(6px); transform: translateX(14px) scale(1.006); }
    to { opacity: 1; filter: blur(0); transform: translateX(0) scale(1); }
}
html.motion-disabled::view-transition-group(*),
html.motion-disabled::view-transition-old(*),
html.motion-disabled::view-transition-new(*) { animation: none !important; }
@media (prefers-reduced-motion: reduce) {
    ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}
