there is one record. it holds the current word, the time it was set and a version number. nothing else decides what is on screen.
{ "cur": "hello", "start": 1730000000000, "ver": 12, "top": { "w": "...", "s": 0 }, "hist": [ ... ] }
the record is written to one store. a replace reads the store first, then writes the new word with the next version.
each change is pushed at once to every open view through a broadcast channel and the storage event.
if push is missing or a message is lost, each view reads the store again every 2 seconds and catches up.
no view counts on its own. the timer is now minus the stored start time, so every view shows the same survival time.
this site is static, so the store is the browser on this device and sync reaches every tab you have open. the same record and the same rules are ready for a hosted database later. the status line under the word shows the mode: live push or polling.