/* 猫咪组合动画效果 - 性能优化版 */

/* 🎨 cat-wrapper 由JS动态创建并应用动画，这里只定义关键帧 */

/* 整体轻微抖动 */
@keyframes cat-wiggle {
    0%, 100% {
        transform: translate(0, 0) rotate(0deg);
    }
    25% {
        transform: translate(2px, -1px) rotate(1deg);
    }
    50% {
        transform: translate(-2px, 1px) rotate(-1deg);
    }
    75% {
        transform: translate(2px, 1px) rotate(0.5deg);
    }
}

/* 🚀 性能优化：首页囚犯卡片默认不启动动画，只在hover时启动 */
/* 头部摇摆 - 延迟由JS生成 - 超级微动 */
.cat-animation-active .cat-head,
.imprisonment-cat-avatar .cat-head,
.floating-btn-avatar .cat-head,
#prisonerDetailAvatar .cat-head,
.room-avatar-container .cat-head {
    transform-origin: center bottom;
    animation: cat-head-wag 3s ease-in-out infinite alternate;
    --base-duration: 3s;
    will-change: transform; /* GPU加速 */
}

/* 首页卡片只在hover时启动动画 */
.prisoner-card:hover .prisoner-avatar .cat-head {
    transform-origin: center bottom;
    animation: cat-head-wag 3s ease-in-out infinite alternate;
    --base-duration: 3s;
    will-change: transform;
}

@keyframes cat-head-wag {
    from {
        transform: rotate(-0.5deg);
    }
    to {
        transform: rotate(0.5deg);
    }
}

/* 眼睛眨动 - 延迟由JS生成 */
.cat-animation-active .cat-eyes,
.imprisonment-cat-avatar .cat-eyes,
.floating-btn-avatar .cat-eyes,
#prisonerDetailAvatar .cat-eyes,
.room-avatar-container .cat-eyes {
    animation: cat-eyes-blink 3s ease-in-out infinite;
    --base-duration: 3s;
}

/* 首页卡片只在hover时启动 */
.prisoner-card:hover .prisoner-avatar .cat-eyes {
    animation: cat-eyes-blink 3s ease-in-out infinite;
    --base-duration: 3s;
}

@keyframes cat-eyes-blink {
    0%, 90%, 100% {
        opacity: 1;
    }
    93%, 96% {
        opacity: 0.1;
    }
}

/* 嘴巴上下移动 - 延迟由JS生成 */
.cat-animation-active .cat-mouth,
.imprisonment-cat-avatar .cat-mouth,
.floating-btn-avatar .cat-mouth,
#prisonerDetailAvatar .cat-mouth,
.room-avatar-container .cat-mouth {
    animation: cat-mouth-move 2s ease-in-out infinite;
    --base-duration: 2s;
    will-change: transform;
}

/* 首页卡片只在hover时启动 */
.prisoner-card:hover .prisoner-avatar .cat-mouth {
    animation: cat-mouth-move 2s ease-in-out infinite;
    --base-duration: 2s;
    will-change: transform;
}

@keyframes cat-mouth-move {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(2px);
    }
}

/* 身体弹跳 - 延迟由JS生成 */
.cat-animation-active .cat-body,
.imprisonment-cat-avatar .cat-body,
.floating-btn-avatar .cat-body,
#prisonerDetailAvatar .cat-body,
.room-avatar-container .cat-body {
    animation: cat-body-bounce 2.5s ease-in-out infinite;
    --base-duration: 2.5s;
    will-change: transform;
}

/* 首页卡片只在hover时启动 */
.prisoner-card:hover .prisoner-avatar .cat-body {
    animation: cat-body-bounce 2.5s ease-in-out infinite;
    --base-duration: 2.5s;
    will-change: transform;
}

@keyframes cat-body-bounce {
    0%, 100% {
        transform: translateY(0) scaleY(1);
    }
    50% {
        transform: translateY(-3px) scaleY(0.98);
    }
}

/* 可选：禁用动画的类（用于性能优化或用户偏好） */
.cat-animation-disabled,
.cat-animation-disabled * {
    animation: none !important;
}
