.mascot-bubble {
  display: flex;
  align-items: flex-end;
  gap: var(--space-3);
}

.mascot-bubble__avatar {
  flex: none;
  width: 72px;
  height: 72px;
  animation: mascot-bob 3s ease-in-out infinite;
}

.mascot-bubble__text {
  position: relative;
  margin: 0 0 var(--space-4);
  padding: var(--space-3) var(--space-4);
  background: var(--color-surface);
  border: 2px solid var(--color-border);
  border-radius: var(--radius-md);
  border-bottom-left-radius: var(--space-1);
  font-weight: 700;
  box-shadow: var(--shadow-soft);
}

.mascot-bubble__name {
  display: block;
  font-size: var(--font-size-sm);
  color: var(--color-primary);
}

@keyframes mascot-bob {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}
