/* ============================================
   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; }
}

/* Hafif süzülme (idle kartlar) */
@keyframes gentleFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-3px); }
}

/* Eğlenceli sallanma (hover) */
@keyframes wiggleHover {
    0%, 100% { transform: rotate(0deg); }
    20% { transform: rotate(-3deg); }
    40% { transform: rotate(3deg); }
    60% { transform: rotate(-2deg); }
    80% { transform: rotate(2deg); }
}

/* Nabız ışık (CTA buton) */
@keyframes pulseGlow {
    0%, 100% { box-shadow: 0 0 8px rgba(255, 107, 107, 0.3), 0 6px 0 #D94848, 0 8px 20px rgba(0,0,0,0.2); }
    50% { box-shadow: 0 0 24px rgba(255, 107, 107, 0.6), 0 0 48px rgba(255, 142, 83, 0.3), 0 6px 0 #D94848, 0 8px 20px rgba(0,0,0,0.2); }
}

/* Zıp basma (buton active) */
@keyframes bouncePress {
    0% { transform: scale(1); }
    30% { transform: scale(0.88); }
    60% { transform: scale(1.04); }
    100% { transform: scale(1); }
}

/* Jöle titreme (kutlama) */
@keyframes jelloWobble {
    0%, 100% { transform: skewX(0deg) skewY(0deg); }
    15% { transform: skewX(-5deg) skewY(-5deg); }
    30% { transform: skewX(4deg) skewY(4deg); }
    45% { transform: skewX(-3deg) skewY(-3deg); }
    60% { transform: skewX(2deg) skewY(2deg); }
    75% { transform: skewX(-1deg) skewY(-1deg); }
}

/* Gökkuşağı parıltı */
@keyframes rainbowShimmer {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

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