fix: store session json in url/base64 modes, scan disk for missing sessions, support url mode late joining, and display available sessions on select screen
- Added src/lib/cors.ts shared CORS helper with OPTIONS handler
- Exported OPTIONS from all 6 API routes (session, slide, poll, doubt, chat, events)
- Rewrote /api-docs as a full interactive API reference (dark theme, tabbed, collapsible cards with copy buttons)
- Updated layout metadata to SlideMap branding
- All API endpoints now work from ANY frontend (React, Vue, vanilla JS, Electron, etc.)
fix: remove +1 slide number offset shown to students
- Slide numbers from OCR are 1-indexed already.
Adding +1 was displaying slide N as Slide N+1 on student side.
- Fixed in main slide view alt text, 'Slide X of Y' counter,
slides tab header, and slides tab thumbnail alt text.
Add Slides tab with all slides + current marker; fix poll history, correct answer marking; fix real vote data