Typewriter mode (⌨ toolbar button):
- Registers TipTap update/selectionUpdate listeners via editor.on()
- On each change, uses coordsAtPos + window.scrollBy to keep cursor
at 50% of viewport height — instant, no scroll-lag
- Adds 50vh padding-bottom so the last line can reach screen centre
- Toggles .typewriter class on <html>; cleans up on unmount
Alignment buttons:
- Replaced L/C/R text labels with inline SVG stacked-line icons
(left, centre, right, justify) — standard text-editor appearance
- Added Justify as a fourth option
Highlight readability:
- Added color: #111 !important to .editor-body .ProseMirror mark
so highlighted text is always dark-on-light regardless of theme
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>