/* Speaking indicator */
.speaking-indicator {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.8);
  color: white;
  padding: 0.5rem 1rem;
  border-radius: 20px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  z-index: 1002;
  opacity: 0;
  transition: opacity 0.3s;
  border: 1px solid var(--emerald-30);
}

.speaking-indicator.active {
  opacity: 1;
}

.speaking-indicator .wave {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 16px;
}

.speaking-indicator .bar {
  width: 3px;
  background-color: var(--emerald);
  animation: sound 0.5s linear infinite alternate;
}

.speaking-indicator .bar:nth-child(1) { height: 10px; animation-delay: 0.1s; }
.speaking-indicator .bar:nth-child(2) { height: 16px; animation-delay: 0.2s; }
.speaking-indicator .bar:nth-child(3) { height: 12px; animation-delay: 0.3s; }
.speaking-indicator .bar:nth-child(4) { height: 8px; animation-delay: 0.4s; }

@keyframes sound {
  0% { height: 3px; }
  100% { height: 16px; }
}
