Add clipboard image paste to WebChat compose area:
- Paste handler reads image files from clipboard, converts to data URLs
- Attachment preview thumbnails with remove button in compose area
- 5 MB frontend size validation (matches backend limit)
- Image content blocks rendered in chat history bubbles
- Backend NonEmptyString bypass: image-only sends use space fallback
- Attachments converted to base64 gateway format on send
Fixes#1681, supersedes #1900
- Replace orange accent (#f59f4a) with signature red (#ff4d4d)
- Switch from IBM Plex/Unbounded/Work Sans to Inter/JetBrains Mono
- Replace emoji icons with Lucide-style SVG icons throughout
- Add comprehensive CSS design tokens (colors, borders, semantic states)
- Update tool-display.json to use icon names instead of emoji
- Rebuild control-ui dist bundle