One live.doc, zero RPC handlers. A cards map plus one order array per column; every
edit applies to the local replica in the same tick and merges
everywhere. Cards move between columns with their arrow buttons.
Concurrent moves from two tabs both survive
(per-element CRDT identity), and offline edits reconcile in one
exchange on reconnect - the local replica IS the offline queue.
Editing as Funky Donut (3d0105a9) - cards carry their creator's color; a ring marks a peer's fresh edit