Composer

Empty input — the placeholder is the ::before pseudo-element pulling data-placeholder. The formatting toggle is in the active (aria-pressed) state.

Workspace surface (taller input) with a cycling placeholder — alternating data-cycling-key restarts the fade; disabled under reduced motion.

Shipping v2 tokens today — finally. Fallback is tokens.css, see the migration notes.

Format bar above the input; rich-text descendants (strong, em, code, links) styled by the input itself.

Mic send variant — idle and recording (destructive tint). The mic replaces the main send when the draft is empty.

Click the chevron — the schedule menu is a portaled popover anchored above the send group (quick rows, then a custom datetime block).

Discard draft?Your unsent changes will be lost.
On second thought, maybe we shouldn't…

Discard confirm strip above the input — shown when closing a composer with unsent content.