/* --- Giriş Animasyonları --- */
@keyframes slide-in-fade {
    0% { transform: translateY(20px); opacity: 0; }
    100% { transform: translateY(0); opacity: 1; }
}

/* --- Düşünme/Yazma Animasyonları --- */
.typing-indicator { display: flex; align-items: center; gap: 5px; padding: 10px 0; }
.typing-indicator span { 
    width: 8px; 
    height: 8px; 
    background-color: #a1a1aa; 
    border-radius: 50%; 
    animation: typing-bounce 1.4s infinite ease-in-out both; 
}
.typing-indicator span:nth-child(1) { animation-delay: -0.32s; }
.typing-indicator span:nth-child(2) { animation-delay: -0.16s; }

@keyframes typing-bounce {
    0%, 80%, 100% { transform: scale(0); }
    40% { transform: scale(1.0); }
}

/* --- Yükleme ve Durum Animasyonları --- */
.overlay { 
    position: fixed; 
    inset: 0; 
    background: rgba(0,0,0,0.8); 
    backdrop-filter: blur(10px); 
    z-index: 2000; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
}
.glass-modal { 
    background: var(--bg-panel); 
    border: 1px solid var(--border); 
    padding: 30px; 
    border-radius: 16px; 
    text-align: center; 
    width: 300px; 
}
.hidden { display: none !important; }

.neural-loader { 
    width: 40px; 
    height: 40px; 
    border: 3px solid #333; 
    border-top: 3px solid var(--primary); 
    border-radius: 50%; 
    animation: spin 1s infinite linear; 
    margin: 0 auto 15px; 
}
@keyframes spin { 
    100% { transform: rotate(360deg); } 
}

@keyframes pulse { 
    50% { opacity: 0.5; } 
}

/* --- Kod Bloğu Stilleri --- */
pre { 
    background: #000 !important; 
    border: 1px solid var(--border); 
    border-radius: 8px; 
    padding: 15px; 
    margin: 10px 0; 
    overflow-x: auto; 
}
code { 
    font-family: 'JetBrains Mono', monospace !important; 
    font-size: 0.9em; 
}