a11y/responsive/i18n audit over A-F passed clean (no code fixes); added a
Stats section to the README; restructured TODO so G/H/I + a second polish
(J round 2) are queued for the future.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
User chose to keep the 'See all matches -> Matches' link instead of building
an in-tab results archive; the Matches tab already covers browsing. No code
change; the archive SECTIONS slot stays dormant (available: false).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Append the Stage A entry to project-memory.md, refresh project-map.md
(app.js/stats.js descriptions + optional data layers + branch note), and add
the A-J stage tracker to TODO.md.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
findFeaturedMatch → findFeaturedMatches: returns all matches sharing the
earliest kickoff, enabling the hero to show 2+ simultaneous group-final games
(same phase, shared time/countdown). renderHero splits single-match (unchanged
DOM) vs multi-match (stacked with dividers). heroMatchupHTML extracted for
reusable matchup layout.
CSS: .hero-matchups/match/divider/time for vertical stacking and shared time.
i18n: hero.nextMatches (EN/PT) for multi-match label.
- Added possession %, shots, and card counts to matches 1–7
- Sources verified: ESPN, Opta Analyst, Yahoo Sports, Sofascore, VAVEL USA
- Stats render correctly in match modal for both EN and PT languages
- Documented in project memory with sources and verification notes
Record completion of mock→real tournament data migration (2026-06-12): all 6
data/*.json files now hold verified WC2026 data; stadiums trimmed 30→16;
match ids clarified (1–72 chronological group, 73–104 official knockout numbers);
third-place slot allocations documented. Add daily refresh runbook reference to
project memory workflow section. Mark step 11 complete in TODO.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>