Showcase / host composition
Dictation.
Source-first chrome for compose dictation: idle mic + voice mode, then data-au-state="dictating" with a pulsed stop. Host owns SpeechRecognition / permission / transcript; no runtime here. Full ChatGPT shell: chatgpt.
Deferred: mic permission UX, interim transcript streaming, TTS read-aloud runtime.
<link rel="stylesheet" href="tokens.css">
<link rel="stylesheet" href="components/button/button.css">
<link rel="stylesheet" href="components/chat-input/chat-input.css">
<link rel="stylesheet" href="host-chrome.css">
<link rel="stylesheet" href="host-skins.css">