/* Ask Amy floating lozenge — floats above any page background. */
button.askamy-lozenge {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  width: min(22rem, calc(100% - 2rem));
  height: 3.8rem;
  padding: 0 1.5rem;
  border: 0;
  border-radius: 999px;
  background: #2a2e33;
  color: #f3f5f6;
  font: 700 1.2rem/1 system-ui, sans-serif;
  letter-spacing: 0.01em;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.32);
  cursor: pointer;
}
button.askamy-lozenge:focus-visible {
  outline: 2px solid #2EE6C5;
  outline-offset: 3px;
}
button.askamy-lozenge:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
button.askamy-lozenge .askamy-wave {
  width: 1.75rem;
  height: 1.75rem;
  flex: 0 0 auto;
  color: #2EE6C5;
}
button.askamy-lozenge .askamy-wave .bar {
  fill: currentColor;
  transform-origin: center bottom;
  transform-box: fill-box;
}
button.askamy-lozenge[data-state="idle"] .askamy-wave {
  color: #2EE6C5;
  animation: none;
}
button.askamy-lozenge[data-state="ready"] .askamy-wave {
  animation: askamy-ready 1.4s ease-in-out infinite;
}
button.askamy-lozenge[data-state="speaking"] .askamy-wave {
  animation: askamy-speaking 0.7s ease-in-out infinite;
}
button.askamy-lozenge[data-state="ready"] .bar,
button.askamy-lozenge[data-state="speaking"] .bar {
  animation: askamy-bounce 1.2s ease-in-out infinite;
}
button.askamy-lozenge[data-state="speaking"] .bar {
  animation-duration: 0.55s;
}
button.askamy-lozenge .bar:nth-child(1) { animation-delay: 0s; }
button.askamy-lozenge .bar:nth-child(2) { animation-delay: 0.12s; }
button.askamy-lozenge .bar:nth-child(3) { animation-delay: 0.24s; }
button.askamy-lozenge .askamy-loz-label {
  white-space: nowrap;
}
button.askamy-lozenge .askamy-loz-label .ask {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  color: #fff;
}
button.askamy-lozenge .askamy-loz-label .amy {
  font-family: system-ui, sans-serif;
  font-weight: 700;
  color: #2EE6C5;
}
button.askamy-lozenge.is-register .askamy-loz-label {
  font-family: system-ui, sans-serif;
  color: #f3f5f6;
}
@keyframes askamy-ready {
  0%, 100% { color: #FFFFFF; }
  50% { color: #2EE6C5; }
}
@keyframes askamy-speaking {
  0%, 100% { color: #FF3B3B; }
  50% { color: #2EE6C5; }
}
@keyframes askamy-bounce {
  0%, 100% { transform: scaleY(0.72); }
  50% { transform: scaleY(1); }
}
@media (max-width: 720px) {
  button.askamy-lozenge {
    width: 3.8rem;
    height: 3.8rem;
    padding: 0;
    gap: 0;
  }
  button.askamy-lozenge .askamy-loz-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }
  button.askamy-lozenge .askamy-wave {
    width: 1.85rem;
    height: 1.85rem;
  }
}
