Vanilla JS rich-text editor. No frameworks, no npm, no build step.
One call upgrades every matching textarea at once. The original textareas stay
in the form (hidden) and their value auto-syncs as you type, so a
normal submit sends the edited HTML — no manual getContent() needed.