/* Base reset */
html {
    background-color: #fff;
}

/* Base states for body content wrapper (we apply to body for simplicity) */
body.spt-active-08b133cf {
    transition: opacity var(--spt-duration) var(--spt-easing), transform var(--spt-duration) var(--spt-easing);
}

/* 1. Fade */
body.spt-type-fade.spt-entering-08b133cf,
body.spt-type-fade.spt-exiting-08b133cf {
    opacity: 0;
}

/* 2. Slide Up */
body.spt-type-slide.spt-entering-08b133cf {
    opacity: 0;
    transform: translateY(30px);
}
body.spt-type-slide.spt-exiting-08b133cf {
    opacity: 0;
    transform: translateY(-30px);
}

/* 3. Slide Down */
body.spt-type-slide-down.spt-entering-08b133cf {
    opacity: 0;
    transform: translateY(-30px);
}
body.spt-type-slide-down.spt-exiting-08b133cf {
    opacity: 0;
    transform: translateY(30px);
}

/* 4. Zoom Out */
body.spt-type-zoom.spt-entering-08b133cf,
body.spt-type-zoom.spt-exiting-08b133cf {
    opacity: 0;
    transform: scale(0.95);
}

/* 5. Scale Up (Zoom In) */
body.spt-type-scale-up.spt-entering-08b133cf,
body.spt-type-scale-up.spt-exiting-08b133cf {
    opacity: 0;
    transform: scale(1.05);
}

/* 6. Flip */
body.spt-type-flip {
    perspective: 1000px;
}
body.spt-type-flip.spt-entering-08b133cf {
    opacity: 0;
    transform: rotateY(90deg);
}
body.spt-type-flip.spt-exiting-08b133cf {
    opacity: 0;
    transform: rotateY(-90deg);
}

/* 7. Rotate */
body.spt-type-rotate.spt-entering-08b133cf {
    opacity: 0;
    transform: rotate(5deg) scale(0.95);
}
body.spt-type-rotate.spt-exiting-08b133cf {
    opacity: 0;
    transform: rotate(-5deg) scale(0.95);
}

/* 8. Curtain */
.spt-curtain-08b133cf {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #111;
    z-index: 999999;
    transform-origin: top;
    transition: transform var(--spt-duration) var(--spt-easing);
    pointer-events: none;
}

body.spt-entering-08b133cf .spt-curtain-08b133cf {
    transform: scaleY(1);
}
body.spt-loaded-08b133cf .spt-curtain-08b133cf {
    transform: scaleY(0);
}
body.spt-exiting-08b133cf .spt-curtain-08b133cf {
    transform-origin: bottom;
    transform: scaleY(1);
}