Add imageEmbed block type to the docs editor with full support for:
- /image slash command to create image placeholder blocks
- Upload via file picker, drag-drop, or paste
- Auto-resize images to fit under 1MB using Canvas API
- Alt text input always visible below image (like code block lang selector)
- ALT pill with popover in read-only view mode
- Proper save/load via GraphQL with blob upload mutation
Technical changes:
- Add imageEmbed to document lexicon with blob image and alt text fields
- Add image resize utilities (readFileAsDataURL, resizeImage, etc.)
- Add blob:image/* to OAuth scope for image uploads
- Consolidate heading sizes into CSS variables for view/edit consistency
- Fix view mode spacing to match edit mode
Keyboard navigation:
- Click image to focus block, click alt input to edit
- Enter/ArrowDown on image creates new paragraph after
- Escape in alt input focuses block for navigation