/* static/pulse/mic.css — FW7.2 shared mic button (ported from .note-mic-btn). */
.pm-mic {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.35rem;
  padding: 0.5rem 1rem; border: none; border-radius: 10px;
  font-family: inherit; font-size: 0.82rem; font-weight: 700; cursor: pointer;
  background: #1D4ED8; color: #fff; box-shadow: 0 2px 6px rgba(29, 78, 216, 0.28);
  transition: transform .1s ease, box-shadow .1s ease, background .15s ease;
}
.pm-mic:hover { transform: translateY(-1px); box-shadow: 0 4px 10px rgba(29, 78, 216, 0.34); }
.pm-mic:disabled { opacity: 0.85; cursor: default; transform: none; }
.pm-mic.recording {
  background: #DC2626; box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.45);
  animation: pm-mic-pulse 1.2s ease-in-out infinite;
}
/* Compact variant for tight rows (chat composer, per-field). */
.pm-mic--compact {
  padding: 0.35rem 0.5rem; border-radius: 8px; font-size: 0.9rem; gap: 0.2rem;
}
@keyframes pm-mic-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.5); }
  50%      { box-shadow: 0 0 0 6px rgba(220, 38, 38, 0); }
}
.pm-spin {
  display: inline-block; width: 0.85em; height: 0.85em; vertical-align: -1px;
  border: 2px solid rgba(255, 255, 255, 0.55); border-top-color: #fff;
  border-radius: 50%; animation: pm-spin 0.7s linear infinite;
}
@keyframes pm-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .pm-mic.recording { animation: none; }
  .pm-spin { animation: none; }
}
