e361e70b3b
A markdown table has no id — it is re-parsed from text on every render, so any resize state hung off the transcript dies on the next turn. Key the record by a hash of the header row instead: the same table resolves to the same key after a re-render, a session switch, or a reload, without the transcript carrying anything. Widths are percentages of the table box, never pixels, so a restored table stays fluid in a narrow pane. The namespace is deliberately disposable — one key, 64 entries, 7-day expiry, swept on first access. Losing it costs one drag.