# Chat message

A single user, assistant, system, or tool turn. Keep status and actions local to the turn.

**Install:** `tokens.css` + `chat-message.css`. Optional: `button.css` when rendering `__actions`.

**Parts:** `__avatar`, `__meta` (`__role`, `__time`, optional `__model`), `__body`, optional `__details` (native expand), optional `__actions` (host-owned Copy / Regenerate / Delete).

**States:** host-rendered `idle`, `streaming`, `success`, `error`, and `cancelled`. **No-JS:** semantic article content and native details remain usable. **Accessibility:** use an `article`, expose the role as text, and do not rely on avatar color. **CSS variables:** `--au-message-gap`, `--au-message-avatar`. **JavaScript:** none required; hosts own copy, regenerate, and delete.
