Eight tools(seven when this page was drawn; the Pad joined and shipped in v636 — see toolbox §13), one house look — each icon built from 2–3 shades of a single house colour (the way the die's faces work). Colours are the named house accent tokens in theme.css (--coral · --teal · --green · --gold · --slate · --plum · --rose · --lilac) — the palette the app already uses to categorise things, a per-tool assignment with nothing to do with persona seat colours. Every icon sits bbox-centred in the same 64×64 box. Theme toggle top-right — light / dark / e-ink all work because nothing is hard-coded.
color-mix), holding even where shapes overlap (the safe door is a true second shade). Cut-outs (the keyhole, the clock face) drop to the tile so they read as transparent. Seal a note is removed; the private pad joins, leaving eight. Colours are named house accent tokens (not seat colours), assigned per tool: spinner·coral, dice·rose, cards·gold, deposit·teal, poll·slate, board·green, timer·plum, pad·lilac — the 8th slot this page had already reserved. There is no red in the house palette (rose is the closest). The pad has no result bubble, and that is not an omission: it is private, so nothing it holds ever lands in the room. Any shade, colour, or shape is a one-line change.Not a command list — the tools arranged like a phone attachment menu: one pill per tool with the label beneath, on a bottom-sheet card. This is the shape I'd wire into the room.
On a narrow phone the pill is tighter, so a multi-word label wraps or truncates. This version shows a single word per tile. Hover any pill (desktop) to see the button animation — lift + its own colour.
The lifecycle of each tool, left → right, on the room's real card classes (room-ui.html). Three possible states, badged in the band: Open (action required — pulsing, keeps its coloured outline), Closed (all inputs taken, sealed and hidden), Revealed (results in — one 3-pulse glow burst on arrival, then it settles; the ✦ badge stays as the resting marker — scroll a revealed card out and back to replay it). spinner · dice · poll go Open → Revealed; deposit and the face-down deal add the sealed Closed middle; board · timer have no reveal, so Open → Closed. Carried across all: hairline rows, accent = icon colour, the corner watermark. The real code is untouched.
When a sealed deposit opens, the answer surfaces as a real message bubble at the stream's now (.msg.seal-msg) — the seal band bleeds to the bubble's top edge, then the question and the row(s). By the creator (left): every answer, each with its author. By a writer (right, their own message): just their answer, rendered bare — the sender head already names them.
The mono option — every tool in coral — if you'd rather the set read as one material and let the label carry the meaning.
How they'd sit in the live tool row — small is the real test of an icon set.
TOOL_ICONS in lib/room-ui.html, all eight)· house palette coral #CC785C on cream #F0EEE6