- Add main menu UI image and background music (with updated track metadata)
- Rename puzzle assets to include `.png` extensions for consistency
- Introduce `thumbnails.json` manifest to decouple thumbnail paths from puzzle data
- Update `NewPuzzleScene.js` to load thumbnails explicitly via manifest instead of inferring paths
- Update `PuzzleScene.js` to ensure full puzzle images are loaded fresh on initial entry (not during network joins or restores)
- Change tracks.json from string array to structured objects with path, title, artist
- Update PuzzleScene to use new metadata format for audio loading and track info display
- Add DOM element to show current track title and artist in the UI
- Add click/grab sound effects for puzzle interactions
- Implement background music player with queue management
- Include mute/skip controls in UI (top-right)
- Load and play tracks from assets/audio/music/tracks.json
- Store mute preference in localStorage