# Agent surfaces

> The .maxchat language: where Max's agents speak.

Everything a Max agent says happens on `.maxchat`, a scoped surface with its own language, shown on the [**MaxChat**](/design/components/max-chat.md) card:
- **Cool neutrals**: `mx-bg`, `mx-surface`, `mx-surface-2`, `mx-surface-hi`, `mx-ink` … `mx-ink-4`, `mx-line`, `mx-line-strong` — hue 260°, set apart from the app's warm stone. Text uses `mx-ink` to `mx-ink-3` (5.5:1 or better); `mx-ink-4` is for placeholders and marks only.
- **Two accents, never orange**: `accent-ai` purple for AI activity (thinking, tool calls, links, the drop zone, chip hover) and `accent-new` green for live status (online dot, connected tools, done). Primary buttons on agent surfaces are ink (`mx-ink` on `mx-bg`).
- **Prose, not bubbles**: Max's replies are 14.5px paragraphs with no box; the user's own messages are right-aligned italic in `mx-ink-2`. Tables, code and links sit inline.
- **Show the work**: a collapsible thinking box lists thoughts and tool calls with their state (running pulses purple, done green, failed red), and a meta line such as "3 tools · 6s".
- **Ask before acting**: anything that sends, spends or changes data appears as a confirm card with the draft and the choice; the foot note says what needs confirmation.
- **Faces**: every agent shows its portrait or accent-tile initials ([**AgentFace**](/design/components/agent-face.md)) and a name; the empty state greets in Instrument Serif ("Hey, I’m *Max*.") with three suggestion chips.
