/**
 * Giriş / kayıt / şifre ekranlarının ortak arka plan ve animasyonları.
 * Sayfalar body'ye .auth-bg-gradient sınıfını verir.
 */

.auth-bg-gradient {
    position: relative;
    background-color: #020617;
    overflow-x: hidden;
}

/* Aurora katmanı: yavaşça sürüklenen renk lekeleri */
.auth-bg-gradient::before {
    content: '';
    position: fixed;
    inset: -25%;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(38% 42% at 20% 25%, rgba(79, 70, 229, 0.55), transparent 65%),
        radial-gradient(34% 38% at 78% 18%, rgba(124, 58, 237, 0.42), transparent 62%),
        radial-gradient(42% 46% at 62% 82%, rgba(14, 116, 144, 0.38), transparent 66%),
        radial-gradient(30% 34% at 12% 84%, rgba(219, 39, 119, 0.24), transparent 60%);
    filter: blur(60px) saturate(125%);
    animation: authAurora 26s ease-in-out infinite alternate;
    will-change: transform;
}

/* Üstte ince ızgara + merkeze doğru koyulaşan vinyet */
.auth-bg-gradient::after {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(148, 163, 184, 0.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148, 163, 184, 0.07) 1px, transparent 1px),
        radial-gradient(circle at 50% 45%, transparent 35%, rgba(2, 6, 23, 0.75) 100%);
    background-size: 56px 56px, 56px 56px, 100% 100%;
    animation: authGridDrift 40s linear infinite;
}

/* Kart aurora'nın üstünde kalsın. Body'nin diğer çocuklarına (Toastify gibi
   kendi konumlandırmasını yapan öğeler) dokunulmaz. */
.auth-bg-gradient > .auth-card-enter {
    position: relative;
    z-index: 1;
}

@keyframes authAurora {
    0% {
        transform: translate3d(-3%, -2%, 0) scale(1);
    }
    50% {
        transform: translate3d(3%, 2%, 0) scale(1.12);
    }
    100% {
        transform: translate3d(-2%, 3%, 0) scale(1.04);
    }
}

@keyframes authGridDrift {
    from {
        background-position: 0 0, 0 0, 0 0;
    }
    to {
        background-position: 56px 56px, 56px 56px, 0 0;
    }
}

/* Kart girişi */
.auth-card-enter {
    animation: authCardIn 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes authCardIn {
    from {
        opacity: 0;
        transform: translateY(18px) scale(0.985);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

/* Hero panelindeki dekoratif ışık lekeleri */
.auth-hero-blob {
    animation: authBlobFloat 14s ease-in-out infinite alternate;
    will-change: transform;
}

.auth-hero-blob-slow {
    animation-duration: 19s;
    animation-delay: -6s;
}

@keyframes authBlobFloat {
    from {
        transform: translate3d(0, 0, 0) scale(1);
    }
    to {
        transform: translate3d(24px, -22px, 0) scale(1.15);
    }
}

.glass-auth-card {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
}

@media (prefers-reduced-motion: reduce) {
    .auth-bg-gradient::before,
    .auth-bg-gradient::after,
    .auth-card-enter,
    .auth-hero-blob {
        animation: none;
    }
}
