/* Slovo ASR front — стили кнопки микрофона */
.slovo-asr-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid #c9d1d9;
    background: #fff;
    color: #24292f;
    font-size: 14px;
    line-height: 1.2;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s, box-shadow .15s;
    user-select: none;
}
.slovo-asr-btn:hover { background: #f6f8fa; }
.slovo-asr-btn:focus-visible { outline: 2px solid #0969da; outline-offset: 2px; }
.slovo-asr-btn .slovo-asr-icon { font-size: 16px; line-height: 1; }
.slovo-asr-btn .slovo-asr-label { white-space: nowrap; }
.slovo-asr-btn.is-recording {
    background: #d73a49; border-color: #d73a49; color: #fff;
    box-shadow: 0 0 0 0 rgba(215, 58, 73, .6);
    animation: slovo-asr-pulse 1.2s infinite;
}
@keyframes slovo-asr-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(215, 58, 73, .6); }
    70%  { box-shadow: 0 0 0 10px rgba(215, 58, 73, 0); }
    100% { box-shadow: 0 0 0 0 rgba(215, 58, 73, 0); }
}
.slovo-asr-btn.is-processing {
    background: #0969da; border-color: #0969da; color: #fff; cursor: progress;
}
.slovo-asr-btn.is-processing .slovo-asr-icon {
    display: inline-block; animation: slovo-asr-spin 1s linear infinite;
}
@keyframes slovo-asr-spin { to { transform: rotate(360deg); } }
.slovo-asr-btn.is-error {
    background: #fff5f5; border-color: #d73a49; color: #d73a49;
}
.slovo-asr-timer {
    display: inline-block; margin-left: 6px;
    font-variant-numeric: tabular-nums; font-size: 13px;
    color: #57606a; min-width: 42px;
}
@media (max-width: 600px) {
    .slovo-asr-btn { padding: 8px 14px; font-size: 15px; }
    .slovo-asr-btn .slovo-asr-label { display: none; }
    .slovo-asr-btn .slovo-asr-icon { font-size: 18px; }
}
