feat(ui): Myne-style UI overhaul — 4 tabs, API fixes, theme
Phase 1: API fixes
- Removed health() endpoint (404 on server), replaced with getLibraries()-based check
- ProgressUpdateRequest/PlaybackProgressUpdateRequest already have required fields
- Fixed ServerStatusMonitor to use getLibraries() instead of health()
- cover_url passes through as full URL (no resolveCoverUrl needed)
Phase 2: Theme (Myne blue-teal palette)
- Replaced Color.kt with Myne palette (primary #0D6681, dark #89D0EE)
- Simplified Theme.kt: dynamic color (Android 12+), fallback to static, no custom fonts
- Added material-icons-extended dependency
Phase 3-4: Navigation + Common components
- 4 tabs: Books, Audiobooks, Search, Settings
- CustomBottomNavigationItem: pill-shaped, animated text, primary.copy(alpha=0.1f)
- CustomTopAppBar: bold 28sp title, divider 2dp, circle back button
- BookItemCard: horizontal card, cover + text, surfaceColorAtElevation(3dp), RoundedCornerShape(6dp)
- ProgressDots: animated dots loader
Phase 5-8: Screens
- BooksScreen: loads ebooks from bookshelf-api, LazyVerticalGrid adaptive
- AudiobooksScreen: loads audiobooks, shows duration
- SearchScreen: OutlinedTextField with RoundedCornerShape(24dp), search via POST /api/v1/search
- SettingsScreen: sections (Appearance, Server, About) with toggles and click items
Phase 11: NavGraph
- NavHost with 4 bottom bar routes
':app:assembleOssDebug' passes. APK deployed.