/* LottieMessageBubble 动画消息气泡(CSS keyframes 模拟) */ .bubbleRow { display: flex; align-items: center; gap: var(--spacing-2, 8px); padding: var(--spacing-1, 4px) 0; } .bubble { display: flex; align-items: center; gap: var(--responsive-inline-gap-xs, 4px); padding: var(--spacing-3, 12px) var(--spacing-4, 16px); background: #fff; border-radius: var(--radius-xxl, 24px); border-top-left-radius: 0; min-width: var(--bubble-min-width, 60px); min-height: clamp(38px, 7.407vw, 40px); box-shadow: var(--shadow-input-box, 0 1px 2px rgba(0, 0, 0, 0.1)); } .dot { display: inline-block; width: var(--responsive-dot-size, 8px); height: var(--responsive-dot-size, 8px); border-radius: 50%; background: var(--color-text-foreground, #000); animation: bounce 1.4s infinite ease-in-out both; } .dot:nth-child(1) { animation-delay: -0.32s; } .dot:nth-child(2) { animation-delay: -0.16s; } @keyframes bounce { 0%, 80%, 100% { transform: scale(0); opacity: 0.5; } 40% { transform: scale(1); opacity: 1; } }