diff --git a/TODO.md b/TODO.md
index ed166cc..48028c5 100644
--- a/TODO.md
+++ b/TODO.md
@@ -98,7 +98,29 @@
---
-### 5. 🔌 Пул соединений HTTP (`httpx.AsyncClient` с Keep-Alive)
+---
+
+### 5. 🔤 Кастомизация оформления читалки (Типографика, темы, отступы, LocalStorage)
+- [x] **Панель настроек оформления текста (`Aa`)**:
+ - Кнопка вызова настроек в тулбаре читалки: поповер на ПК и выдвижная шторка (Bottom Sheet) на смартфонах.
+- [x] **Настройка размера шрифта и степпер**:
+ - Степпер `A-` / `A+` с индикатором точного размера (от 14px до 34px).
+- [x] **Семейство шрифтов (Font Family)**:
+ - Переключение в 1 клик между `Sans` (системный), `Serif` (книжный с засечками), `Mono` (моноширинный).
+- [x] **Межстрочный интервал (Line Height)**:
+ - Компактный (1.35), Оптимальный (1.65), Широкий (1.95).
+- [x] **Поля и ширина колонки (Margins & Max Width)**:
+ - Узкие поля (940px), Стандарт (760px), Книжная колонка (600px).
+- [x] **Цветовые темы читалки (Themes)**:
+ - 🌙 Тёмная (Dark Slate), 📜 Сепия (Тёплый пергамент), ☀️ Светлая (Чистый лист), 🖤 OLED (Абсолютный чёрный).
+- [x] **Выравнивание текста (Text Alignment)**:
+ - По левому краю / По ширине (Justified).
+- [x] **Автосохранение и персистентность**:
+ - Мгновенное реактивное применение стилей через CSS-переменные без перезагрузки и сохранение настроек в `localStorage`.
+
+---
+
+### 6. 🔌 Пул соединений HTTP (`httpx.AsyncClient` с Keep-Alive)
- [ ] В [`app/dictionary.py`](file:///home/ai-projects/services/study.qpid.pro/app/dictionary.py) создать синглтон-клиент `get_http_client()` с пулом соединений:
```python
limits = httpx.Limits(max_keepalive_connections=10, max_connections=20)
@@ -108,7 +130,7 @@
---
-### 6. 🗄️ Тюнинг SQLite PRAGMA и составных индексов
+### 7. 🗄️ Тюнинг SQLite PRAGMA и составных индексов
- [ ] В [`app/database.py`](file:///home/ai-projects/services/study.qpid.pro/app/database.py):
- Вынести `PRAGMA journal_mode=WAL;` в `init_db()` (убрать избыточный вызов при каждом запросе).
- Включить параметры производительности памяти Linux:
@@ -121,13 +143,13 @@
---
-### 7. ✂️ Де-блоатинг внешних парсеров (YAGNI)
+### 8. ✂️ Де-блоатинг внешних парсеров (YAGNI)
- [ ] Удалить лишний сетевой опрос Datamuse (`fetch_datamuse`) — он дублирует определения и перегружает ответ нерелевантными рифмами.
- [ ] Упростить хрупкий regex-парсинг разметки Wikitext, опираясь на стабильные REST JSON эндпоинты.
---
-### 8. 📚 Локальный оффлайн-словарь (99%+ покрытия со словоформами, SQLite 10–20 МБ)
+### 9. 📚 Локальный оффлайн-словарь (99%+ покрытия со словоформами, SQLite 10–20 МБ)
- [ ] Создать в SQLite таблицу:
```sql
CREATE TABLE IF NOT EXISTS offline_dictionary (
@@ -149,7 +171,7 @@
---
-### 9. 🧩 Модульность фронтенда на нативных ES-модулях (без Webpack/Vite)
+### 10. 🧩 Модульность фронтенда на нативных ES-модулях (без Webpack/Vite)
- [ ] Перевести [`app/static/js/app.js`](file:///home/ai-projects/services/study.qpid.pro/app/static/js/app.js) на нативный браузерный синтаксис `
+