.nwv-mic-row {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 52px;
}

.nwv-mic-btn {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  background: #F5EFE6;
  border: 1px solid #D4B896;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #7A5C3A;
  flex-shrink: 0;
  position: relative;
  transition: background 0.15s, border-color 0.15s;
  overflow: visible;
}

.nwv-mic-btn:hover { background: #EDE0CE; }

.nwv-mic-btn.nwv-listening {
  border-color: #7A5C3A;
  background: #EDE0CE;
}

.nwv-mic-btn.nwv-wrong {
  border-color: #c0826a;
}

.nwv-mic-btn.nwv-done {
  border-color: #5a7a3a;
  color: #5a7a3a;
  cursor: default;
}

/* Pulse animation when listening */
.nwv-pulse-ring {
  position: absolute;
  inset: -6px;
  border-radius: 16px;
  border: 2px solid #7A5C3A;
  animation: mic-pulse 1.2s ease-out infinite;
  pointer-events: none;
}

@keyframes mic-pulse {
  0%   { opacity: 0.7; transform: scale(1); }
  100% { opacity: 0;   transform: scale(1.25); }
}

.nwv-hint {
  font-size: 13px;
  color: #7A5C3A;
  font-family: 'Nunito', sans-serif;
  font-weight: 600;
}

.nwv-feedback {
  font-size: 13px;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
}

.nwv-wrong-text   { color: #a05a3a; }
.nwv-correct-text { color: #5a7a3a; }

.nwv-success-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #EDE0CE;
  border: 0.5px solid #D4B896;
  border-radius: 12px;
  padding: 12px 16px;
  margin-top: 14px;
}

.nwv-success-left {
  font-size: 13px;
  font-weight: 700;
  color: #4A3728;
  font-family: 'Nunito', sans-serif;
}

.nwv-success-right {
  font-size: 12px;
  color: #8C7A65;
  font-family: 'Nunito', sans-serif;
}
