- Add a 10-second countdown timer between ball draws with a dedicated UI overlay
- Implement visual flash effect on opponent panels when their cards match the called number
- Play happy emotion animation on opponent portraits during matches
- Replace CASINO_WIN/LOSE sounds with CASINO_BLACKJACK for win/loss events
- Fix fullscreen toggle to properly handle exitFullscreen and requestFullscreen
- Add new video assets for opponent emotions (happy, idle, upset)
- Add `sfx-bingo-balls` audio asset and load it in PreloadScene
- Register `BINGO_BALLS` sound in the SFX constants
- Play the sound when the bingo ball spinning animation starts
- Reduce mini card dimensions from 125x125 to 90x90 pixels
- Adjust positioning coordinates from (px+54.5, py+34.5) to (px+28, py+8)
- Improves visual alignment and spacing of opponent's bingo card in the UI
- Update player card background border radius from 5 to 15 for smoother corners
- Change called numbers board background color from cream to black for better contrast
- Remove unnecessary whitespace in `init()` and physics calculation lines (code cleanup)
- Add cream white background behind the player's bingo card
- Add cream white background behind opponent mini-cards
- Add cream white background behind the called numbers board
- Adjust player card header position (HEADER_Y, ROW0_Y) to accommodate new layout
Introduce a new Bingo game featuring a physics-driven drum with Matter.js,
AI opponents that auto-daub and claim wins with suspenseful delays, and a
"claim race" mechanic where the human can beat AI to the punch. Includes
complete game logic, UI components (drum, card, opponent panels, called
numbers board), and server registration for the new game slug.