/**
 * Global LOGYX page loader — purple wave equalizer
 */

body.logyx-is-loading {
    overflow: hidden;
}

.logyx-page-loader {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, .97);
    backdrop-filter: blur(8px);
    transition: opacity .12s ease, visibility .12s ease;
}

body.logyx-is-ready .logyx-page-loader {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.logyx-page-loader-card {
    display: grid;
    justify-items: center;
    gap: 14px;
    padding: 8px 12px;
}

.logyx-wave-loader {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 5px;
    height: 52px;
    padding: 0 4px;
}

.logyx-wave-loader span {
    width: 6px;
    min-height: 8px;
    border-radius: 999px;
    background: linear-gradient(180deg, #A78BFA 0%, #6366F1 48%, #4F46E5 100%);
    box-shadow: 0 0 12px rgba(99, 102, 241, .22);
    transform-origin: center bottom;
    animation: logyxWavePulse 1.05s ease-in-out infinite;
}

.logyx-wave-loader span:nth-child(1)  { height: 12px; animation-delay: 0s;    opacity: .42; }
.logyx-wave-loader span:nth-child(2)  { height: 18px; animation-delay: .08s;  opacity: .52; }
.logyx-wave-loader span:nth-child(3)  { height: 24px; animation-delay: .16s;  opacity: .62; }
.logyx-wave-loader span:nth-child(4)  { height: 30px; animation-delay: .24s;  opacity: .72; }
.logyx-wave-loader span:nth-child(5)  { height: 36px; animation-delay: .32s;  opacity: .82; }
.logyx-wave-loader span:nth-child(6)  { height: 42px; animation-delay: .40s;  opacity: .95; }
.logyx-wave-loader span:nth-child(7)  { height: 48px; animation-delay: .48s;  opacity: 1; }
.logyx-wave-loader span:nth-child(8)  { height: 40px; animation-delay: .56s;  opacity: .88; }
.logyx-wave-loader span:nth-child(9)  { height: 32px; animation-delay: .64s;  opacity: .76; }
.logyx-wave-loader span:nth-child(10) { height: 22px; animation-delay: .72s;  opacity: .58; }
.logyx-wave-loader span:nth-child(11) { height: 14px; animation-delay: .80s;  opacity: .45; }

@keyframes logyxWavePulse {
    0%, 100% {
        transform: scaleY(.62);
        filter: brightness(.92);
    }
    50% {
        transform: scaleY(1.08);
        filter: brightness(1.08);
    }
}

.logyx-page-loader-text {
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
