feat: implement client-side upload queue with IndexedDB persistence
- upload-queue.ts: IndexedDB-backed queue manager using idb library
- File blobs stored in IndexedDB (survives page reloads)
- Sequential upload processing (one file at a time)
- XHR-based upload with per-file progress tracking
- Retry failed uploads, remove/clear completed items
- Auto-resumes pending items on page load
- UploadQueue.svelte: queue progress UI component
- Per-file: filename, size, progress bar, status badge
- Retry button on failed items, remove button, clear completed
- Processing indicator with pulse animation
- /upload page: file picker (multiple, image/video) with caption + hashtags
- Drop zone UI with drag-and-drop styling
- Caption supports inline #hashtags
- Separate comma-separated hashtags field
- Link to gallery feed
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>