- React 18
- TypeScript
- Vite
- Styling: global CSS and a tokenized design system in
src/styles/design-system.css - Animations: Framer Motion
- Lottie:
lottie-reactfor lightweight full-screen overlays - Notifications:
react-toastify - Dice UI:
react-dice-complete
- Static gameplay data in
src/assets/* - Browser
localStoragefor onboarding, save slots, auto-save, and unlocked achievements
- ESLint for linting
- Docker + Nginx for production container hosting
- Keep gameplay types centralized in
src/types.ts. - Keep cross-cutting logic in
src/services/*andsrc/utils/*. - Prefer small, focused modules with clear responsibilities and minimal duplication.