.browser-speech{position:fixed;z-index:1100;left:50%;bottom:8px;width:min(820px,calc(100vw - 16px));max-height:calc(100dvh - 16px);display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:8px;box-sizing:border-box;padding:12px 18px max(12px,env(safe-area-inset-bottom));background:#fffaf2;color:#352b28;border:1px solid #b9976d;border-radius:14px;box-shadow:0 4px 28px #29190e36;font:16px/1.4 Georgia,serif;overflow:hidden}
.browser-speech[hidden],.browser-speech [hidden]{display:none!important}
.browser-speech .speech-heading{display:flex;align-items:center;gap:12px;min-width:0}
.browser-speech [data-speech-title]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px}
.browser-speech p{margin:0}
.browser-speech>p{font-size:14px;color:#695e54}
.browser-speech .speech-actions{display:flex;gap:8px;flex-wrap:wrap}
.browser-speech button,.browser-speech select{font:inherit;border:1px solid #b79b77;background:#fffdf8;color:#4f3027;border-radius:8px;padding:9px 14px;min-height:44px;box-sizing:border-box;max-width:100%}
.browser-speech button{cursor:pointer;touch-action:manipulation}
.browser-speech .speech-actions>button:first-child{background:#6d4230;border-color:#6d4230;color:#fffaf2;min-width:135px}
.browser-speech button:disabled{opacity:.5;cursor:default}
.browser-speech .speech-close{flex:none;padding:0;min-width:44px;font:26px/1 sans-serif;border-color:transparent;background:transparent}
.browser-speech .speech-options-scroll{min-height:0;overflow:auto;overscroll-behavior:contain}
.browser-speech details{margin-top:8px;border-top:1px solid #ddccb5}
.browser-speech summary{cursor:pointer;padding:8px 0;color:#6c4332;min-height:24px}
.browser-speech label{display:block;margin:10px 0 4px}
.browser-speech select{width:100%;max-width:100%}
.browser-speech .speech-note{font-size:13px;line-height:1.5;color:#695e54;margin:6px 0}
.browser-speech .speech-wake{display:flex;align-items:center;gap:9px;margin:0;min-height:38px;font-size:14px;cursor:pointer}
.browser-speech .speech-wake input{flex:none;width:20px;height:20px;margin:0;accent-color:#6d4230}
.browser-speech .speech-wake-status{font-size:12px;margin:0 0 2px 29px}
.speech-dock-space{pointer-events:none;height:0}
.speech-options label{display:block;margin:12px 0}.speech-options input{width:auto;accent-color:#84553b}.speech-options small{display:block;margin-top:10px;line-height:1.5}
.browser-speech :focus-visible{outline:3px solid #98683d;outline-offset:2px}
@media(max-width:600px){.browser-speech{padding:10px 12px max(10px,env(safe-area-inset-bottom));gap:6px}.browser-speech .speech-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.browser-speech .speech-actions>button:first-child{min-width:0}.browser-speech .speech-from-here{grid-column:1/-1}.browser-speech button{padding:9px 10px}.browser-speech [data-speech-title]{font-size:16px}}
