/* ============================================================
   A.L.E.X. — КОМФОРТ-РЕЖИМ «Автор / Мои настройки»
   (задача 1204, блок K). Собран ПОСЛЕ металл-канона — так просит
   постановка: сначала материал страницы, потом настройки поверх
   него, иначе настраивать было бы нечего.
   ------------------------------------------------------------
   ЧТО ЭТО. Читатель может изменить под себя размер шрифта,
   межстрочный интервал, ширину колонки и фон (сепия, вечерний),
   а также попросить меньше движения. Пока стоит «Автор» — на
   странице ровно то, что задумано дизайном, и ни одно правило
   этого файла не работает.

   ЧТО НЕ КАСТОМИЗИРУЕТСЯ НИКОГДА — кнопки заявок. Требование
   владельца, и оно держится не обещанием, а устройством: сепия и
   вечерний режим меняют ТОЛЬКО фоновые токены (--bg, --surface,
   --line) и не трогают --text, --accent, --btn-ink и
   --accent-ink, на которых стоят кнопки. Плюс §5 ниже прибивает
   кегль и начертание кнопки на случай старого слоя, где кегль
   наследуется.

   ПОЧЕМУ ФОНОВ НЕТ НА СТАРОМ СЛОЕ. Десять страниц витрины стоят
   на style.css, у которого светлой темы нет вовсе: цвета текста
   там всегда светлые. Тёплая бумага под светлым текстом — это
   нечитаемая страница, поэтому сепия и вечерний на таких
   страницах не предлагаются (метка data-sloy="1" в разметке,
   её ставит podval_sync.sync_sloi). Кегль, межстрочный и ширина
   колонки работают на обоих слоях.

   ПОЧЕМУ РЕЖИМ ПРИБИВАЕТ ТЕМУ. «Сепия» — это светлая бумага, а
   «вечерний» — тёмная комната. Наложи их на противоположную
   тему — получишь графитовый текст на тёмном фоне, то есть
   нечитаемую страницу. Поэтому оба фона выбирают тему за
   читателя (это делает komfort.js), а здесь лежат только цвета.

   ПРАВИЛО ФАЙЛА — как у style2.css, hub.css, metall.css и
   ramka.css: цвета только токенами, значения ровно в блоках §1.
   ============================================================ */

/* ---------- 1. Токены фонов ---------- */

/* Сепия: тёплая бумага. Тема при этом всегда светлая. */
html[data-kmf="moi"][data-kmf-fon="sepia"]:not([data-sloy="1"]) {
  --bg:      #F4ECD9;
  --surface: #FBF6E9;
  --line:    #E0D5BA;
  /* Металл-канон на сепии: те же три тона, сдвинутые в тепло. */
  --mtl-1:   #EFE6D0;
  --mtl-2:   #FBF6E9;
  --mtl-3:   #E4D9BF;
  --mtl-veil: 90%;
}

/* Вечерний режим: тёмная комната, синевы меньше. Тема тёмная. */
html[data-kmf="moi"][data-kmf-fon="vecher"]:not([data-sloy="1"]) {
  --bg:      #14110D;
  --surface: #1C1813;
  --line:    #2C2519;
  --mtl-1:   #1E1913;
  --mtl-2:   #14110D;
  --mtl-3:   #262016;
  --mtl-veil: 90%;
}

/* ---------- 2. Типографика читателя ----------
   Значения --kmf-* ставит komfort.js на <html> инлайном: они
   приходят из настроек читателя, поэтому в файле их нет — здесь
   только запасные значения, равные авторским. */

html[data-kmf="moi"] body {
  font-size: var(--kmf-fs, 17px);
  line-height: var(--kmf-lh, 1.55);
}

/* Ширина колонки. Меняем общий токен ширины — и заголовки,
   и текст, и карточки сужаются вместе, как одна полоса чтения. */
html[data-kmf="moi"] {
  --w-page: var(--kmf-w, 1200px);
}

/* Старый слой (style.css) держит свою ширину в собственном
   токене: без этой строки половина витрины проигнорировала бы
   настройку молча — ровно та слепая зона, что была у подвала
   (#1171) и шапки (#1174). */
html[data-kmf="moi"] .container { max-width: var(--kmf-w, 1200px); }

/* ---------- 3. Меньше движения ----------
   Своя ручка читателя РЯДОМ с системной: prefers-reduced-motion
   уважается и так (style2.css, mrn2.js, metall.css), но системную
   настройку меняет не каждый, а попросить покоя на одном сайте
   должен мочь любой. */

html[data-kmf-motion="less"] * {
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: .001ms !important;
  scroll-behavior: auto !important;
}
html[data-kmf-motion="less"] .fade { opacity: 1 !important; transform: none !important; }
html[data-kmf-motion="less"] .hero::after,
html[data-kmf-motion="less"] .page-hero::after { opacity: .5; }

/* ---------- 4. Панель настроек — НЕ ЗДЕСЬ ----------
   Вид панели переехал в assets/js/komfort.js и ставится оттуда
   тегом <style> при первом открытии. Причина — вес: панель видит
   только тот читатель, который её открыл, а критический путь
   страницы платят ВСЕ. Приём не новый: так же живёт голосовой
   ввод (assets/js/voice-input.js) — модуль ставит свои стили сам.

   Здесь остаётся ровно то, что обязано примениться ДО первого
   кадра: токены фонов (§1), типографика читателя (§2), покой
   (§3) и неприкосновенность кнопок (§5). */

/* Кроме одной строки: кнопка «Aa» появляется в шапке сразу, а не
   по клику, и без неё она секунду выглядела бы чужой. */
.kmf-btn { font-size: 15px; letter-spacing: .02em; }

/* ---------- 5. Кнопки заявок — всегда фирменные ----------
   Требование владельца. Цвета держатся сами (§1 не трогает
   --text/--accent/--btn-ink), а кегль и начертание прибиваем
   здесь: на старом слое кнопка наследует размер от body, и
   «крупный шрифт» растянул бы её вместе с текстом. */

html[data-kmf="moi"] .btn,
html[data-kmf="moi"] .btn--primary,
html[data-kmf="moi"] .btn--ghost,
html[data-kmf="moi"] button[type="submit"],
html[data-kmf="moi"] .voice-btn {
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: normal;
}
html[data-kmf="moi"] .btn--sm { font-size: 15px; }
