.composer-bottom { gap: 8px; }
.composer-bottom .model-select { max-width: none; }
.composer-bottom #speechToggle { width: auto; min-width: 52px; height: 38px; padding: 0 10px; flex-shrink: 0; font-size: 12px; background: #edf2e6; color: var(--green); border-radius: 9px; }
#speechToggle[aria-expanded="true"] { background: #dce7ce; }
.speech-panel { border-top: 1px solid var(--line); margin-top: 10px; padding-top: 10px; }
.speech-controls { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
#speechHold { flex: 1; min-height: 48px; min-width: 150px; border: 1px solid #cad8bd; border-radius: 12px; background: #edf3e6; color: var(--green); font-size: 15px; font-weight: 600; touch-action: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
#speechHold.is-recording { background: var(--green); color: #fff; border-color: var(--green); }
#speechHold:disabled { opacity: .6; cursor: default; }
.speech-small { min-height: 40px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; font-size: 12px; }
.speech-small:disabled { opacity: .6; }
.speech-status { margin: 8px 0; color: #53664c; font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; }
#speechTimer { font-size: 11px; color: #66755f; font-variant-numeric: tabular-nums; }
.speech-consent, .speech-pending { padding: 10px; border-radius: 10px; background: #f3f5eb; font-size: 12px; line-height: 1.7; margin-bottom: 8px; overflow-wrap: anywhere; }
.speech-consent a { text-decoration: underline; }
.speech-consent p, .speech-pending p { margin-bottom: 7px; }
#speechRetry { font-size: 11px; min-height: 32px; }
.speech-panel [hidden], .speech-panel[hidden] { display: none !important; }
.speech-panel button:focus-visible, #speechToggle:focus-visible { outline: 3px solid #c6a65d; outline-offset: 2px; }
@media (max-width: 650px) {
  .composer-bottom #speechToggle { min-width: 54px; height: 44px; font-size: 13px; }
  .composer-bottom .model-select { max-width: none; }
  .speech-panel { max-height: 42svh; overflow-y: auto; overscroll-behavior: contain; }
  .speech-small { min-height: 44px; }
}
