335398df72
New Achievements tab (tab-achievements) shows all 18 achievement cards in a responsive grid. Each card displays: icon, title, rarity badge (color- coded: common=grey, rare=blue, epic=purple), description, reward coins, and either a green "Unlocked <date>" label or a dimmed "Locked" state. Unlocked achievements sort first (newest-first); locked sort alphabetically after. Header nav button shows earned count badge next to "Achievements". Match result handler reads achievements_unlocked from the Core response and fires one toast per newly unlocked achievement immediately after match submission. Level-up toasts continue to work independently. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>