.speech-settings { margin-block: 16px; }
.speech-settings summary { cursor: pointer; font-weight: 600; padding-block: 10px; }
.speech-settings-body { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; padding-block: 12px; }
.speech-settings-body label { flex: 1 1 240px; min-width: 0; }
.speech-settings-body select { display: block; width: 100%; margin-top: 6px; }
.speech-settings-body p { flex-basis: 100%; margin: 0; }
.speech-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-block: 8px 16px; min-width: 0; }
.speech-tools .speech-button, .speech-settings .speech-button { min-height: 44px; padding: 8px 14px; width: auto; flex: 0 0 auto; }
.speech-tools .speech-icon { width: 44px; height: 44px; min-height: 44px; padding: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.speech-button[aria-pressed="true"] { outline: 2px solid var(--accent); outline-offset: 2px; }
.speech-status { flex: 1 1 180px; overflow-wrap: anywhere; margin: 0; }
.speech-status:empty { display: none; }
@media print { .speech-settings, .speech-tools { display: none !important; } }
