/* ===========================
   SWEEP TRANSITION OVERLAY
   =========================== */

#transition-overlay {
    position: fixed;
    inset: 0;
    background-color: #ff0000;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Starts fully off-screen to the LEFT — never visible on direct load */
    transform: translateX(-100%);
    pointer-events: none;
}

/* SWEEP IN: slides from left to center (covers screen) */
#transition-overlay.sweep-in {
    pointer-events: all;
    animation: sweepIn 0.5s cubic-bezier(0.86, 0, 0.07, 1) forwards;
}

/* HOLD: stays covering the screen (while page navigates) */
#transition-overlay.hold {
    transform: translateX(0%);
    pointer-events: all;
}

/* SWEEP OUT: slides from center to right (reveals page) */
#transition-overlay.sweep-out {
    pointer-events: none;
    animation: sweepOut 0.5s cubic-bezier(0.86, 0, 0.07, 1) forwards;
}

@keyframes sweepIn {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(0%);
    }
}

@keyframes sweepOut {
    from {
        transform: translateX(0%);
    }

    to {
        transform: translateX(100%);
    }
}

/* ===========================
   LOADING TEXT
   =========================== */

#transition-overlay .loading-text {
    font-family: 'SkPrimo', sans-serif;
    color: #ffffff;
    font-size: 48px;
    letter-spacing: 2px;
    text-transform: uppercase;
    animation: blink 1s ease-in-out infinite;
}

@keyframes blink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }
}