c1d532aaad
gamification/service.js (checkPhase3Achievements): новый био-блок — bc_first_molecule (есть сохранённая молекула), bc_5_challenges (>=5 решённых), bc_20_challenges (>=20) из таблиц bio_user_molecules / bio_user_challenges. biochemController.js: после решения задачи и сохранения молекулы вызывается checkAchievements(req.user.id) — раньше начислялся только XP, ачивки не триггерились. Слоты bc_* существовали в _shared.js, но были мёртвыми. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>