/**
 * ==============================================================================
 * حركات وتأثيرات بصرية ناعمة - Smooth Romantic Animations (60fps)
 * ==============================================================================
 */

/* نبض ضوئي هادئ */
@keyframes gentleGlowPulse {
    0% {
        box-shadow: 0 0 15px rgba(252, 165, 192, 0.25);
    }
    100% {
        box-shadow: 0 0 35px rgba(252, 165, 192, 0.65);
    }
}

/* حركة السهم الإرشادي الأنيق في بوابة الدخول (للأسفل نحو حقل الإدخال) */
@keyframes pointingArrowBounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(5px) scale(1.15);
    }
}

/* حركة اهتزاز ناعمة عند الخطأ في الإدخال */
.shake-animation {
    animation: smoothShake 0.45s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

@keyframes smoothShake {
    10%, 90% { transform: translate3d(-2px, 0, 0); }
    20%, 80% { transform: translate3d(4px, 0, 0); }
    30%, 50%, 70% { transform: translate3d(-6px, 0, 0); }
    40%, 60% { transform: translate3d(6px, 0, 0); }
}

/* نبض القلب عند النقر السري */
.heart-pulse-fast {
    animation: heartBeatQuick 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes heartBeatQuick {
    0% { transform: scale(1); }
    50% { transform: scale(1.45) rotate(10deg); color: #f25287; }
    100% { transform: scale(1); }
}

/* تأثير ارتقاء أرقام العداد */
.timer-tick {
    animation: tickBounce 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes tickBounce {
    0% { transform: scale(0.9); opacity: 0.6; }
    60% { transform: scale(1.08); opacity: 1; }
    100% { transform: scale(1); opacity: 1; }
}

/* جسيمات القلوب الطافية عند النقر في أي مكان بالشاشة */
.floating-click-heart {
    position: fixed;
    pointer-events: none;
    z-index: 999999;
    font-size: 1.4rem;
    animation: floatUpAndFade 1.2s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
    transform: translate(-50%, -50%);
}

@keyframes floatUpAndFade {
    0% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(0.4) rotate(0deg);
    }
    40% {
        transform: translate(calc(-50% + var(--rx, 0px)), -90px) scale(1.2) rotate(15deg);
    }
    100% {
        opacity: 0;
        transform: translate(calc(-50% + var(--rx, 0px) * 1.5), -160px) scale(0.9) rotate(-15deg);
    }
}

/* موجات الصوت الموسيقية */
@keyframes wavePulse {
    0%, 100% { height: 4px; }
    50% { height: 14px; }
}

/* قلوب عائمة هادئة في الخلفية */
.ambient-bg-heart {
    position: absolute;
    bottom: -50px;
    color: rgba(252, 165, 192, 0.2);
    font-size: 1.2rem;
    pointer-events: none;
    animation: ambientFloat 14s linear infinite;
}

@keyframes ambientFloat {
    0% {
        transform: translateY(0) rotate(0deg);
        opacity: 0;
    }
    20% {
        opacity: 0.5;
    }
    80% {
        opacity: 0.5;
    }
    100% {
        transform: translateY(-110vh) rotate(360deg);
        opacity: 0;
    }
}
