/* Shared navigation-only motion. Story layout, reading and audio are untouched. */
@view-transition {
    navigation: auto;
}

::view-transition-group(root) {
    animation-duration: 620ms;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

::view-transition-image-pair(root) {
    isolation: isolate;
    perspective: 1800px;
}

::view-transition-old(root),
::view-transition-new(root) {
    mix-blend-mode: normal;
    backface-visibility: hidden;
}

::view-transition-old(root) {
    transform-origin: left center;
    animation: elba-page-close 420ms cubic-bezier(0.4, 0, 0.2, 1) both;
}

::view-transition-new(root) {
    transform-origin: right center;
    animation: elba-page-reveal 620ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes elba-page-close {
    from {
        opacity: 1;
        transform: translateX(0) rotateY(0);
    }
    to {
        opacity: 0;
        transform: translateX(-2.5%) rotateY(-7deg);
    }
}

@keyframes elba-page-reveal {
    from {
        clip-path: inset(0 0 0 100%);
        transform: translateX(1.5%);
    }
    to {
        clip-path: inset(0);
        transform: translateX(0);
    }
}

/* No interception or delayed navigation: unsupported browsers navigate normally. */
@media (prefers-reduced-motion: reduce) {
    @view-transition {
        navigation: none;
    }

    ::view-transition-group(root),
    ::view-transition-old(root),
    ::view-transition-new(root) {
        animation: none;
    }
}
