- Add `main-menu.png` background image that scales to fit the screen
- Replace static text titles with animated `logo-title` and `logo-people` images
- Add sine-wave tweens for logo scale and rotation effects
- Comment out the previous text-based game list (preserved for reference)
- Introduce `src/audio.js` module for centralized music playback and cleanup
- Add background music tracks for all four games and the main menu
- Refactor game config files to support multiple difficulty levels via `levels` object
- Update game scenes to load level-specific configurations and track progression
- Add win conditions based on level-specific objectives (e.g., bugs to pass, waves cleared)
- Update HUDs to display current progress toward level completion
- Reduce playfield from 20x15 to 10x15 tiles (60x60px) and center in canvas
- Replace raw pixel math with tile-based coordinate helpers (`_px`, `_py`, `_col`, `_row`)
- Rewrite player movement to use hard-snap alignment and tile-center turning thresholds
- Switch ghosts to tile-target-based navigation with `_pickNextTarget` and distance checks
- Update layout to a symmetric 10-column maze with ghost house and corridors
- Redraw HUD and background for the new layout dimensions