feat: add collapsible block type and enhance paragraph menu UX
- Added CollapsibleBlockComponent with registration in block host and columns
- Enhanced paragraph block with inline "+" button for column layouts and improved menu positioning
- Updated toggle block to support creating new toggle blocks below with dedicated event handlers
- Improved menu styling with fixed positioning, keyboard navigation (arrows, Enter, Escape), and focus management
- Simplified inline action handling by deleg
- Added timestamp, author, and description fields to both compact and detailed view modes
- Implemented thumbnail support in detailed view with automatic image extraction from note content
- Improved auto-selection behavior when filters change using reactive signals for more reliable note navigation
- Implemented multi-selection for notes with Ctrl+click, long-press, and keyboard shortcuts (Ctrl+A, Escape)
- Added Gemini API integration with environment configuration and routes
- Enhanced code block UI with improved copy feedback animation and visual polish
- Added sort order toggle (asc/desc) for note lists with persistent state
- Added support for non-markdown files (images, PDFs, code, etc) in vault metadata endpoints
- Implemented filesystem scanning for non-markdown files with configurable extension whitelist
- Added deduplication by file path to prevent duplicates between Meilisearch and filesystem
- Enhanced folder filtering and kind filtering to properly handle non-markdown files
- Added validation to remove stale entries not present on disk
- Improved logging to track
- Added new API endpoint /api/vault/notes/move for moving markdown files between folders
- Implemented setupMoveNoteEndpoint with path validation, error handling, and event broadcasting
- Added move note UI component to note header with folder selection
- Updated note viewer to handle note path changes after moving
- Added moveNoteToFolder method to VaultService for client-side integration
- Modified note header layout to include move trigger