It should join the ghost family, not shout. Click to preview on the phone.
Empty state for all: muted grey + disabled. Recommended: ghost-oxblood — the arrow lights oxblood only when there’s something to send (a true action), matching the mic and spending red meaningfully.
Bottom sheet listing past conversations. Set each as a dispatch line, oxblood byline, tap to continue.
exists · sheetBottom sheet — lead, a short list, the notification-enable action. Same sheet shell as threads.
exists · sheetDropdown of actions. Tighten to icon+label rows, weight-led, drop the in-app-only Settings split now it’s web.
exists · dropdownThe opener line. Lean into it — the spymaster greeting + building cursor, a calm “awaiting orders”.
existsShown when picking up a thread. Restyle as a quiet copper chip with the tick language.
existsNo considered state today. Needs an in-character “the line’s down” treatment — calm, not alarming.
gapThe notification-access grant. A single branded bridge screen, matched to the Threshold.
gap · nativeFully custom HTML allowed here — a proper in-character “access denied” rather than Cloudflare’s default.
customisableTwo asks: (1) pick the send style; (2) tell me which of these rooms you want folded into the guide now vs noted as future work — and flag anything I’ve missed. Then I’ll write the full Mallory brand & design guide.