Button is now just Try again (controls stay functional — voice lives in the prose). The held message cools from copper to grey to show it hasn’t landed; tap “Try again” and it warms back to copper as it sends.
MALLORY_
The line’s gone quiet.
I’ll hold what you said and send it the moment we’re back.
Pull the filings before quarter-end
holding — will send when the line’s back
What changed
Button copy → Try again (no personality on controls)
Proper refresh icon
Held line fades copper → grey slowly (≈3.5s) = not delivered
On success it warms back to copper (≈0.45s) = sent
Status ring oxblood while down; hollow grey once back
Locked
First-run & Access-denied — good to go (buttons already functional: “Grant access”, “Return to sign-in”)
Tap “Try again” to watch the line warm back to copper and the ring settle. Demo re-arms so you can replay. Good? Then the state library is complete — I’ll write the Mallory brand & design guide.