.global-glitch-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: #0f0f12;
    font-family: 'Syne', sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transition: opacity 0.5s ease, visibility 0.5s ease;
    opacity: 1;
    visibility: visible;
}

.global-glitch-overlay.hidden-loader {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.global-glitch-overlay::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 60% 40% at 20% 10%, rgba(91,33,182,0.18) 0%, transparent 70%),
                radial-gradient(ellipse 50% 50% at 80% 80%, rgba(13,148,136,0.12) 0%, transparent 70%),
                radial-gradient(ellipse 40% 30% at 60% 40%, rgba(124,58,237,0.08) 0%, transparent 60%);
    pointer-events: none;
    z-index: 0;
}

.loader-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    z-index: 1;
}

.loading-text {
    color: #a78bfa; /* var(--purple3) */
    font-family: 'Space Mono', monospace;
    font-size: 0.8rem;
    letter-spacing: 0.4em;
    text-transform: uppercase;
    animation: gpulse 2s ease-in-out infinite;
    margin-left: 0.4em;
    transition: opacity 0.5s ease;
}

@keyframes gpulse {
    0%, 100% { opacity: 0.5; filter: blur(0px); }
    50% { opacity: 1; filter: blur(0.5px); color: #2dd4bf; /* var(--teal2) */ }
}

.gcube {
    width: 80px;
    height: 80px;
    position: relative;
    perspective: 200px;
}

.gcube-inner {
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    animation: gcube-spin 3s ease-in-out infinite;
}

.gcube-face {
    position: absolute;
    width: 100%;
    height: 100%;
    border: 2px solid;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gcube-face:nth-child(1) { border-color: #7c3aed; transform: translateZ(40px); background: rgba(124,58,237,.15); }
.gcube-face:nth-child(2) { border-color: #2dd4bf; transform: rotateY(180deg) translateZ(40px); background: rgba(45,212,191,.15); }
.gcube-face:nth-child(3) { border-color: #a78bfa; transform: rotateY(90deg) translateZ(40px); background: rgba(167,139,250,.1); }
.gcube-face:nth-child(4) { border-color: #99f6e4; transform: rotateY(-90deg) translateZ(40px); background: rgba(153,246,228,.1); }
.gcube-face:nth-child(5) { border-color: #7c3aed; transform: rotateX(90deg) translateZ(40px); background: rgba(124,58,237,.08); }
.gcube-face:nth-child(6) { border-color: #2dd4bf; transform: rotateX(-90deg) translateZ(40px); background: rgba(45,212,191,.08); }

@keyframes gcube-spin {
    0% { transform: rotateX(0) rotateY(0); }
    33% { transform: rotateX(120deg) rotateY(60deg); }
    66% { transform: rotateX(240deg) rotateY(150deg); }
    100% { transform: rotateX(360deg) rotateY(360deg); }
}
