/* IMA 学习资源页专属样式（公共 .reveal-clip / .no-scrollbar 见 assets/css/style.css） */

/* 气泡出现动效 */
@keyframes bubble-in {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}
.bubble-animate {
    animation: bubble-in 350ms cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* 思考点跳动动画 */
@keyframes typing-bounce {
    0%, 60%, 100% { transform: translateY(0); opacity: 0.4; }
    30% { transform: translateY(-4px); opacity: 1; }
}
.typing-dot {
    animation: typing-bounce 1.2s infinite ease-in-out;
}
.typing-dot:nth-child(2) { animation-delay: 0.2s; }
.typing-dot:nth-child(3) { animation-delay: 0.4s; }
