/* assets/css/animations.css — Yummy Lunchbox Puzzle */

/* --- GENERAL UTILS --- */

/* Плавное появление (Fade In) */
.fade-in {
    animation: fadeIn 0.4s ease-out forwards;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* --- FEEDBACK ANIMATIONS (JUICINESS) --- */

/* Тряска (Ошибка / Нельзя поставить) */
.shake {
    animation: shake 0.4s cubic-bezier(.36,.07,.19,.97) both;
}

@keyframes shake {
    10%, 90% { transform: translate3d(-1px, 0, 0); }
    20%, 80% { transform: translate3d(2px, 0, 0); }
    30%, 50%, 70% { transform: translate3d(-4px, 0, 0); }
    40%, 60% { transform: translate3d(4px, 0, 0); }
}

/* Пульсация (Подсказка / Выделение активного предмета) */
.pulse {
    animation: pulse 1.5s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

/* Пружина (Успешное действие / Появление кнопки) */
.bounce-in {
    animation: bounceIn 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@keyframes bounceIn {
    0% { transform: scale(0); opacity: 0; }
    60% { transform: scale(1.1); opacity: 1; }
    100% { transform: scale(1); }
}

/* "Чпок" (При установке предмета) */
.pop-effect {
    animation: pop 0.2s ease-out;
}

@keyframes pop {
    0% { transform: scale(0.9); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

/* --- SCREEN TRANSITIONS --- */

/* Слайд снизу (для инвентаря) */
.slide-up {
    animation: slideUp 0.3s ease-out forwards;
}

@keyframes slideUp {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
}

/* Слайд сверху (для меню) */
.slide-down {
    animation: slideDown 0.3s ease-out forwards;
}

@keyframes slideDown {
    from { transform: translateY(-100%); }
    to { transform: translateY(0); }
}

/* Звезды победы */
.star-pop {
    opacity: 0;
    animation: starPop 0.5s ease-out forwards;
}

/* Задержки для звезд, чтобы появлялись по очереди */
.star-pop:nth-child(1) { animation-delay: 0.1s; }
.star-pop:nth-child(2) { animation-delay: 0.3s; }
.star-pop:nth-child(3) { animation-delay: 0.5s; }

@keyframes starPop {
    0% { transform: scale(0) rotate(-180deg); opacity: 0; }
    70% { transform: scale(1.2) rotate(10deg); opacity: 1; }
    100% { transform: scale(1) rotate(0deg); opacity: 1; }
}