/* ENU Netflix-style loader — visible only during active loading */

.enu-loader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
    transition: opacity 0.45s ease, visibility 0.45s ease;
}

.enu-loader--hide {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.enu-loader__stage {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(90vw, 420px);
    height: clamp(5rem, 18vw, 7rem);
    overflow: hidden;
}

.enu-loader__letters {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.06em;
}

.enu-loader__letter {
    display: inline-block;
    font-family: 'Arial Black', 'Helvetica Neue', Arial, sans-serif;
    font-size: clamp(3.2rem, 13vw, 6rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.04em;
    color: #e50914;
    text-shadow:
        0 0 20px rgba(229, 9, 20, 0.6),
        0 0 40px rgba(229, 9, 20, 0.3);
    opacity: 1;
    transform: scale(1) translateY(0);
    filter: none;
}

.enu-loader--play .enu-loader__letter {
    opacity: 0;
    transform: scale(2.8) translateY(16px);
    filter: blur(8px);
    will-change: transform, opacity, filter;
    animation: enu-letter-pop 0.9s cubic-bezier(0.17, 0.67, 0.3, 1) forwards;
}

.enu-loader--play .enu-loader__letter--e {
    animation-delay: 0.05s;
}

.enu-loader--play .enu-loader__letter--n {
    animation-delay: 0.22s;
}

.enu-loader--play .enu-loader__letter--u {
    animation-delay: 0.39s;
}

.enu-loader__shine {
    position: absolute;
    z-index: 1;
    top: 0;
    left: -60%;
    width: 45%;
    height: 100%;
    opacity: 0;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.15) 45%,
        rgba(255, 255, 255, 0.45) 50%,
        rgba(255, 255, 255, 0.15) 55%,
        transparent 100%
    );
    transform: skewX(-18deg);
    pointer-events: none;
}

.enu-loader--play .enu-loader__shine {
    opacity: 1;
    animation: enu-shine-sweep 1.2s ease-in-out 0.5s forwards;
}

@keyframes enu-letter-pop {
    0% {
        opacity: 0;
        transform: scale(2.8) translateY(16px);
        filter: blur(8px);
    }

    40% {
        opacity: 1;
        filter: blur(0);
    }

    65% {
        transform: scale(0.94) translateY(0);
    }

    82% {
        transform: scale(1.05) translateY(0);
    }

    100% {
        opacity: 1;
        transform: scale(1) translateY(0);
        filter: blur(0);
    }
}

@keyframes enu-shine-sweep {
    0% {
        left: -60%;
    }

    100% {
        left: 120%;
    }
}

.enu-loader.enu-loader--submit .enu-loader__letter {
    animation: enu-letter-pop 0.7s cubic-bezier(0.17, 0.67, 0.3, 1) forwards;
}

.enu-loader.enu-loader--submit .enu-loader__letter--e {
    animation-delay: 0s;
}

.enu-loader.enu-loader--submit .enu-loader__letter--n {
    animation-delay: 0.14s;
}

.enu-loader.enu-loader--submit .enu-loader__letter--u {
    animation-delay: 0.28s;
}

.enu-loader.enu-loader--submit .enu-loader__shine {
    animation: enu-shine-sweep 0.9s ease-in-out 0.2s forwards;
}

@media (prefers-reduced-motion: reduce) {
    .enu-loader--play .enu-loader__letter {
        animation-duration: 0.01ms;
        animation-delay: 0s !important;
        opacity: 1;
        transform: none;
        filter: none;
    }

    .enu-loader--play .enu-loader__shine {
        animation-duration: 0.01ms;
        display: none;
    }
}
