- js/textbook-xp-widget.js: shared модуль (monkey-patch addXp +
para-pill auto-award для учебников без addXp)
- physics8_thermal/electro/optics: добавлены теги /js/xp.js и
/js/textbook-xp-widget.js — теперь все 74 addXp-хука пробрасываются
в глобальный gamification (через self-award endpoint с дебаунсом)
- chemistry_9 + physics_9: те же теги. Каждый первый клик по
.para-pill даёт +5 XP в систему (без правок 23000 LOC)
- Изначальный XP в учебниках не теряется — localStorage остаётся
кешем, сервер — источник правды