/* ============================================
   OYUN BAHÇESİ - Animasyonlar
   ============================================ */

/* Bulut yüzme */
@keyframes cloudFloat {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(100vw + 200px)); }
}

/* Güneş nabız */
@keyframes sunPulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.08); opacity: 0.9; }
}

/* Bounce giriş */
@keyframes bounceIn {
    0% { transform: scale(0.3); opacity: 0; }
    50% { transform: scale(1.06); }
    70% { transform: scale(0.96); }
    100% { transform: scale(1); opacity: 1; }
}

/* Fade in yukarı */
@keyframes fadeInUp {
    from { transform: translateY(30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* Fade in */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Başarı pulse */
@keyframes successPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.12); }
}

/* Hata sallama */
@keyframes wiggle {
    0%, 100% { transform: rotate(0deg); }
    20% { transform: rotate(-8deg); }
    40% { transform: rotate(8deg); }
    60% { transform: rotate(-5deg); }
    80% { transform: rotate(5deg); }
}

/* Yüzme (dekoratif) */
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

/* Yıldız kazanma */
@keyframes starEarned {
    0% { transform: scale(0) rotate(0deg); opacity: 0; }
    60% { transform: scale(1.4) rotate(360deg); opacity: 1; }
    100% { transform: scale(1) rotate(360deg); }
}

/* Kart giriş (hub) */
@keyframes cardEnter {
    0% { transform: scale(0.5) translateY(40px); opacity: 0; }
    100% { transform: scale(1) translateY(0); opacity: 1; }
}

/* Pop efekt */
@keyframes pop {
    0% { transform: scale(0); }
    70% { transform: scale(1.15); }
    100% { transform: scale(1); }
}

/* Parlama */
@keyframes glow {
    0%, 100% { box-shadow: 0 0 5px rgba(255, 215, 0, 0.3); }
    50% { box-shadow: 0 0 20px rgba(255, 215, 0, 0.6), 0 0 40px rgba(255, 215, 0, 0.3); }
}

/* Zıplama */
@keyframes jump {
    0%, 100% { transform: translateY(0); }
    30% { transform: translateY(-20px); }
    50% { transform: translateY(-15px); }
    70% { transform: translateY(-18px); }
}

/* Döndürme */
@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Kart çevirme */
@keyframes flipIn {
    0% { transform: rotateY(90deg); }
    100% { transform: rotateY(0deg); }
}

/* Slide in sağdan */
@keyframes slideInRight {
    from { transform: translateX(100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

/* Slide in soldan */
@keyframes slideInLeft {
    from { transform: translateX(-100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

/* Slide out sola */
@keyframes slideOutLeft {
    from { transform: translateX(0); opacity: 1; }
    to { transform: translateX(-100%); opacity: 0; }
}

/* Sayı büyüme */
@keyframes numberPop {
    0% { transform: scale(1); }
    50% { transform: scale(1.5); color: var(--success); }
    100% { transform: scale(1); }
}

/* Çiçek sallanma */
@keyframes sway {
    0%, 100% { transform: rotate(-3deg); }
    50% { transform: rotate(3deg); }
}

/* Rainbow border (başarı) */
@keyframes rainbowBorder {
    0% { border-color: #FF6B6B; }
    16% { border-color: #F7B731; }
    33% { border-color: #26DE81; }
    50% { border-color: #45B7D1; }
    66% { border-color: #A55EEA; }
    83% { border-color: #FF78C4; }
    100% { border-color: #FF6B6B; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
