* feat(chat): rich message bubbles with reasoning, code, clarify, subagent cards (#659#660#661#662#663#664)
* fix(chat): render ClarifyBubble at bottom of message list, not as inline SYSTEM message
Fixes two on-device bugs:
1. ClarifyBubble now renders at the very bottom of the LazyColumn
(after all messages, streaming message, typing indicator, and subagent
indicators) instead of inline among regular messages.
2. Bubble disappears when an option is selected or dismissed — the
ClarifyBubble is driven by state.clarifyRequest instead of a
persisted ChatMessage.clarifyInfo, so clearing the request state
removes it from the list entirely.
* fix(chat): add text input field to ClarifyBubble for custom typed answers
* fix(chat): render ReasoningCard at list level with stable key, not inside AssistantBubble
* fix(chat): address agy review — hoist regex, fix a11y, cache anim specs, disable animateContentSize while streaming
* fix(chat): replace hardcoded Color() with theme constants to pass CI checkColorLiterals
---------
Co-authored-by: M57 <Hy4ri@users.noreply.github.com>