Write a App in python with Flask. Make sure that you do not override the existing main.py Use existing classes but if a chnae is needed make sure main.py works as before. Look at Main.py to understand the function. Write all files in folder src/server/ Use the checklist to write the app. start on the first task. make sure each task is finished. mark a finished task with x, and save it. Stop if all Task are finshed AniWorld Web App Feature Checklist [x] Anime Search [x] Implement search bar UI (auto-suggest, clear button) [x] Connect search to backend loader [x] Display search results (name, link, cover) [x] Add anime from search results to global list [x] Global Series List [x] Display all series in a card/grid layout [x] Show missing episodes per series [x] Show cover, name, folder, and quick actions [x] Multi-select series with checkboxes [x] Select all series option [x] Download Management [x] Start download for selected series [x] Show overall and per-episode progress bars [x] Status indicators (downloading, finished, error) [x] Pause, resume, cancel actions [x] Reinit/Rescan Functionality [x] UI button for rescan/reinit [x] Show scanning progress modal [x] Live updates during scan [x] Update global series list after scan [x] Status & Feedback [x] Real-time status updates for scanning/downloading [x] Snackbar/toast notifications for actions [x] Centralized error dialog (friendly messages) [x] Configuration & Environment [x] Read base directory from environment variable [x] UI for changing directory (if needed) [x] Display current config (read-only) [x] Security [x] Validate all user inputs [x] Do not expose internal errors or stack traces [x] Modern GUI Concepts [x] Fluent UI design (Windows 11 iconography, shapes, typography) [x] Responsive design for desktop/mobile [x] Dark and light mode support [x] Localization-ready (resource files for text) [x] Effortless, calm, and familiar user experience [] Authentication & Security [] Implement login page with master password authentication [] Add password configuration option in config file [] Add session management for authenticated users [] Implement fail2ban compatible logging for failed login attempts [] Use standard fail2ban log format: "authentication failure for [IP] user [attempt]" [] Enhanced Anime Display [] Modify main anime list to show animes with missing episodes first [] Add filter toggle to show only animes with missing episodes [] Implement alphabetical sorting option for anime names [] Make only animes with missing episodes selectable for download [] Add visual indicators for animes with/without missing episodes [] Download Queue Management [] Create dedicated download queue page showing active downloads [] Display current download progress with episode name and download speed [] Show download queue with pending items [] Implement download queue status indicators (queued, downloading, completed, failed) [] Add download queue statistics (total items, ETA, current speed) [] Process Locking System [] Implement rescan process lock (only one rescan at a time) [] Add UI feedback when rescan is already running [] Disable rescan button when process is active [] Implement download queue lock (only one download process) [] Prevent duplicate episodes in download queue [] Add queue deduplication logic [] Scheduled Operations [] Add configuration option for scheduled rescan time (HH:MM format) [] Implement daily automatic rescan at configured time [] Auto-start download of missing episodes after scheduled rescan [] Add UI to configure/view scheduled rescan settings [] Show next scheduled rescan time in UI [] Enhanced Logging [] Configure console logging to show only essential information [] Remove progress bars from console output [] Implement structured logging for web interface [] Add authentication failure logging in fail2ban format [] Separate download progress logging from console output [] Add log level configuration (INFO, WARNING, ERROR)