# Project Guidelines ## Code Style - This repo is framework-free: plain HTML + CSS + vanilla JavaScript (`index.html`, `sponsor.html`, `stats.html`, `script.js`, `sponsor_script.js`, `stats_script.js`, `components.js`). - Keep existing naming style: `camelCase` for JS functions/variables and descriptive DOM ids/classes (for example `fetchCrowdfunding`, `setupMobileMenu`, `#players-grid`). - Preserve current formatting patterns: 4-space indentation in HTML/CSS, simple function-based JS (no classes/modules/build tooling). - Reuse shared tokens in `style.css` (`:root` variables such as `--bg-color`, `--accent-color`) instead of introducing new ad-hoc styles. - Keep page-local style overrides scoped to their page blocks; avoid broad visual refactors unless explicitly requested. - Keep user-facing copy in Chinese unless the surrounding section is already English. ## Architecture - Public pages are static entry points: - `index.html` + `script.js`: landing page, sponsors, fundraising progress, live server status. - `sponsor.html` + `sponsor_script.js`: donation total, sponsor list, search/filter, donation modal. - `stats.html` + `stats_script.js`: player leaderboard + searchable player cards + modal details. - Shared structure is injected by `components.js` into `#navbar-component` / `#footer-component` and handles mobile menu/current-link highlighting. - Shared visual system lives in `style.css`; `stats.html` and `sponsor.html` contain page-specific inline `