Revamp UI/UX, fix UTF-8 mojibake, normalize question typography, and reorganize JEE portions
1. UTF-8 Bugfix: Fixed byte-casting in views::rich() that turned multi-byte UTF-8
sequences into Latin-1 mojibake (e.g. 2.06 × 10 -> 2.06 × 10).
2. Question Typography: Replaced nested <p class='stem'> with <div class='stem'>
and strict CSS overrides ensuring consistent 1.0625rem font-size and weight
across all 9,837 questions regardless of inner tags.
3. Modern Educational Theme: Removed harsh minimal 0-radius monospace styling;
introduced comfortable slate dark theme (#090d16), rounded corners (8-12px),
Inter typography, and refined option card states.
4. Topic Selection (/build) Revamp:
- Added Quick Presets bar (Full Mock 75 Qs, Physics/Chemistry/Maths focus, Clear).
- Added Subject Navigation Tabs (All, Physics, Chemistry, Mathematics).
- Independent subtopic expand chevrons that don't force-check parent chapters.
- Live question pool estimator and interactive count pills.
5. JEE Portion Reorganization (scripts/reorganize_jee_db.py): Re-categorized
the database into the 15 official JEE Main units across Physics, Chemistry,
and Mathematics.