- Persist puzzle start time in state for accurate session tracking
- Display elapsed time (HH:MM:SS) and connected players in a new "Room Stats" panel
- Update players list on join/left events and network sync
- Refine UI button styling for consistency with main theme
- Introduce StorageManager API for tracking current room (`saveCurrent`, `loadCurrent`, `clearCurrent`)
- Persist active puzzle state when joining/creating; restore on main menu load if incomplete
- Add Continue Puzzle button that only activates when a valid saved puzzle exists
- Implement Enter Fullscreen button with dynamic state handling and event listeners
- Adjust logo/sub-logo animation positions for cleaner visual flow
- Clear saved puzzle data on new puzzles or completion to avoid stale state
- Added 12 new puzzle images with corresponding 576×324 thumbnails
- Extended `puzzles.json` to include all new puzzles
- Implemented background selection in `NewPuzzleScene.js` (Dark Wood / Green Felt)
- Updated thumbnail display logic to use `thumb_` prefixed versions
- Added background key/path state propagation to `PuzzleState`, network join, and room creation
- Tiled background texture across the playfield in `PuzzleScene.js`
- Enhanced room code UI styling for better visibility