/* Bouton d’envoi canonique (cercle + avion papier) — chat public, Comparer, custom UI */
.aki-send-btn {
  background: var(--accent, var(--color-primary-600, #ea580c));
  border: none;
  color: #fff;
  cursor: pointer;
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  padding: 0;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  transition: opacity .12s, filter .12s;
}
.aki-send-btn:hover:not(:disabled) { filter: brightness(0.95); }
.aki-send-btn:disabled { opacity: .35; cursor: default; }
.aki-send-btn svg {
  width: 17px;
  height: 17px;
  fill: currentColor;
  stroke: none;
  display: block;
  pointer-events: none;
}
.aki-send-btn .icon-send { margin-left: 2px; }
.aki-send-btn.stop-mode .icon-send { display: none !important; }
.aki-send-btn.stop-mode .icon-stop { display: block !important; }
.aki-send-btn:not(.stop-mode) .icon-stop { display: none !important; }

.typing-indicator {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 2px 0;
}
.typing-dots {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
}
.typing-label {
  font-size: 13px;
  font-weight: 500;
  color: color-mix(in srgb, var(--text, var(--color-text)) 78%, var(--muted, var(--color-text-muted)));
  letter-spacing: 0.01em;
}
.typing-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--accent, var(--color-primary-600, #ea580c)) 70%, var(--text, var(--color-text)));
  animation: typing-bounce 1.1s ease-in-out infinite;
}
.typing-dot:nth-child(2) { animation-delay: 0.15s; }
.typing-dot:nth-child(3) { animation-delay: 0.3s; }
@keyframes typing-bounce {
  0%, 80%, 100% { transform: translateY(0); opacity: 0.45; }
  40% { transform: translateY(-4px); opacity: 1; }
}
