This game is a single-page experience: the HTML provides the screen layout, CSS handles the visual styling, and JavaScript manages the round flow, scoring, hints, and external data.
+---------------------------+
| Browser UI (DOM / HTML) |
| - Word display |
| - Stats cards |
| - Guess input + buttons |
+-------------+-------------+
|
v
+---------------------------+
| Game Controller (JS) |
| - state: currentWord |
| - score / attempts |
| - round lifecycle |
| - hint and win logic |
+------+------+-------------+
| |
| +----------------------------+
| |
v v
+---------------------+ +------------------------+
| Word Source Layer | | Persistence Layer |
| - Wikipedia API | | - localStorage |
| - fallback word list| | - high score |
+----------+----------+ +------------------------+
|
v
+---------------------+
| Definition Layer |
| - Dictionary API |
+---------------------+
Flow:
1. Start -> fetch words from Wikipedia
2. Queue words and pick the next one
3. Mask the word and render UI
4. Player guesses -> update score / hints / attempts
5. Win, lose, or skip -> move to next round