# Theme-Spec Addendum — `classic-narrow` · PROSE (v001) > Дополнение к `theme_classic-narrow_001.md`. Базовая спека описывалась на стихотворном > гимне; здесь зафиксировано, как та же тема ведёт себя на ПРОЗАИЧЕСКОМ тексте > (`article2.txt` → `prose_classic-narrow/index.html`). Все токены, шрифты, палитра, > модель сносок и `:target`-подсветка, литеральный КАПС и глифы — без изменений. > Ниже только то, что добавляет проза. --- ## 1. Новые для прозы блоки и их оформление (фактические значения) | Блок | Класс | Оформление | |---|---|---| | **Предисловие / вступление** | `section.preface` + `.section-head` | Заголовок «Предисловие» — `.section-head` (Playfair 600, `1.6rem`, центр, `--ink`). Тело — обычная `.prose` (justify+hyphens, `margin-bottom 1.2rem`). Первый абзац несёт **буквицу** `.dropcap`. | | **Подпись автора (byline)** | `.byline` | `text-align:right`, курсив, `--ink-soft`; псевдоэлемент `::before{content:"— "}` цвета `--ink-faint`. Отделяет «Зеир Арихович Анпин» от тела предисловия. Новый блок — в стихе подписи не было. | | **Заголовок раздела H2** | `.section-head` | Playfair 600, `1.6rem`, `letter-spacing .03em`, центр. Использован для «Предисловие». Раздел сносок «Пояснения» — отдельный `.footnotes h2` (капс, `1rem`, `.26em`) из базовой спеки, не трогался. | | **Заголовок H3 / подзаголовок** | `.subhead` | Playfair 600, `1.22rem`, центр, `margin 2.4rem 0 1rem`. Заведён как зарезервированный уровень иерархии (в `article2.txt` H3 фактически не встретился — задел на прозу с подразделами). | | **Длинные абзацы рассуждения** | `.prose` | `text-align:justify; hyphens:auto; margin-bottom:1.2rem`. Ритм абзаца взят из базовой спеки без правок — на сверхдлинных абзацах (до ~600 слов) justify+hyphens держит «оттиснутую» полосу набора, мера `42rem`. | | **Нумерованные движения (1–6)** | `ol.argument > li.movement` + `.movement-num` | Номер — **рубрицированная цифра** в левом поле (эхо `.chapter-ornament`): `.movement-num` Playfair 700, `1.9rem`, `--rubric`, абсолютно слева (`width 2.4rem; text-align:right`); `.movement` — `position:relative; padding-left:3.2rem`. Мобайл: `1.5rem`/`padding-left 2.4rem`. | | **Встроенная библейская цитата** | `blockquote.scripture` + `.cite` | `max-width 34rem`, центрирован как объект, **левая линейка** `border-left:2px solid --rule`, `padding-left 1.4rem`, `--ink-soft`, `font-size 1.04rem`, `line-height 1.62`. Атрибуция `.cite` («— Ис. 6:2—3») — отдельной строкой, `text-align:right`, `.86rem`, `--ink-faint`, прямой шрифт. См. §4 — отличие от эпиграфа. | | **Кредит источника** | `.source-credit` | Строка «— Статья "Серафимы". Википедия» — курсив, `.92rem`, `--ink-faint`, центр, `max-width 34rem`. Лёгкая подпись-каптион под цитатным блоком. | | **Медиа-помета (музыка + URL)** | `.media-note` + `.media-label` + `.src` | `.media-note` центр, `.92rem`, `--ink-faint`, `max-width 36rem`. Ярлык `.media-label` — капс `.8125rem`, `letter-spacing .26em`, `--gold` (роднит с `.epi-label`). URL — `.src` (`--gold`, `border-bottom:1px dotted`, `:hover`→`--rubric`) из модели сносок. | | **Финальный возглас КАПС** | `.closing` | «ТОЛЬКО ВМЕСТЕ, МЫ - СИЛА!» — Playfair 500, `1.35rem`, `letter-spacing .06em`, центр, `--rubric`. КАПС литеральный (без `text-transform`). | | **Заголовок-КАПС (титул)** | `.title` | «ТОЛЬКО ТЫ БУДЕШЬ ЖИТЬ ВЕЧНО» уже прописной в источнике → сохранён литерально, `text-transform` НЕ применялся. Якорь сноски `*7` висит хвостом в титуле. | | **Термины каббалы** | `.term` | «катнут»/«гадлут» в потоке прозы — `--rubric`, `600`, `font-variant:small-caps`, `.03em` (тот же `.term`, что для КАТНУТ/ГАДЛУТ в стихе). Текст литеральный. Прочие КАПС-аббревиатуры (МАН, ЗОН, АВИ, БЕА) оставлены простым текстом — литеральный КАПС без декора. | ### Что переиспользовано без правок Палитра и токены, фон-градиенты, тень/рамка листа, меры `50rem`/`42rem`/`34rem`, шрифтовая пара EB Garamond / Playfair, тип-скейл (скорректированная база `16px`, body `1.3125rem`), флероны `❦`/`❧`/`❖` как разделители, буквица `::first-letter` (`4.6rem`), **вся модель сносок** (`sup.fnref` → `.fn-item`/`.fn-num`/`.backref`) и **`:target`-подсветка** `#fbeede` + ореол `box-shadow .5rem` (добавлен `scroll-margin-top:2rem` по рекомендации §6 базы). --- ## 2. Семантика в ДАННЫХ (ZML 2) vs чистый CSS темы ### Уходит в CSS-тему (данные не трогаем) - Рубрицированная цифра движения (`.movement-num`), левая линейка цитаты, byline `— ` через `::before`. - `.media-label` капс/разрядка, `.src` dotted-подчёркивание, центрирование и меры всех новых блоков. - Буквица в предисловии, флерон-выбор, `.term` small-caps окраска. - Литеральность КАПС (отсутствие `text-transform`) — это решение темы не нормализовать регистр. ### Требует семантического различия в ДАННЫХ - **`blockquote` (цитата-источник) ≠ `epigraph`.** Два разных смысловых объекта (см. §4). Данные обязаны нести тип: «цитата с атрибуцией внутри текста» против «эпиграф, обрамляющий произведение». Иначе рендер не выберет «левую линейку + `.cite`» против «золотой `.epi-label` по центру». - **Атрибуция цитаты** (`— Ис. 6:2—3`) — структурное поле `cite`/источник, не свободный хвост абзаца. - **Нумерация движений 1–6** — порядковый номер как ДАННЫЕ (как и номер главы в базовой спеке): «1.» не должна зашиваться в текст абзаца, тема рисует её рубрикой в поле. - **Тип медиа-пометы** («Музыка под настроение» / «Рекомендуемая музыка») + список треков с URL — структурные поля (ярлык, исполнитель, ссылка), а не строка прозы. - **Кредит источника** (`.source-credit`) — поле «откуда взят эпиграф/блок», отдельно от тела. - **Byline предисловия** — поле «автор подписи», не последнее предложение абзаца. - **Роль секции** (предисловие / эпиграф / тело / пояснения) — тип блока в данных; тема по нему выбирает `.section-head` vs `.epi-label` vs `.footnotes h2`. - **«Цитирована в тексте» vs «только в списке».** Сохраняется признак из базовой спеки: `*10` не имеет обратной ссылки `↩` (в теле статьи ссылки на неё нет — она объявлена только в «Пояснениях»), все прочие (`*1–*9,*11–*15`) двусторонние. Это семантический флаг, не разметка. - **Подтип термина** (`.term`) — флаг «каббалистический термин», а не вывод из кавычек. --- ## 3. Воспроизводимость: сработала ли спека на новом контенте **В целом — да, спека держалась.** Тема осталась узнаваемо той же: бумага, рубрикация, антиква, флероны, буквица, сноски с `:target`-ореолом — всё перенеслось на прозу без правки токенов и без правки тип-скейла. **Где пришлось ДОПОЛНИТЬ (не отклониться — расширить):** - Введены 6 новых классов, которых не было в стиховой спеке: `.byline`, `.subhead`, `.movement`/`.movement-num` (нумерованное движение), `blockquote.scripture`/`.cite`, `.source-credit`, `.media-note`/`.media-label`. Все они построены из тех же токенов (`--rubric`, `--gold`, `--ink-soft`, `--rule`, меры `34rem`/`36rem`, Playfair-акценты), то есть это словарь темы, а не новая эстетика. - `.media-label` сознательно повторяет геометрию `.epi-label` (капс `.26em`, `--gold`), чтобы новый блок читался «из той же типографики». - Нумерация движений решена по образцу `.chapter-ornament` (рубрицированная Playfair-цифра), то есть взята существующая идиома главы и перенесена на абзац-движение. **Где спека НЕ дала готового ответа (честный зазор):** - Стиховая спека описывала эпиграфы как центрированные `.epi-*` без модели *встроенной* цитаты-источника. Прозе понадобился отдельный `blockquote.scripture` — базовый документ его не предусматривал (он знал только `blockquote.epi-verse` как эпиграф-стих). Это главное содержательное дополнение. - Сверхдлинные абзацы (до ~600 слов, без авторской сегментации) — нового CSS не потребовали, но это нагрузка на читаемость: `42rem` + justify держат, однако это предел узкой меры. **Итог:** ни один базовый токен/значение не переопределялся; добавления — аддитивные и построены из существующего словаря. Спека воспроизводима, «модель прозы» достроена сверху. --- ## 4. `blockquote`-цитата vs эпиграф (семантически и визуально) **Семантически:** - **Эпиграф** (`.epi-label` + `.epi-prose`) — обрамляющий аппарат, стоящий *перед/над* содержанием и задающий его тон; он «о произведении в целом». В `article2.txt` это весь раздел «Эпиграф*9» (определение «сараф» + рассуждение о серафимах). - **`blockquote.scripture`** — цитата конкретного внешнего источника, *встроенная внутрь* рассуждения как доказательство/иллюстрация, с обязательной атрибуцией («— Ис. 6:2—3»). Это «чужая речь по ссылке», а не рамка статьи. Показательно: blockquote живёт ВНУТРИ раздела-эпиграфа — то есть это вложенные, не взаимозаменяемые сущности. **Визуально (фактические различия в теме):** | Признак | Эпиграф (`.epi-*`) | Цитата (`blockquote.scripture`) | |---|---|---| | Метка | золотой капс `.epi-label` (`--gold`, `.24em`) сверху по центру | метки нет; вместо неё атрибуция `.cite` снизу справа | | Выключка | `.epi-prose` justify, но блок центрирован как «титульный» | левая линейка `2px solid --rule` + `padding-left 1.4rem` (книжная цитата с отбивкой) | | Атрибуция | кода/афоризм без `cite`-строки | `.cite` обязателен: `text-align:right`, `.86rem`, `--ink-faint`, прямой | | Цвет тела | `--ink-soft`, `1.04rem`, `line-height 1.62` | те же `--ink-soft`/`1.04rem`/`1.62` — *роднит* регистр, различает геометрия | | Роль оси | по центральной оси листа (фронтиспис) | сдвинут вертикальной линейкой влево (вставка в поток) | Ключ: тема НЕ различает их цветом/кеглем (оба `--ink-soft`, `1.04rem`) — различие несёт **геометрия**: эпиграф центрируется и маркируется золотом сверху; цитата получает левую рубрикальную линейку и атрибуцию-`cite` снизу справа. Поэтому подтип ОБЯЗАН прийти из данных.