:root {
            --nexora-dark: #0A1B3D;
            --nexora-electric: #126BFF;
            --nexora-cyan: #00E0FF;
        }

        body { background-color: #F8FAFC; }

        /* Dil çözülürken (assets/js/lang-boot.js) gövde gizli: sayfa
           İngilizce yazılı, başka dil seçildiyse main.js çevirene kadar
           yanlış dil görünmesin. `visibility` düzeni korur; zemin rengi
           (tema) görünmeye devam eder. */
        html.i18n-pending body { visibility: hidden; }

        /* Metin seçimi. Tailwind'in `selection:*` sınıfları kullanılmaz:
           CDN, tailwind-config.js'teki özel renkleri görmediği için
           `selection:bg-nexora-electric` hiç kural üretmiyordu; yalnız
           `selection:text-white` çalışıyor ve seçili yazı açık zeminde
           beyaz kalıp kayboluyordu. Sabit renk, değişken yok. */
        ::selection { background-color: #126BFF; color: #fff; }
        /* Gradyanlı başlıkta yazı rengi `-webkit-text-fill-color: transparent`
           ile verilir; seçimde onu da açmak gerekir. */
        .nexora-text-gradient::selection { -webkit-text-fill-color: #fff; }

        /* Ufuk Çizgisi ve Arka Planlar */
        .horizon-gradient { background: linear-gradient(to right, transparent, var(--nexora-cyan), var(--nexora-electric), transparent); height: 1px; width: 100%; opacity: 0.3; }
        .moving-grid { background-size: 40px 40px; background-image: linear-gradient(to right, rgba(18, 107, 255, 0.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(18, 107, 255, 0.05) 1px, transparent 1px); mask-image: linear-gradient(to bottom, black 40%, transparent 100%); -webkit-mask-image: linear-gradient(to bottom, black 40%, transparent 100%); }

        /* Glassmorphism */
        .glass-effect { background: rgba(255, 255, 255, 0.7); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.5); }
        .glass-card-dark { background: rgba(10, 27, 61, 0.6); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(0, 224, 255, 0.1); }
        .glass-modal { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px); }

        /* Scrollbar */
        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: transparent; }
        ::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 4px; }
        ::-webkit-scrollbar-thumb:hover { background: var(--nexora-electric); }

        /* Logo animasyonu artık logonun kendi dosyasında
           (assets/images/brand/nexora-logo.svg + assets/css/logo.css). */
        
        .nexora-text-gradient { background: linear-gradient(90deg, var(--nexora-electric) 0%, var(--nexora-cyan) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; display: inline-block; }
        
        /* Geçiş Animasyonları */
        .reveal { opacity: 0; transform: translateY(40px); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
        .reveal-left { opacity: 0; transform: translateX(-40px); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
        .reveal-right { opacity: 0; transform: translateX(40px); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
        .reveal-scale { opacity: 0; transform: scale(0.9); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
        .reveal.active, .reveal-left.active, .reveal-right.active, .reveal-scale.active { opacity: 1; transform: translate(0) scale(1); }

        .delay-100 { transition-delay: 100ms; } .delay-200 { transition-delay: 200ms; } .delay-300 { transition-delay: 300ms; }

        #ai-chat-widget { z-index: 99999 !important; }

        /* Mobil Menü Animasyonu */
        #mobile-menu { transition: all 0.3s ease-in-out; transform: translateY(-100%); opacity: 0; }
        #mobile-menu.open { transform: translateY(0); opacity: 1; }
        
        /* Bot Yazıyor Animasyonu */
        .typing-dot { animation: typing 1.4s infinite ease-in-out both; }
        .typing-dot:nth-child(1) { animation-delay: -0.32s; }
        .typing-dot:nth-child(2) { animation-delay: -0.16s; }
        @keyframes typing {
            0%, 80%, 100% { transform: scale(0); }
            40% { transform: scale(1); }
        }

/* ========================================================
   Tailwind CDN custom theme fallback classes
   Bu bölüm, custom Tailwind renkleri CDN config yüklenmeden önce ihtiyaç olursa
   görsel bütünlüğü korumak için eklendi.
   ======================================================== */
.bg-nexora-dark { background-color: var(--nexora-dark) !important; }
.bg-nexora-electric { background-color: var(--nexora-electric) !important; }
.bg-nexora-cyan { background-color: var(--nexora-cyan) !important; }
.bg-nexora-light { background-color: #F8FAFC !important; }

.text-nexora-dark { color: var(--nexora-dark) !important; }
.text-nexora-electric { color: var(--nexora-electric) !important; }
.text-nexora-cyan { color: var(--nexora-cyan) !important; }

.border-nexora-dark { border-color: var(--nexora-dark) !important; }
.border-nexora-electric { border-color: var(--nexora-electric) !important; }
.border-nexora-cyan { border-color: var(--nexora-cyan) !important; }

.border-nexora-electric\/30 { border-color: rgba(18, 107, 255, 0.3) !important; }
.border-nexora-cyan\/30 { border-color: rgba(0, 224, 255, 0.3) !important; }

.bg-nexora-electric\/20 { background-color: rgba(18, 107, 255, 0.2) !important; }
.bg-nexora-electric\/30 { background-color: rgba(18, 107, 255, 0.3) !important; }
.bg-nexora-cyan\/30 { background-color: rgba(0, 224, 255, 0.3) !important; }

.from-nexora-electric {
    --tw-gradient-from: var(--nexora-electric) var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(18, 107, 255, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.to-nexora-dark { --tw-gradient-to: var(--nexora-dark) var(--tw-gradient-to-position); }
.to-nexora-cyan { --tw-gradient-to: var(--nexora-cyan) var(--tw-gradient-to-position); }

.shadow-nexora-electric\/30 { --tw-shadow-color: rgba(18, 107, 255, 0.3); }

/* Yukarıdaki `!important`'lı .text-nexora-* kopyaları, kart ikonlarının
   `group-hover:text-white`'ını eziyordu. Tailwind config 2026-09-24'te
   okunur hâle gelince `group-hover:bg-nexora-*` de çalışmaya başladı ve
   ikon kendi renginde kutuda kayboldu. Yedek blok ayrı iş; bu kural
   yalnız o çakışmayı çözer. */
.group:hover .group-hover\:text-white { color: #fff !important; }

.animate-blob { animation: blob 7s infinite; }
.animate-float { animation: float 6s ease-in-out infinite; }
.animate-pulse-slow { animation: pulse 4s cubic-bezier(0.4, 0, 0.6, 1) infinite; }
.animate-spin-slow { animation: spin 8s linear infinite; }
.animation-delay-2000 { animation-delay: 2s; }
/* blob/float keyframe'leri Tailwind config'inde; config 2026-09-24'e kadar
   okunmadığından bu animasyonlar hiç oynamıyordu. Artık oynuyorlar;
   hareket azaltma isteyen ziyaretçide durur. `html` öneki: Tailwind'in
   <style>'ı bu dosyadan sonra eklenir. */
@media (prefers-reduced-motion: reduce) {
    html .animate-blob, html .animate-float { animation: none; }
}

.custom-scrollbar::-webkit-scrollbar { width: 6px; }
.custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 4px; }
.custom-scrollbar::-webkit-scrollbar-thumb:hover { background: var(--nexora-electric); }

