html.sl-page-arriving,
html.sl-page-leaving {
    background: #050505;
}

html.sl-page-arriving body {
    background: #050505;
}

html.sl-page-arriving body > :not(.sl-route-transition) {
    visibility: hidden;
}

.sl-route-transition {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #050505;
    color: #FFFDD0;
    pointer-events: none;
    transform: scaleY(0);
    transform-origin: bottom center;
    transition: transform 0.48s cubic-bezier(0.76, 0, 0.24, 1);
    will-change: transform;
}

html.sl-page-arriving .sl-route-transition,
html.sl-page-leaving .sl-route-transition {
    transform: scaleY(1);
}

html.sl-page-arriving .sl-route-transition {
    transform-origin: top center;
}

.sl-route-transition__mark {
    position: relative;
    width: 4.5rem;
    height: 4.5rem;
    opacity: 0;
    transform: translateY(12px) scale(0.96);
    transition: opacity 0.28s ease, transform 0.36s cubic-bezier(0.16, 1, 0.3, 1);
}

html.sl-page-arriving .sl-route-transition__mark,
html.sl-page-leaving .sl-route-transition__mark {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.sl-route-transition__mark img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media (prefers-reduced-motion: reduce) {
    .sl-route-transition,
    .sl-route-transition__mark {
        transition-duration: 0.01ms !important;
    }
}
