/* ────────────────────────────────────────────────────────────
   TinyMCE Speech & FAQ Assistant – Stylesheet
   ──────────────────────────────────────────────────────────── */

/* Active (recording) mic button */
.mce-btn.tmsf-btn-active > button {
    background: #ffe0e0 !important;
    box-shadow: 0 0 0 2px #e74c3c inset !important;
}

/* Pulse animation while recording */
.mce-btn.tmsf-btn-active > button .mce-i-tmsf-mic {
    animation: tmsf-pulse 1s ease-in-out infinite;
}

@keyframes tmsf-pulse {
    0%   { opacity: 1;   transform: scale(1);    }
    50%  { opacity: 0.5; transform: scale(1.2);  }
    100% { opacity: 1;   transform: scale(1);    }
}

/* Loading / disabled FAQ button */
.mce-btn.tmsf-btn-loading > button {
    opacity: 0.55 !important;
    cursor: wait !important;
}

/* Spinner overlay on FAQ icon when loading */
.mce-btn.tmsf-btn-loading > button .mce-i-tmsf-faq {
    animation: tmsf-spin 0.9s linear infinite;
}

@keyframes tmsf-spin {
    from { transform: rotate(0deg);   }
    to   { transform: rotate(360deg); }
}

/* Notice bar */
.tmsf-notice {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 13px;
    line-height: 1.5;
    border-radius: 3px;
    padding: 8px 12px;
    margin: 4px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Interim speech text inside the editor */
.tmsf-interim {
    color: #999 !important;
    font-style: italic !important;
}
