.speech-controls{background:var(--popover);border:1px solid var(--border);border-radius:12px;margin:24px 0;padding:16px}.speech-buttons{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.speech-buttons button,.speech-buttons select{font:inherit;color:var(--foreground);background:var(--background);border:1px solid #a5b7a8;border-radius:6px;min-height:44px;padding:8px 12px}.speech-buttons button:disabled{opacity:.45;cursor:default}.speech-buttons label{align-items:center;gap:8px;display:flex}.speech-status,.speech-help{margin:12px 0 0;font-size:13px;line-height:1.6}.speech-help{color:var(--muted-foreground)}.speech-buttons select:focus-visible{outline-offset:3px;outline:3px solid #75943a}.speech-block{position:relative}.block-speech-button{vertical-align:middle;box-sizing:border-box;width:44px;min-width:44px;height:44px;color:var(--foreground);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:0 0 44px;justify-content:center;align-items:center;margin:0 0 0 8px;padding:0;font:14px/1 system-ui,sans-serif;display:inline-flex;position:static}.block-speech-button>svg{flex:none;width:16px;height:16px;margin:0;padding:0;display:block}.block-speech-button:hover{background:var(--muted)}.block-speech-button:focus-visible{outline-offset:2px;outline:3px solid #75943a}.speech-heading{align-items:center;gap:8px;display:flex}.speech-heading-text{overflow-wrap:anywhere;flex:0 auto;min-width:0}.speech-heading>.block-speech-button{margin:0}.speech-active{outline-offset:6px;border-radius:3px;outline:2px solid #71976b}.speech-range-overlay{pointer-events:none;z-index:79;position:fixed;inset:0}.speech-range-overlay>span{pointer-events:none;background:#e8af002e;border-radius:2px;outline:2px solid #b77d00;position:fixed}.dark .speech-range-overlay>span{background:#ffe08a26;outline-color:#ffe08a}.speech-controls{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));box-sizing:border-box;z-index:100;width:min(420px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--foreground);margin:0;font:14px/1.6 system-ui,sans-serif;position:fixed;overflow:auto;box-shadow:0 8px 40px #17362f33}.speech-controls[hidden]{display:none}.speech-close{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;margin:0 0 12px auto;display:block}.speech-context{color:#52645a;overflow-wrap:anywhere;grid-template-rows:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr);height:min(280px,36dvh);margin-top:14px;display:grid;overflow:hidden}.speech-context[hidden]{display:none}.speech-context-item{border-radius:6px;flex-direction:column;min-height:0;padding:8px 10px;display:flex}.speech-context-label{flex:none;font-size:12px;font-weight:700;display:block}.speech-context-item p{overscroll-behavior:contain;min-height:0;margin:4px 0 0;line-height:1.6;overflow:auto}.speech-current-sentence{color:#17271e;background:#ffe08a;border-left:3px solid #765317;font-weight:600}.speech-close:focus-visible{outline-offset:2px;outline:3px solid #75943a}.speech-notice{color:var(--muted-foreground);font-size:13px}.tts-option{position:relative}.tts-option.speech-block{grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:4px;display:grid}.tts-option>.block-speech-button{margin:0}.tts-option .speech-active{display:block}.speech-notice{color:#60736a;max-width:900px;margin:16px auto;padding:0 24px;font-size:13px}.speech-navigation{margin-top:12px}.dark .speech-context{color:var(--muted-foreground)}
