Seven tools, 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) — 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, leaving seven. Colours are named house accent tokens (not seat colours), assigned per tool: slots·coral, dice·rose, cards·gold, deposit·teal, poll·slate, board·green, timer·plum — lilac is the unused 8th, and there is no red in the house palette (rose is the closest). 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). slots · 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.