.chat-bubble .bubble-actions .speak-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    width: 44px !important;
    min-width: 32px;
    max-width: 44px;
    padding-inline: 7px;
    flex-shrink: 0;
}
.chat-bubble .bubble-actions .speak-btn > svg { width: 20px; height: 20px; flex: 0 0 20px; }
.chat-bubble .bubble-actions .speak-btn .chat-speech-label { display: none !important; }
.chat-bubble .bubble-actions .chat-speech-feedback {
    display: block; flex: 0 0 100%; width: 100%; min-width: 0; max-width: 100%;
    order: 98; margin-top: 0; color: var(--mobile-muted, #64748b);
    font-size: 12px; line-height: 1.5; white-space: normal; overflow-wrap: anywhere;
    text-align: start; writing-mode: horizontal-tb;
}
.chat-bubble .bubble-actions .chat-speech-feedback:empty { display: none; }
.chat-speech-wave { display: none; align-items: center; gap: 2px; width: 18px; height: 20px; flex: 0 0 18px; }
.chat-speech-wave i { display: block; width: 3px; height: 8px; border-radius: 2px; background: currentColor; animation: fuuvo-speech-wave .65s ease-in-out infinite alternate; }
.chat-speech-wave i:nth-child(2) { height: 16px; animation-delay: -.35s; }
.chat-speech-wave i:nth-child(3) { height: 11px; animation-delay: -.15s; }
.chat-bubble .bubble-actions .speak-btn.is-speaking { color: #4167df; }
.chat-bubble .bubble-actions .speak-btn.is-speaking > svg { display: none; }
.speak-btn.is-speaking .chat-speech-wave { display: inline-flex; }
.speak-btn.is-speech-loading > svg { opacity: .5; }
.chat-speech-feedback[data-speech-phase="error"] { color: #b23a44 !important; }
body[data-ui-theme="dark"] .chat-bubble .bubble-actions .speak-btn.is-speaking { color: #9db4ff; }
body[data-ui-theme="dark"] .chat-speech-feedback[data-speech-phase="error"] { color: #ffabb1 !important; }
@media (min-width: 921px) {
    .chat-bubble .bubble-actions.chat-answer-actions {
        flex-wrap: wrap;
        row-gap: 6px !important;
    }
    .chat-bubble .bubble-actions .speak-btn {
        appearance: none;
        box-sizing: border-box;
        width: 36px !important; min-width: 36px !important; max-width: 36px;
        height: 36px; min-height: 36px;
        padding: 8px;
        border: 0;
        border-radius: 9px;
        background: transparent;
        color: #6f7784;
        box-shadow: none;
        font: inherit;
        line-height: 1;
        cursor: pointer;
        transition: background-color .15s ease, color .15s ease;
    }
    .chat-bubble .bubble-actions .speak-btn > svg {
        width: 18px; height: 18px; flex-basis: 18px;
    }
    .chat-bubble .bubble-actions .speak-btn:is(:hover, :focus-visible) {
        background: #f1f4f8;
        color: #263449;
    }
    .chat-bubble .bubble-actions .speak-btn:focus-visible {
        outline: 2px solid #4167df;
        outline-offset: 2px;
    }
    .chat-bubble .bubble-actions .speak-btn:is(.is-speaking, .is-speech-loading, [data-speech-phase="blocked"]) {
        background: #eef3ff;
        color: #4167df;
    }
    .chat-bubble .bubble-actions .speak-btn.is-speech-loading > svg { display: none; }
    .chat-bubble .bubble-actions .speak-btn.is-speech-loading::after {
        content: '';
        box-sizing: border-box;
        width: 18px; height: 18px;
        border: 2px solid currentColor;
        border-right-color: transparent;
        border-radius: 50%;
        animation: fuuvo-speech-spin .8s linear infinite;
    }
    .chat-bubble .bubble-actions .speak-btn[data-speech-phase="error"] { color: #b23a44; }
    .chat-bubble .bubble-actions .chat-speech-feedback { text-align: end; color: #64748b; }
    body[data-ui-theme="dark"] .chat-bubble .bubble-actions .speak-btn,
    body[data-ui-theme="dark"] .chat-bubble .bubble-actions .chat-speech-feedback { color: #aeb8c6; }
    body[data-ui-theme="dark"] .chat-bubble .bubble-actions .speak-btn:is(:hover, :focus-visible) {
        background: #232a34;
        color: #f2f6fb;
    }
    body[data-ui-theme="dark"] .chat-bubble .bubble-actions .speak-btn:is(.is-speaking, .is-speech-loading, [data-speech-phase="blocked"]) {
        background: #252f48;
        color: #9db4ff;
    }
    body[data-ui-theme="dark"] .chat-bubble .bubble-actions .speak-btn[data-speech-phase="error"] { color: #ffabb1; }
}
@media (max-width: 920px) {
    html body.fuuvo-mobile-prototype:not(.fuuvo-mobile-prototype-home)[data-mode="chat"] .chat-answer-actions { flex-wrap: wrap !important; }
    html body.fuuvo-mobile-prototype:not(.fuuvo-mobile-prototype-home)[data-mode="chat"] .chat-answer-actions .speak-btn[data-speech-phase] {
        width: 44px !important; min-width: 44px !important; max-width: 44px !important;
        flex: 0 0 44px !important; padding-inline: 10px !important;
    }
    html body.fuuvo-mobile-prototype:not(.fuuvo-mobile-prototype-home)[data-mode="chat"] .chat-answer-actions .speak-btn.is-speaking > svg { display: none !important; }
}
@keyframes fuuvo-speech-wave { to { transform: scaleY(.35); } }
@keyframes fuuvo-speech-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .chat-speech-wave i,
    .chat-bubble .bubble-actions .speak-btn.is-speech-loading::after { animation: none; }
}
