/* РКМенеджер на системе focustrack, основной цвет — чёрный · файл переменных · светлая тема, общие и производные
   Палитра выведена из двенадцатичастного круга Иоганнеса Иттена («Искусство цвета»): синий — сине-зелёный — сине-фиолетовый; основной цвет действия — чёрный,
   трезвучие по равнобедренному треугольнику: цвет и два соседа его дополнения. От круга взят только тон; светлота подобрана
   расчётом в OKLCh до нормы контраста с запасом: 4,6 : 1 вместо 4,5 для текста, 3,1 вместо 3 для рамок, значков и рисунка.
   У каждой пары «текст — фон» отношение записано в пояснении к цвету текста; запись совпадает с расчётом по WCAG 2.
   Подключается на каждой странице первым; сразу за ним — css/theme-dark.css.

   Устройство файла
   1. Основные переменные светлой темы — :root и узлы [data-theme="light"]. Группы — задание, раздел 7.2. Их задаёт профиль
      оформления из панели; тёмная тема объявляет тот же набор имён в css/theme-dark.css.
   2. Общие для обеих тем — :root: скругления, толщины, отступы, промежутки, шрифты, длительности, кривые, пороги, числа приёмов.
   3. Производные — :root и каждый узел [data-theme]: цвета приёмов записаны формулой от основных (color-mix, oklch(from …),
      rgb(from …)), браузер пересчитывает их сам. Профиль их не задаёт: сменил основной цвет — кнопка перекрасилась.
      Формулы повторены на каждом узле [data-theme] потому, что переменная с var() вычисляется на том узле, где объявлена, и
      потомкам достаётся уже готовый цвет. Основные поэтому переопределяются только на корне или на узле с data-theme.
      Контраст надписи на производном фоне посчитан на основной палитре и записан так же, как у основных пар.
 */
:root,
[data-theme="light"] {
  /* ── Текст ── */
  --text-primary: #12171a; /* Основной текст: заголовки, названия записей, значения полей; текст второстепенной кнопки · oklch(20% 0.010 234) · на --bg-page 17,7 : 1, на --bg-card 18,1 : 1, на --bg-input 18,1 : 1, на --bg-selection 14,7 : 1, на --bg-menu 16,8 : 1, на --bg-drawer 18,1 : 1, на --bg-header 18,1 : 1, на --bg-page-edge 13,7 : 1, на --action-secondary 15,9 : 1, на --action-secondary-hover 14,5 : 1, на --surface-1 18,1 : 1, на --surface-2 18,1 : 1, на --surface-3 18,1 : 1, на --surface-4 18,1 : 1, на --state-success-bg 15,8 : 1, на --state-warning-bg 15,6 : 1, на --state-error-bg 15,5 : 1, на --state-info-bg 15,6 : 1, на --bg-card-hover 18,1 : 1 */
  --text-secondary: #40484f; /* Второстепенный текст: подписи, даты, ответственные; подобран не ниже 7 : 1, на ступень ярче приглушённого · oklch(40% 0.016 245) · на --bg-page 9,1 : 1, на --bg-card 9,3 : 1, на --bg-selection 7,6 : 1, на --bg-page-edge 7,0 : 1, на --bg-menu 8,7 : 1, на --bg-drawer 9,3 : 1, на --bg-card-hover 9,3 : 1 */
  --text-muted: #5a636a; /* Приглушённый текст: подсказка в пустом поле, счётчики, служебные пометки · oklch(49% 0.016 241) · на --bg-page 6,0 : 1, на --bg-card 6,1 : 1, на --bg-selection 5,0 : 1, на --bg-page-edge 4,6 : 1, на --bg-input 6,1 : 1, на --bg-menu 5,7 : 1, на --bg-drawer 6,1 : 1 */
  --text-on-dark: #f8fafd; /* Текст на тёмной заливке: подписи сцены дашборда, плашка поверх видео, надпись на основной кнопке · oklch(98% 0.005 258) · на --action-primary 16,9 : 1 */
  --text-link: #0064ad; /* Ссылки в тексте, в подвале и в плашках · oklch(50% 0.140 250) · на --bg-page 6,0 : 1, на --bg-card 6,1 : 1, на --bg-selection 5,0 : 1, на --bg-page-edge 4,6 : 1 */
  --text-error: #ae3b02; /* Подпись ошибки под полем, текст плашки ошибки в блоке · oklch(51% 0.160 40) · на --bg-page 6,0 : 1, на --bg-card 6,1 : 1, на --bg-input 6,1 : 1, на --bg-selection 5,0 : 1, на --bg-page-edge 4,6 : 1, на --state-error-bg 5,3 : 1 */
  --text-header: #12171a; /* Текст и знак в шапке: сейчас совпадает с основным; профиль может задать шапке свой цвет · oklch(20% 0.010 234) · на --bg-header 18,1 : 1 */

  /* ── Фон ── */
  --bg-page: #fafdff; /* Фон страницы — нулевой этаж; подложка живого фона · oklch(99% 0.004 236) */
  --bg-card: #ffffff; /* Фон карточки записи, показателя, группы полей — первый этаж · oklch(100% 0.000 0) */
  --bg-header: #ffffff; /* Фон шапки высотой 64 точки — второй этаж · oklch(100% 0.000 0) */
  --bg-menu: #f1f8fd; /* Фон меню разделов слева · oklch(98% 0.010 239) */
  --bg-drawer: #ffffff; /* Фон шторки справа и выпадающих списков — третий этаж · oklch(100% 0.000 0) */
  --bg-input: #ffffff; /* Фон поля ввода, поля кода, поля поиска · oklch(100% 0.000 0) */
  --bg-selection: #d7eafe; /* Фон выделенного: выбранная строка, найденное в поиске, отмеченный текст; полоса скелета загрузки · oklch(93% 0.034 250) */
  --bg-veil: #040609; /* Затемнение под шторкой (40 %) и под окном (60 %), доля — прозрачностью слоя; тот же тон берут тени кнопки-сферы и наклонённой карточки · oklch(12% 0.010 253) */

  /* ── Рамка ── */
  --border-default: #8c9196; /* Рамка поля ввода и элементов управления в покое · oklch(65% 0.009 248) · на --bg-input 3,2 : 1, на --bg-card 3,2 : 1, на --bg-page 3,1 : 1 */
  --border-hover: #6e7478; /* Рамка поля под указателем · oklch(56% 0.010 237) · на --bg-input 4,7 : 1, на --bg-card 4,7 : 1, на --bg-page 4,6 : 1 */
  --border-focus: #1480d7; /* Рамка выбора с клавиатуры — две точки с отступом; держит 3 : 1 с запасом к фону по обе стороны · oklch(59% 0.160 250) · на --bg-card 4,1 : 1, на --bg-page 4,0 : 1, на --bg-page-edge 3,1 : 1, на --bg-selection 3,4 : 1, на --bg-input 4,1 : 1 */
  --border-error: #f36329; /* Рамка поля с ошибкой · oklch(68% 0.190 40) · на --bg-input 3,2 : 1, на --bg-card 3,2 : 1, на --bg-page 3,1 : 1 */
  --border-divider: #d9dfe4; /* Разделитель строк и приглушённая рамка карточки; дорожка мерцающей линии · oklch(90% 0.009 243) */

  /* ── Действие ── */
  --action-primary: #16191b; /* Основная кнопка в покое; от неё выводятся тело, кромка и свечение кнопки-сферы, волна от щелчка, блик скелета, перелив черты под шапкой · oklch(21% 0.006 237) */
  --action-primary-hover: #2e3133; /* Основная кнопка под указателем: на ступень светлее · oklch(31% 0.006 237) */
  --action-primary-active: #090b0e; /* Основная кнопка при нажатии: темнее, этаж опускается · oklch(15% 0.007 258) */
  --action-primary-text: #f8fafd; /* Надпись на основной и опасной кнопке · oklch(98% 0.005 258) · на --action-primary 16,9 : 1, на --action-primary-hover 12,5 : 1, на --action-primary-active 18,8 : 1, на --action-danger 5,7 : 1, на --action-danger-hover 4,7 : 1 */
  --action-secondary: #ebf1f6; /* Фон второстепенной кнопки · oklch(96% 0.009 243) */
  --action-secondary-hover: #e1e7ec; /* Фон второстепенной кнопки под указателем: на белом ступень вниз по светлоте, иначе наведения не видно · oklch(92% 0.009 243) */
  --action-danger: #b23c00; /* Кнопка опасного действия: удалить, отклонить · oklch(52% 0.163 40) */
  --action-danger-hover: #c74400; /* Кнопка опасного действия под указателем: на ступень светлее · oklch(56% 0.177 40) */

  /* ── Состояние ── */
  --state-success: #087d39; /* Успех: текст и значок оповещения, отметка выполненной задачи · oklch(52% 0.139 150) · на --state-success-bg 4,6 : 1, на --bg-card 5,2 : 1, на --bg-page 5,1 : 1 */
  --state-success-bg: #dcf7e1; /* Успех: фон оповещения и плашки · oklch(95% 0.041 151) */
  --state-warning: #8d6300; /* Предупреждение: текст и значок; янтарный разряд обёрток ошибок · oklch(53% 0.110 80) · на --state-warning-bg 4,6 : 1, на --bg-card 5,4 : 1, на --bg-page 5,2 : 1 */
  --state-warning-bg: #fdecd1; /* Предупреждение: фон оповещения и плашки · oklch(95% 0.040 79) */
  --state-error: #bb3f00; /* Ошибка: текст и значок; красный разряд обёрток ошибок · oklch(54% 0.170 40) · на --state-error-bg 4,7 : 1, на --bg-card 5,5 : 1, на --bg-page 5,4 : 1 */
  --state-error-bg: #ffe9e2; /* Ошибка: фон оповещения и плашки · oklch(95% 0.026 38) */
  --state-info: #2b6ead; /* Сведение: текст и значок нейтрального оповещения · oklch(53% 0.120 250) · на --state-info-bg 4,6 : 1, на --bg-card 5,3 : 1, на --bg-page 5,2 : 1 */
  --state-info-bg: #e3f0fe; /* Сведение: фон оповещения и плашки · oklch(95% 0.023 250) */

  /* ── Шкала важности ── */
  --scale-1: #199045; /* Шкала важности и сложности, деление 1 из 10 — зелёный край; значение передаётся ещё положением ползунка и числом · oklch(57% 0.150 150) · на --bg-page 4,0 : 1, на --bg-card 4,1 : 1, на --bg-page-edge 3,1 : 1 */
  --scale-2: #4d8c26; /* Шкала важности и сложности, деление 2 из 10; значение передаётся ещё положением ползунка и числом · oklch(58% 0.149 136) · на --bg-page 4,0 : 1, на --bg-card 4,1 : 1, на --bg-page-edge 3,1 : 1 */
  --scale-3: #6d8700; /* Шкала важности и сложности, деление 3 из 10; значение передаётся ещё положением ползунка и числом · oklch(58% 0.141 122) · на --bg-page 4,0 : 1, на --bg-card 4,1 : 1, на --bg-page-edge 3,1 : 1 */
  --scale-4: #848103; /* Шкала важности и сложности, деление 4 из 10; значение передаётся ещё положением ползунка и числом · oklch(59% 0.126 108) · на --bg-page 4,0 : 1, на --bg-card 4,1 : 1, на --bg-page-edge 3,1 : 1 */
  --scale-5: #947b04; /* Шкала важности и сложности, деление 5 из 10; значение передаётся ещё положением ползунка и числом · oklch(59% 0.120 95) · на --bg-page 4,0 : 1, на --bg-card 4,1 : 1, на --bg-page-edge 3,1 : 1 */
  --scale-6: #a47504; /* Шкала важности и сложности, деление 6 из 10; значение передаётся ещё положением ползунка и числом · oklch(59% 0.122 80) · на --bg-page 4,0 : 1, на --bg-card 4,1 : 1, на --bg-page-edge 3,1 : 1 */
  --scale-7: #b36d01; /* Шкала важности и сложности, деление 7 из 10; значение передаётся ещё положением ползунка и числом · oklch(60% 0.132 67) · на --bg-page 4,0 : 1, на --bg-card 4,1 : 1, на --bg-page-edge 3,1 : 1 */
  --scale-8: #c4620b; /* Шкала важности и сложности, деление 8 из 10; значение передаётся ещё положением ползунка и числом · oklch(60% 0.150 53) · на --bg-page 4,0 : 1, на --bg-card 4,1 : 1, на --bg-page-edge 3,1 : 1 */
  --scale-9: #ca5c36; /* Шкала важности и сложности, деление 9 из 10; значение передаётся ещё положением ползунка и числом · oklch(61% 0.150 39) · на --bg-page 4,0 : 1, на --bg-card 4,1 : 1, на --bg-page-edge 3,1 : 1 */
  --scale-10: #cd5853; /* Шкала важности и сложности, деление 10 из 10 — красный край; значение передаётся ещё положением ползунка и числом · oklch(61% 0.150 25) · на --bg-page 4,0 : 1, на --bg-card 4,1 : 1, на --bg-page-edge 3,1 : 1 */

  /* ── Сущности ── */
  --entity-minutes: #4d667f; /* Оттенок протокола: метка, значок в карточке, фигура и связь на схеме · oklch(50% 0.050 249) · на --bg-page 5,8 : 1, на --bg-card 6,0 : 1, на --bg-page-edge 4,5 : 1 */
  --entity-task: #0074c8; /* Оттенок задачи: метка, значок в карточке, фигура и связь на схеме · oklch(55% 0.156 250) · на --bg-page 4,7 : 1, на --bg-card 4,8 : 1, на --bg-page-edge 3,7 : 1 */
  --entity-project: #028b8d; /* Оттенок проекта: метка, значок в карточке, фигура и связь на схеме · oklch(58% 0.098 197) · на --bg-page 4,0 : 1, на --bg-card 4,1 : 1, на --bg-page-edge 3,1 : 1 */
  --entity-stream: #6a69db; /* Оттенок направления — сущности: метка, значок в карточке, фигура и связь на схеме · oklch(58% 0.170 280) · на --bg-page 4,4 : 1, на --bg-card 4,5 : 1, на --bg-page-edge 3,4 : 1 */
  --entity-goal: #003e70; /* Оттенок цели: метка, значок в карточке, фигура и связь на схеме · oklch(36% 0.103 250) · на --bg-page 10,7 : 1, на --bg-card 10,9 : 1, на --bg-page-edge 8,3 : 1 */

  /* ── Знак ── */
  --brand-mark: #12171a; /* Слово-знак «РКМенеджер» в шапке и подвале · oklch(20% 0.010 234) · на --bg-page 17,7 : 1, на --bg-page-edge 13,7 : 1, на --bg-header 18,1 : 1 */
  --brand-accent: #028b8d; /* Акцент РКМенеджера, сине-зелёный: точка, отметка, блик; блик кнопки-сферы и лампа украшений берут этот тон · oklch(58% 0.098 197) · на --bg-page 4,0 : 1, на --bg-page-edge 3,1 : 1 */

  /* ── Тени этажей ── */
  --shadow-1-soft: 0 1px 2px rgba(4, 6, 9, 0.06); /* Этаж 1, крупная мягкая тень: задаёт высоту */
  --shadow-1-sharp: 0 0.5px 1px rgba(4, 6, 9, 0.03); /* Этаж 1, малая резкая тень: прижимает к поверхности */
  --shadow-2-soft: 0 2px 6px rgba(4, 6, 9, 0.08); /* Этаж 2, крупная мягкая тень: задаёт высоту */
  --shadow-2-sharp: 0 1px 3px rgba(4, 6, 9, 0.04); /* Этаж 2, малая резкая тень: прижимает к поверхности */
  --shadow-3-soft: 0 8px 20px rgba(4, 6, 9, 0.12); /* Этаж 3, крупная мягкая тень: задаёт высоту */
  --shadow-3-sharp: 0 4px 10px rgba(4, 6, 9, 0.06); /* Этаж 3, малая резкая тень: прижимает к поверхности */
  --shadow-4-soft: 0 20px 48px rgba(4, 6, 9, 0.18); /* Этаж 4, крупная мягкая тень: задаёт высоту */
  --shadow-4-sharp: 0 10px 24px rgba(4, 6, 9, 0.09); /* Этаж 4, малая резкая тень: прижимает к поверхности */
  --elev-0: none; /* Нулевой этаж: без тени — нажатый элемент */
  --elev-1: var(--shadow-1-soft), var(--shadow-1-sharp); /* Составная тень 1-го этажа */
  --elev-2: var(--shadow-2-soft), var(--shadow-2-sharp); /* Составная тень 2-го этажа */
  --elev-3: var(--shadow-3-soft), var(--shadow-3-sharp); /* Составная тень 3-го этажа */
  --elev-4: var(--shadow-4-soft), var(--shadow-4-sharp); /* Составная тень 4-го этажа */

  /* ── Светлота поверхностей ── */
  --surface-1: #ffffff; /* Поверхность первого этажа: карточка; днём все этажи белые, высоту держит тень · oklch(100% 0.000 0) */
  --surface-2: #ffffff; /* Поверхность второго этажа: шапка, карточка под указателем; днём все этажи белые, высоту держит тень · oklch(100% 0.000 0) */
  --surface-3: #ffffff; /* Поверхность третьего этажа: шторка, выпадающий список; днём все этажи белые, высоту держит тень · oklch(100% 0.000 0) */
  --surface-4: #ffffff; /* Поверхность четвёртого этажа: модальное окно, оповещение; днём все этажи белые, высоту держит тень · oklch(100% 0.000 0) */

  /* ── Числа приёмов этой темы ── */
  --qb-spread: 26; /* Живой фон: разлёт пятен в значениях из 255 — вниз от почти белой подложки */

  /* ── Производные этой темы: формула иная, чем в тёмной; имена те же ── */
  --action-primary-edge: color-mix(in oklch, var(--action-primary) 84%, white); /* Кромка основной кнопки: тон действия на 16 % светлее тела — тёмная кнопка обведена светлым, край светлее середины, как у сферы. Читается против тела и подложки · на --bg-page 11,6 : 1, на --action-primary 1,5 : 1 */
  --bg-page-edge: rgb(from var(--bg-page) calc(min(r, g, b) - var(--qb-spread)) calc(min(r, g, b) - var(--qb-spread)) calc(min(r, g, b) - var(--qb-spread))); /* Пол живого фона: самое тёмное место пятен — подложка минус разлёт, серым. От --bg-page и --qb-spread; по нему проверяется текст нулевого этажа */
  --fb-glint-cool: color-mix(in srgb, var(--text-on-dark) 60%, transparent); /* Холодный блик второстепенной кнопки-сферы: от --text-on-dark, холодно-белый на 60 % */
  --fb-inner-light: color-mix(in srgb, var(--text-on-dark) 55%, transparent); /* Тонкая светлая линия по верхнему внутреннему краю тела кнопки-сферы: от --text-on-dark на 55 % */
  --fb-shadow-rest: inset 0 1px 0 var(--fb-inner-light), inset 0 -12px 20px -12px color-mix(in srgb, var(--bg-veil) 34%, transparent), 0 8px 22px -8px color-mix(in srgb, var(--bg-veil) 36%, transparent); /* Тень кнопки-сферы в покое: подсветка сверху, тьма снизу, отброшенная тень; цвет — от --bg-veil */
  --fb-shadow-hover: inset 0 1px 0 var(--fb-inner-light), inset 0 -12px 20px -12px color-mix(in srgb, var(--bg-veil) 32%, transparent), 0 12px 28px -10px color-mix(in srgb, var(--bg-veil) 38%, transparent); /* Тень кнопки-сферы под указателем: подъём на этаж; от --bg-veil */
  --fb-shadow-active: inset 0 2px 9px color-mix(in srgb, var(--bg-veil) 36%, transparent), inset 0 1px 0 color-mix(in srgb, var(--text-on-dark) 18%, transparent), 0 2px 8px -4px color-mix(in srgb, var(--bg-veil) 34%, transparent); /* Тень кнопки-сферы при нажатии: внешняя сменяется внутренней; от --bg-veil и --text-on-dark */
  --fb-shadow-secondary-rest: inset 0 1px 0 var(--fb-inner-light), inset 0 -10px 18px -12px color-mix(in srgb, var(--bg-veil) 15%, transparent), 0 4px 14px -8px color-mix(in srgb, var(--bg-veil) 21%, transparent); /* Тень второстепенной кнопки-сферы в покое — легче основной; от --bg-veil */
  --tc-glare-color: color-mix(in srgb, var(--text-secondary) 6%, transparent); /* Блик наклонённой карточки: на белом блик не виден — вместо него холодная тень от --text-secondary силой 0,06 */
}

/* ── 2. Общие для обеих тем ── */
:root {
  /* ── Скругления ── */
  --radius-sm: 4px; /* Малое: отметка выбора, метки, плашки в строке */
  --radius-md: 8px; /* Среднее: карточка, поле ввода, оповещение */
  --radius-lg: 12px; /* Большое: модальное окно, шторка */
  --radius-round: 999px; /* Круг: значок человека, кружок ползунка */
  --radius-control: 6px; /* Кнопки и переключатель */

  /* ── Толщина рамок ── */
  --border-thin: 1px; /* Тонкая: рамка карточки, разделители */
  --border-regular: 1px; /* Обычная: поле ввода, кнопка */
  --border-strong: 2px; /* Выделенная: рамка выбора с клавиатуры, не тоньше двух точек */

  /* ── Отступы ── */
  --space-1: 4px; /* Ступень 1 */
  --space-2: 8px; /* Ступень 2 */
  --space-3: 12px; /* Ступень 3 */
  --space-4: 16px; /* Ступень 4: внутренний отступ карточки */
  --space-5: 24px; /* Ступень 5 */
  --space-6: 32px; /* Ступень 6 */
  --space-7: 40px; /* Ступень 7 */
  --space-8: 48px; /* Ступень 8 */

  /* ── Промежутки ── */
  --gap-zone: 32px; /* Между зонами страницы */
  --gap-card: 12px; /* Между карточками */
  --gap-inner: 16px; /* Внутри карточки, между полями */

  /* ── Размер шрифта ── */
  --font-size-1: 11px; /* Ступень 1: счётчики, служебные пометки */
  --font-size-2: 12px; /* Ступень 2: подписи под полем */
  --font-size-3: 13px; /* Ступень 3: второстепенный текст */
  --font-size-4: 15px; /* Ступень 4: основной текст */
  --font-size-5: 18px; /* Ступень 5: заголовок карточки */
  --font-size-6: 22px; /* Ступень 6: заголовок зоны */
  --font-size-7: 28px; /* Ступень 7: заголовок страницы */

  /* ── Начертание ── */
  --weight-regular: 400; /* @kind font */ /* Обычное */
  --weight-medium: 500; /* @kind font */ /* Среднее: надписи кнопок, названия записей */
  --weight-bold: 700; /* @kind font */ /* Полужирное */
  --weight-heading: 700; /* @kind font */ /* Заголовки */

  /* ── Шрифты ── */
  --font-heading: 'Manrope', system-ui, sans-serif; /* Заголовки */
  --font-text: 'IBM Plex Sans', system-ui, sans-serif; /* Текст */
  --font-mono: 'JetBrains Mono', ui-monospace, monospace; /* Числа, код, даты в перечнях */
  --line-height-text: 1.5; /* Межстрочное расстояние текста, не менее 1,5 */

  /* ── Длительность движения ── */
  --motion-rise: 120ms; /* Подъём этажа */
  --motion-fall: 80ms; /* Опускание этажа: отклик на нажатие */
  --motion-normal: 200ms; /* Обычный переход */
  --motion-slow: 400ms; /* Медленный: появление плашки, шторки */

  /* ── Кривые движения · сдержанный характер ── */
  --motion-ease: cubic-bezier(.2, 0, 0, 1); /* Общая кривая переходов без особой роли — замедление к концу, без перелёта */
  --motion-ease-rise: cubic-bezier(0, 0, .58, 1); /* Подъём карточки, смена фона и тени под указателем — ease-out, приложение Л. Характер выбран владельцем 24.09.2026, решение № 107 */
  --motion-ease-fall: cubic-bezier(.42, 0, 1, 1); /* Нажатие, опускание на нулевой этаж — ease-in: отклик немедленный */
  --motion-ease-enter: cubic-bezier(.2, .8, .2, 1); /* Выход шторки, окна, подсказки, оповещения; уход выполненной строки вниз — без перелёта */
  --motion-ease-exit: cubic-bezier(.42, 0, 1, 1); /* Закрытие шторки и подсказки, угасание оповещения */
  --motion-ease-fade: cubic-bezier(0, 0, .58, 1); /* Проявление и затемнение: прозрачность не пружинит */
  --motion-ease-draw: cubic-bezier(0, 0, .58, 1); /* Галочка и линии подсказки: обводка без перелёта */

  /* ── Пороги соотношения сторон ── */
  --aspect-portrait: 0.8; /* Ниже — телефонный вид */
  --aspect-wide: 1.3; /* От этого значения при ширине от 1200 — настольный вид */

  /* ── Элементы ── */
  --control-height: 36px; /* Высота кнопки и поля — плотность «обычно», решение № 94 */
  --icon-stroke: 1.5; /* Толщина линии значка, одна на набор */

  /* ── Числа приёмов ── */
  --gl-speed: 8s; /* Полный проход перелива черты под шапкой */
  --gl-thin: 1px; /* Толщина черты под шапкой */
  --fb-spot-size: 5px; /* Поперечник светового пятна на кромке кнопки-сферы */
  --fb-spot-opacity: 0.5; /* Доля яркости пятна на кромке */
  --fb-spot-lap: 300s; /* Полный обход кромки пятном: около 1,3 точки в секунду — ниже порога распознавания */
  --tc-perspective: 700px; /* Перспектива — на родителе карточек, одна точка схода на ряд */
  --tc-tilt: 10deg; /* Наклон карточки к курсору; рабочий предел 8–14° */
  --tc-shadow: 18px; /* Сдвиг тени наклонённой карточки от нажатого угла */
  --tc-return: .45s; /* Возврат карточки в плоскость после ухода курсора — единственный переход на наклоне */
  --am-orb: 8px; /* Диаметр шара ожидания в кнопке */
  --uf-ease: cubic-bezier(.2, .7, .3, 1); /* Кривая откликов: без перелёта */
  --uf-digit: 22px; /* Высота одной цифры барабана */
  --er-rise: 14px; /* Подъём блока при появлении */
  --er-time: .55s; /* Длительность появления */
  --er-step: 45ms; /* Шаг каскада по словам, не больше 60 мс; весь каскад не длиннее 600 мс */
}

/* ── 3. Производные: одна формула на обе темы ── */
:root,
[data-theme] {
  /* ── Значки ── */
  --icon-tone: var(--text-secondary); /* Тон значков всех наборов: ссылка на второстепенный текст — профиль, сменивший цвет текста, перекрашивает и значки. Набор значков может задать свой тон поверх (образцы — vitrina/profiles.css) · светлая: на --bg-page 9,1 : 1, на --bg-card 9,3 : 1, на --bg-menu 8,7 : 1, на --bg-drawer 9,3 : 1 · тёмная: на --bg-page 12,2 : 1, на --bg-card 11,5 : 1, на --bg-menu 9,6 : 1, на --bg-drawer 9,6 : 1 */

  /* ── Карточка ── */
  --bg-card-hover: color-mix(in oklch, var(--bg-card) 97%, white); /* Фон карточки под указателем: 3 % белого — в обеих темах светлее покоя, этаж поднимается */

  /* ── Кнопка-сфера: основная ── */
  --fb-primary-body: var(--action-primary); /* Тело в середине высоты — цвет действия как есть; по нему считается контраст надписи · светлая: на --bg-page 17,3 : 1, на --bg-card 17,7 : 1, на --bg-page-edge 13,4 : 1 · тёмная: на --bg-page 15,1 : 1, на --bg-card 14,2 : 1, на --bg-page-edge 9,1 : 1 */
  --fb-primary-body-top: color-mix(in oklch, var(--action-primary) 86%, white); /* Верх тела — отражение неба: 14 % белого */
  --fb-primary-body-bottom: color-mix(in oklch, var(--action-primary) 86%, black); /* Низ тела — отражение тьмы: 14 % чёрного */
  --fb-primary-body-hover: var(--action-primary-hover); /* Тело под указателем */
  --fb-primary-body-hover-top: color-mix(in oklch, var(--action-primary-hover) 86%, white); /* Верх тела под указателем */
  --fb-primary-body-hover-bottom: color-mix(in oklch, var(--action-primary-hover) 86%, black); /* Низ тела под указателем */
  --fb-primary-body-active: var(--action-primary-active); /* Тело при нажатии */
  --fb-primary-body-active-top: color-mix(in oklch, var(--action-primary-active) 92%, white); /* Верх тела при нажатии: блик слабее — 8 % белого */
  --fb-primary-body-active-bottom: color-mix(in oklch, var(--action-primary-active) 86%, black); /* Низ тела при нажатии */
  --fb-primary-ink: var(--action-primary-text); /* Надпись основной кнопки-сферы: не ниже 4,6 : 1 к телу в каждом состоянии · светлая: на --fb-primary-body 16,9 : 1, на --fb-primary-body-hover 12,5 : 1, на --fb-primary-body-active 18,8 : 1 · тёмная: на --fb-primary-body 15,1 : 1, на --fb-primary-body-hover 17,5 : 1, на --fb-primary-body-active 12,0 : 1 */
  --fb-primary-rim: oklch(from var(--action-primary) calc(l + (1 - l) * 0.72) calc(c * 0.45) h); /* От --action-primary: кромка у верхнего и нижнего края — по Френелю светлее тела: светлота проходит 72 % пути к белому, насыщенность вдвое ниже */
  --fb-primary-rim-mid: color-mix(in oklch, var(--action-primary) 84%, white); /* От --action-primary: кромка в середине высоты — тусклее: 16 % белого */
  --fb-primary-rim-hover: oklch(from var(--action-primary) calc(l + (1 - l) * 0.84) calc(c * 0.35) h); /* От --action-primary: кромка под указателем ярче: 84 % пути к белому */
  --fb-primary-rim-active: oklch(from var(--action-primary) 0.7 calc(c * 0.6) h); /* От --action-primary: кромка при нажатии гаснет: светлота 0,7 при любом цвете */

  /* ── Кнопка-сфера: опасная ── */
  --fb-danger-body: var(--action-danger); /* Тело опасной кнопки — цвет опасного действия как есть · светлая: на --bg-page 5,8 : 1, на --bg-card 5,9 : 1, на --bg-page-edge 4,5 : 1 · тёмная: на --bg-page 6,7 : 1, на --bg-card 6,3 : 1, на --bg-page-edge 4,0 : 1 */
  --fb-danger-body-top: color-mix(in oklch, var(--action-danger) 86%, white); /* Верх тела: 14 % белого */
  --fb-danger-body-bottom: color-mix(in oklch, var(--action-danger) 86%, black); /* Низ тела: 14 % чёрного */
  --fb-danger-body-hover: var(--action-danger-hover); /* Тело под указателем */
  --fb-danger-body-hover-top: color-mix(in oklch, var(--action-danger-hover) 86%, white); /* Верх тела под указателем */
  --fb-danger-body-hover-bottom: color-mix(in oklch, var(--action-danger-hover) 86%, black); /* Низ тела под указателем */
  --fb-danger-body-active: color-mix(in oklch, var(--action-danger) 88%, black); /* Тело при нажатии: 12 % чёрного — своей основной переменной у нажатой опасной кнопки нет */
  --fb-danger-body-active-top: color-mix(in oklch, var(--fb-danger-body-active) 92%, white); /* Верх тела при нажатии */
  --fb-danger-body-active-bottom: color-mix(in oklch, var(--fb-danger-body-active) 86%, black); /* Низ тела при нажатии */
  --fb-danger-ink: var(--action-primary-text); /* Надпись опасной кнопки-сферы: не ниже 4,6 : 1 к телу в каждом состоянии · светлая: на --fb-danger-body 5,7 : 1, на --fb-danger-body-hover 4,7 : 1, на --fb-danger-body-active 7,3 : 1 · тёмная: на --fb-danger-body 6,7 : 1, на --fb-danger-body-hover 8,2 : 1, на --fb-danger-body-active 4,8 : 1 */
  --fb-danger-rim: oklch(from var(--action-danger) calc(l + (1 - l) * 0.72) calc(c * 0.45) h); /* От --action-danger: кромка у верхнего и нижнего края — по Френелю светлее тела: светлота проходит 72 % пути к белому, насыщенность вдвое ниже */
  --fb-danger-rim-mid: color-mix(in oklch, var(--action-danger) 84%, white); /* От --action-danger: кромка в середине высоты — тусклее: 16 % белого */
  --fb-danger-rim-hover: oklch(from var(--action-danger) calc(l + (1 - l) * 0.84) calc(c * 0.35) h); /* От --action-danger: кромка под указателем ярче: 84 % пути к белому */
  --fb-danger-rim-active: oklch(from var(--action-danger) 0.7 calc(c * 0.6) h); /* От --action-danger: кромка при нажатии гаснет: светлота 0,7 при любом цвете */

  /* ── Кнопка-сфера: второстепенная ── */
  --fb-secondary-body: var(--action-secondary); /* Тело второстепенной кнопки */
  --fb-secondary-body-top: oklch(from var(--action-secondary) calc(l + 0.07) c h); /* Верх тела: светлота +0,07 — почти серое тело светлеет сдвигом, а не белым: на тёмной поверхности белое дало бы пятно */
  --fb-secondary-body-bottom: oklch(from var(--action-secondary) calc(l - 0.07) c h); /* Низ тела: светлота −0,07 */
  --fb-secondary-body-hover: var(--action-secondary-hover); /* Тело под указателем */
  --fb-secondary-body-hover-top: oklch(from var(--action-secondary-hover) calc(l + 0.07) c h); /* Верх тела под указателем */
  --fb-secondary-body-hover-bottom: oklch(from var(--action-secondary-hover) calc(l - 0.07) c h); /* Низ тела под указателем */
  --fb-secondary-body-active: oklch(from var(--action-secondary) calc(l - 0.05) c h); /* Тело при нажатии: темнее покоя на 0,05 */
  --fb-secondary-body-active-top: oklch(from var(--fb-secondary-body-active) calc(l + 0.04) c h); /* Верх тела при нажатии */
  --fb-secondary-body-active-bottom: oklch(from var(--fb-secondary-body-active) calc(l - 0.07) c h); /* Низ тела при нажатии */
  --fb-secondary-ink: var(--text-primary); /* Надпись второстепенной кнопки-сферы: основной текст · светлая: на --fb-secondary-body 15,9 : 1, на --fb-secondary-body-hover 14,5 : 1, на --fb-secondary-body-active 13,6 : 1 · тёмная: на --fb-secondary-body 15,0 : 1, на --fb-secondary-body-hover 13,4 : 1, на --fb-secondary-body-active 16,5 : 1 */
  --fb-secondary-rim: color-mix(in oklch, var(--text-muted) 88%, white); /* Кромка у краёв: от --text-muted, 12 % белого. Границу этой кнопки держит кромка, а не тело — поэтому она от приглушённого текста, уже подобранного к подложке и краю живого фона · светлая: на --bg-page 4,6 : 1, на --bg-card 4,7 : 1, на --bg-page-edge 3,6 : 1 · тёмная: на --bg-page 9,0 : 1, на --bg-card 8,5 : 1, на --bg-page-edge 5,5 : 1 */
  --fb-secondary-rim-mid: var(--text-muted); /* Кромка в середине высоты: приглушённый текст как есть · светлая: на --bg-page 6,0 : 1, на --bg-card 6,1 : 1, на --bg-page-edge 4,6 : 1 · тёмная: на --bg-page 8,0 : 1, на --bg-card 7,6 : 1, на --bg-page-edge 4,9 : 1 */
  --fb-secondary-rim-hover: var(--text-secondary); /* Кромка под указателем ярче: второстепенный текст */
  --fb-secondary-rim-active: var(--text-muted); /* Кромка при нажатии гаснет до середины */

  /* ── Кнопка-сфера: блик, пятно, свечение ── */
  --fb-glint: color-mix(in srgb, var(--brand-accent) 22%, transparent); /* Неподвижный блик под надписью основной и опасной кнопки: акцент знака на 22 % */
  --fb-spot: color-mix(in srgb, var(--text-on-dark) 95%, transparent); /* Световое пятно, обходящее кромку: холодно-белое, от --text-on-dark */
  --fb-glow-primary: color-mix(in srgb, var(--action-primary) 50%, transparent); /* Внешнее свечение основной кнопки под указателем: тон действия на 50 % */
  --fb-glow-danger: color-mix(in srgb, var(--action-danger) 45%, transparent); /* Внешнее свечение опасной кнопки под указателем */
  --fb-glow-secondary: color-mix(in srgb, var(--text-muted) 30%, transparent); /* Внешнее свечение второстепенной кнопки под указателем — серое */

  /* ── Наклон карточки ── */
  --tc-shadow-color: color-mix(in srgb, var(--bg-veil) 22%, transparent); /* Тень наклонённой карточки, уходит от нажатого угла: цвет затемнения на 22 % */
  --tc-shadow-contact: color-mix(in srgb, var(--bg-veil) 6%, transparent); /* Малая резкая тень под наклонённой карточкой */

  /* ── Отклики на действие ── */
  --uf-ripple: color-mix(in srgb, var(--action-primary) 32%, transparent); /* Волна от щелчка: тон действия на 32 % */
  --uf-beam: color-mix(in srgb, var(--action-primary) 22%, transparent); /* Блик, бегущий по полосам скелета загрузки: тон действия на 22 % */
  --uf-track: var(--bg-selection); /* Полоса скелета загрузки и ячейка барабана цифр: фон выделения */
  --uf-ring: var(--action-primary); /* Дуга кругового индикатора хода · светлая: на --bg-card 17,7 : 1 · тёмная: на --bg-card 14,2 : 1 */
  --uf-tip-bg: var(--text-primary); /* Фон всплывающей подсказки: основной текст — тёмная плашка днём, светлая ночью */
  --uf-tip-ink: var(--bg-card); /* Текст всплывающей подсказки · светлая: на --uf-tip-bg 18,1 : 1 · тёмная: на --uf-tip-bg 16,0 : 1 */

  /* ── Светящиеся линии ── */
  --gl-spark: color-mix(in oklch, var(--action-primary) 45%, white); /* Искра перелива: тон действия с 55 % белого */
  --gl-ramp: var(--action-primary), var(--gl-spark), var(--action-primary), var(--action-primary-edge), var(--action-primary); /* Перелив черты под шапкой: тон действия, искра, тон, кромка, тон — замкнут на первый цвет, стык без шва */
  --gl-beam: var(--action-primary); /* Светлое пятно мерцающей линии */
  --gl-track: var(--border-divider); /* Дорожка мерцающей линии */

  /* ── Живой фон ── */
  --bg-poster: radial-gradient(58% 70% at 26% 30%, color-mix(in srgb, var(--bg-page-edge) 60%, var(--bg-page)), transparent 62%), radial-gradient(54% 66% at 76% 72%, oklch(from var(--bg-page) calc(l - 0.02) c h), transparent 62%), var(--bg-page); /* Статичный постер живого фона: пятно к краю разлёта и пятно чуть темнее подложки; запасной вид без холста и плитка предпросмотра */

  /* ── Украшения профилей ── */
  --deco-snow: oklch(from var(--entity-minutes) calc(l + (1 - l) * 0.72) calc(c * 0.7) h); /* Снежинка и слой снега на черте под шапкой: светлый холодный от --entity-minutes; намеренно тих — норма 1,3 : 1 · светлая: на --bg-header 1,5 : 1 · тёмная: на --bg-header 13,8 : 1 */
  --deco-snow-edge: color-mix(in oklch, var(--deco-snow) 85%, black); /* Нижняя кромка слоя снега и ободок снежинки: снег с 15 % чёрного · светлая: на --bg-header 2,4 : 1 · тёмная: на --bg-header 8,8 : 1 */
  --deco-wire: color-mix(in oklch, var(--text-muted) 80%, var(--bg-header)); /* Провод гирлянды: приглушённый текст, на пятую часть растворённый в шапке · светлая: на --bg-header 4,0 : 1 · тёмная: на --bg-header 4,8 : 1 */
  --deco-bulb-1: var(--entity-task); /* Лампочка гирлянды и конфетти: основной тон созвучия · светлая: на --bg-page 4,7 : 1 · тёмная: на --bg-page 5,4 : 1 */
  --deco-bulb-2: color-mix(in oklch, var(--entity-project) 70%, white); /* Лампочка гирлянды и конфетти: жёлто-оранжевый созвучия, 30 % белого · светлая: на --bg-page 2,5 : 1 · тёмная: на --bg-page 11,9 : 1 */
  --deco-bulb-3: var(--brand-accent); /* Лампочка гирлянды и конфетти: акцент созвучия · светлая: на --bg-page 4,0 : 1 · тёмная: на --bg-page 7,7 : 1 */
  --deco-bridge: var(--entity-minutes); /* Силуэт разводного моста на черте под шапкой: читается как рисунок, не ниже 4,6 : 1 к шапке · светлая: на --bg-header 6,0 : 1 · тёмная: на --bg-header 7,0 : 1 */
  --deco-lamp: var(--deco-bulb-2); /* Фонари на мосту · светлая: на --bg-header 2,6 : 1 · тёмная: на --bg-header 10,5 : 1 */
}

/* РКМенеджер на системе focustrack, основной цвет — чёрный · тёмная тема
   Палитра выведена из двенадцатичастного круга Иоганнеса Иттена («Искусство цвета»): синий — сине-зелёный — сине-фиолетовый; основной цвет действия — чёрный,
   трезвучие по равнобедренному треугольнику: цвет и два соседа его дополнения. От круга взят только тон; светлота подобрана
   расчётом в OKLCh до нормы контраста с запасом: 4,6 : 1 вместо 4,5 для текста, 3,1 вместо 3 для рамок, значков и рисунка.
   У каждой пары «текст — фон» отношение записано в пояснении к цвету текста; запись совпадает с расчётом по WCAG 2.
   Тот же набор имён, что в разделе 1 файла css/variables.css; общие и производные с одной формулой объявлены там и
   пересчитываются по основным этой темы. Включается атрибутом data-theme="dark" на <html> или на любом узле
   и по настройке устройства, пока тема не выбрана переключателем; оба блока ниже совпадают построчно.
   Глубина передаётся светлотой поверхности: этажи на 4, 7, 11 и 16 % светлее фона страницы, тень — слабый след.
 */
:root[data-theme="dark"],
[data-theme="dark"] {
  /* ── Текст ── */
  --text-primary: #ebeff2; /* Основной текст: заголовки, названия записей, значения полей; текст второстепенной кнопки · oklch(95% 0.006 240) · на --bg-page 17,0 : 1, на --bg-card 16,0 : 1, на --bg-input 17,0 : 1, на --bg-selection 9,8 : 1, на --bg-menu 13,4 : 1, на --bg-drawer 13,4 : 1, на --bg-header 15,0 : 1, на --bg-page-edge 10,3 : 1, на --action-secondary 15,0 : 1, на --action-secondary-hover 13,4 : 1, на --surface-1 16,0 : 1, на --surface-2 15,0 : 1, на --surface-3 13,4 : 1, на --surface-4 11,4 : 1, на --state-success-bg 12,8 : 1, на --state-warning-bg 13,1 : 1, на --state-error-bg 13,2 : 1, на --state-info-bg 13,0 : 1, на --bg-card-hover 15,2 : 1 */
  --text-secondary: #c3cdd5; /* Второстепенный текст: подписи, даты, ответственные; подобран не ниже 7 : 1, на ступень ярче приглушённого · oklch(84% 0.016 242) · на --bg-page 12,2 : 1, на --bg-card 11,5 : 1, на --bg-selection 7,0 : 1, на --bg-page-edge 7,4 : 1, на --bg-menu 9,6 : 1, на --bg-drawer 9,6 : 1, на --bg-card-hover 10,9 : 1 */
  --text-muted: #9da7af; /* Приглушённый текст: подсказка в пустом поле, счётчики, служебные пометки · oklch(72% 0.016 242) · на --bg-page 8,0 : 1, на --bg-card 7,6 : 1, на --bg-selection 4,6 : 1, на --bg-page-edge 4,9 : 1, на --bg-input 8,0 : 1, на --bg-menu 6,3 : 1, на --bg-drawer 6,3 : 1 */
  --text-on-dark: #f8fafd; /* Текст на тёмной заливке, которая тёмная в обеих темах: подписи сцены дашборда, плашка поверх видео · oklch(98% 0.005 258) · на --bg-page 18,8 : 1, на --bg-card 17,7 : 1 */
  --text-link: #53aaff; /* Ссылки в тексте, в подвале и в плашках · oklch(72% 0.150 250) · на --bg-page 8,0 : 1, на --bg-card 7,5 : 1, на --bg-selection 4,6 : 1, на --bg-page-edge 4,9 : 1 */
  --text-error: #ff8255; /* Подпись ошибки под полем, текст плашки ошибки в блоке · oklch(74% 0.164 40) · на --bg-page 8,0 : 1, на --bg-card 7,6 : 1, на --bg-input 8,0 : 1, на --bg-selection 4,6 : 1, на --bg-page-edge 4,9 : 1, на --state-error-bg 6,3 : 1 */
  --text-header: #ebeff2; /* Текст и знак в шапке: сейчас совпадает с основным; профиль может задать шапке свой цвет · oklch(95% 0.006 240) · на --bg-header 15,0 : 1 */

  /* ── Фон ── */
  --bg-page: #080c0f; /* Фон страницы — нулевой этаж; подложка живого фона · oklch(15% 0.009 240) */
  --bg-card: #101418; /* Фон карточки записи, показателя, группы полей — первый этаж · oklch(19% 0.010 248) */
  --bg-header: #171b1f; /* Фон шапки высотой 64 точки — второй этаж · oklch(22% 0.010 248) */
  --bg-menu: #202529; /* Фон меню разделов слева · oklch(26% 0.010 242) */
  --bg-drawer: #202529; /* Фон шторки справа и выпадающих списков — третий этаж · oklch(26% 0.010 242) */
  --bg-input: #080c0f; /* Фон поля ввода, поля кода, поля поиска · oklch(15% 0.009 240) */
  --bg-selection: #1b3c5d; /* Фон выделенного: выбранная строка, найденное в поиске, отмеченный текст; полоса скелета загрузки · oklch(35% 0.070 250) */
  --bg-veil: #020405; /* Затемнение под шторкой (40 %) и под окном (60 %), доля — прозрачностью слоя; тот же тон берут тени кнопки-сферы и наклонённой карточки · oklch(10% 0.008 224) */

  /* ── Рамка ── */
  --border-default: #5f6569; /* Рамка поля ввода и элементов управления в покое · oklch(50% 0.010 237) · на --bg-input 3,3 : 1, на --bg-card 3,1 : 1, на --bg-page 3,3 : 1 */
  --border-hover: #7a8084; /* Рамка поля под указателем · oklch(60% 0.009 237) · на --bg-input 4,9 : 1, на --bg-card 4,6 : 1, на --bg-page 4,9 : 1 */
  --border-focus: #52a9fe; /* Рамка выбора с клавиатуры — две точки с отступом; держит 3 : 1 с запасом к фону по обе стороны · oklch(72% 0.150 250) · на --bg-card 7,5 : 1, на --bg-page 7,9 : 1, на --bg-page-edge 4,8 : 1, на --bg-selection 4,6 : 1, на --bg-input 7,9 : 1 */
  --border-error: #b23c00; /* Рамка поля с ошибкой · oklch(52% 0.163 40) · на --bg-input 3,3 : 1, на --bg-card 3,1 : 1, на --bg-page 3,3 : 1 */
  --border-divider: #1e2226; /* Разделитель строк и приглушённая рамка карточки; дорожка мерцающей линии · oklch(25% 0.010 248) */

  /* ── Действие ── */
  --action-primary: #dee2e5; /* Основная кнопка в покое; от неё выводятся тело, кромка и свечение кнопки-сферы, волна от щелчка, блик скелета, перелив черты под шапкой · oklch(91% 0.006 240) */
  --action-primary-hover: #eff2f4; /* Основная кнопка под указателем: на ступень светлее · oklch(96% 0.004 236) */
  --action-primary-active: #c7cbce; /* Основная кнопка при нажатии: темнее, этаж опускается · oklch(84% 0.006 240) */
  --action-primary-text: #080c0f; /* Надпись на основной и опасной кнопке · oklch(15% 0.009 240) · на --action-primary 15,1 : 1, на --action-primary-hover 17,5 : 1, на --action-primary-active 12,0 : 1, на --action-danger 6,7 : 1, на --action-danger-hover 8,2 : 1 */
  --action-secondary: #171b1f; /* Фон второстепенной кнопки · oklch(22% 0.010 248) */
  --action-secondary-hover: #202529; /* Фон второстепенной кнопки под указателем: на ступень светлее · oklch(26% 0.010 242) */
  --action-danger: #fa6931; /* Кнопка опасного действия: удалить, отклонить · oklch(69% 0.190 40) */
  --action-danger-hover: #ff8559; /* Кнопка опасного действия под указателем: на ступень светлее · oklch(75% 0.160 40) */

  /* ── Состояние ── */
  --state-success: #3ea25b; /* Успех: текст и значок оповещения, отметка выполненной задачи · oklch(64% 0.141 150) · на --state-success-bg 4,6 : 1, на --bg-card 5,7 : 1, на --bg-page 6,1 : 1 */
  --state-success-bg: #122d19; /* Успех: фон оповещения и плашки · oklch(27% 0.050 150) */
  --state-warning: #b98403; /* Предупреждение: текст и значок; янтарный разряд обёрток ошибок · oklch(65% 0.134 80) · на --state-warning-bg 4,6 : 1, на --bg-card 5,6 : 1, на --bg-page 5,9 : 1 */
  --state-warning-bg: #332305; /* Предупреждение: фон оповещения и плашки · oklch(27% 0.050 80) */
  --state-error: #ef5f24; /* Ошибка: текст и значок; красный разряд обёрток ошибок · oklch(66% 0.190 40) · на --state-error-bg 4,6 : 1, на --bg-card 5,6 : 1, на --bg-page 5,9 : 1 */
  --state-error-bg: #3b1d13; /* Ошибка: фон оповещения и плашки · oklch(27% 0.050 39) */
  --state-info: #5193d4; /* Сведение: текст и значок нейтрального оповещения · oklch(65% 0.119 250) · на --state-info-bg 4,6 : 1, на --bg-card 5,7 : 1, на --bg-page 6,1 : 1 */
  --state-info-bg: #12283e; /* Сведение: фон оповещения и плашки · oklch(27% 0.050 250) */

  /* ── Шкала важности ── */
  --scale-1: #22964a; /* Шкала важности и сложности, деление 1 из 10 — зелёный край; значение передаётся ещё положением ползунка и числом · oklch(59% 0.151 150) · на --bg-page 5,2 : 1, на --bg-card 4,9 : 1, на --bg-page-edge 3,1 : 1 */
  --scale-2: #52922c; /* Шкала важности и сложности, деление 2 из 10; значение передаётся ещё положением ползунка и числом · oklch(60% 0.150 136) · на --bg-page 5,1 : 1, на --bg-card 4,9 : 1, на --bg-page-edge 3,1 : 1 */
  --scale-3: #728d00; /* Шкала важности и сложности, деление 3 из 10; значение передаётся ещё положением ползунка и числом · oklch(60% 0.146 122) · на --bg-page 5,2 : 1, на --bg-card 4,9 : 1, на --bg-page-edge 3,1 : 1 */
  --scale-4: #898601; /* Шкала важности и сложности, деление 4 из 10; значение передаётся ещё положением ползунка и числом · oklch(60% 0.130 108) · на --bg-page 5,1 : 1, на --bg-card 4,8 : 1, на --bg-page-edge 3,1 : 1 */
  --scale-5: #9b8105; /* Шкала важности и сложности, деление 5 из 10; значение передаётся ещё положением ползунка и числом · oklch(61% 0.124 95) · на --bg-page 5,2 : 1, на --bg-card 4,9 : 1, на --bg-page-edge 3,1 : 1 */
  --scale-6: #ab7a03; /* Шкала важности и сложности, деление 6 из 10; значение передаётся ещё положением ползунка и числом · oklch(61% 0.126 80) · на --bg-page 5,2 : 1, на --bg-card 4,9 : 1, на --bg-page-edge 3,1 : 1 */
  --scale-7: #bb7203; /* Шкала важности и сложности, деление 7 из 10; значение передаётся ещё положением ползунка и числом · oklch(62% 0.136 66) · на --bg-page 5,2 : 1, на --bg-card 4,9 : 1, на --bg-page-edge 3,1 : 1 */
  --scale-8: #cb6818; /* Шкала важности и сложности, деление 8 из 10; значение передаётся ещё положением ползунка и числом · oklch(62% 0.150 53) · на --bg-page 5,2 : 1, на --bg-card 4,9 : 1, на --bg-page-edge 3,1 : 1 */
  --scale-9: #d1623d; /* Шкала важности и сложности, деление 9 из 10; значение передаётся ещё положением ползунка и числом · oklch(62% 0.150 39) · на --bg-page 5,2 : 1, на --bg-card 4,9 : 1, на --bg-page-edge 3,1 : 1 */
  --scale-10: #d35d58; /* Шкала важности и сложности, деление 10 из 10 — красный край; значение передаётся ещё положением ползунка и числом · oklch(62% 0.150 25) · на --bg-page 5,1 : 1, на --bg-card 4,8 : 1, на --bg-page-edge 3,1 : 1 */

  /* ── Сущности ── */
  --entity-minutes: #8da8c3; /* Оттенок протокола: метка, значок в карточке, фигура и связь на схеме · oklch(72% 0.050 249) · на --bg-page 8,0 : 1, на --bg-card 7,5 : 1, на --bg-page-edge 4,8 : 1 */
  --entity-task: #1289e7; /* Оттенок задачи: метка, значок в карточке, фигура и связь на схеме · oklch(62% 0.170 250) · на --bg-page 5,4 : 1, на --bg-card 5,1 : 1, на --bg-page-edge 3,3 : 1 */
  --entity-project: #10c6c9; /* Оттенок проекта: метка, значок в карточке, фигура и связь на схеме · oklch(75% 0.126 197) · на --bg-page 9,3 : 1, на --bg-card 8,8 : 1, на --bg-page-edge 5,6 : 1 */
  --entity-stream: #8688fe; /* Оттенок направления — сущности: метка, значок в карточке, фигура и связь на схеме · oklch(68% 0.171 280) · на --bg-page 6,5 : 1, на --bg-card 6,1 : 1, на --bg-page-edge 3,9 : 1 */
  --entity-goal: #89c3fe; /* Оттенок цели: метка, значок в карточке, фигура и связь на схеме · oklch(80% 0.104 250) · на --bg-page 10,6 : 1, на --bg-card 10,0 : 1, на --bg-page-edge 6,4 : 1 */

  /* ── Знак ── */
  --brand-mark: #ebeff2; /* Слово-знак «РКМенеджер» в шапке и подвале · oklch(95% 0.006 240) · на --bg-page 17,0 : 1, на --bg-page-edge 10,3 : 1, на --bg-header 15,0 : 1 */
  --brand-accent: #0ab4b8; /* Акцент РКМенеджера, сине-зелёный: точка, отметка, блик; блик кнопки-сферы и лампа украшений берут этот тон · oklch(70% 0.118 198) · на --bg-page 7,7 : 1, на --bg-page-edge 4,7 : 1 */

  /* ── Тени этажей ── */
  --shadow-1-soft: 0 1px 2px rgba(2, 4, 5, 0.036); /* Этаж 1, крупная мягкая тень: задаёт высоту */
  --shadow-1-sharp: 0 0.5px 1px rgba(2, 4, 5, 0.018); /* Этаж 1, малая резкая тень: прижимает к поверхности */
  --shadow-2-soft: 0 2px 6px rgba(2, 4, 5, 0.048); /* Этаж 2, крупная мягкая тень: задаёт высоту */
  --shadow-2-sharp: 0 1px 3px rgba(2, 4, 5, 0.024); /* Этаж 2, малая резкая тень: прижимает к поверхности */
  --shadow-3-soft: 0 8px 20px rgba(2, 4, 5, 0.072); /* Этаж 3, крупная мягкая тень: задаёт высоту */
  --shadow-3-sharp: 0 4px 10px rgba(2, 4, 5, 0.036); /* Этаж 3, малая резкая тень: прижимает к поверхности */
  --shadow-4-soft: 0 20px 48px rgba(2, 4, 5, 0.108); /* Этаж 4, крупная мягкая тень: задаёт высоту */
  --shadow-4-sharp: 0 10px 24px rgba(2, 4, 5, 0.054); /* Этаж 4, малая резкая тень: прижимает к поверхности */
  --elev-0: none; /* Нулевой этаж: без тени — нажатый элемент */
  --elev-1: var(--shadow-1-soft), var(--shadow-1-sharp); /* Составная тень 1-го этажа */
  --elev-2: var(--shadow-2-soft), var(--shadow-2-sharp); /* Составная тень 2-го этажа */
  --elev-3: var(--shadow-3-soft), var(--shadow-3-sharp); /* Составная тень 3-го этажа */
  --elev-4: var(--shadow-4-soft), var(--shadow-4-sharp); /* Составная тень 4-го этажа */

  /* ── Светлота поверхностей ── */
  --surface-1: #101418; /* Поверхность первого этажа: карточка; на 4 % светлее фона страницы · oklch(19% 0.010 248) */
  --surface-2: #171b1f; /* Поверхность второго этажа: шапка, карточка под указателем; на 7 % светлее фона страницы · oklch(22% 0.010 248) */
  --surface-3: #202529; /* Поверхность третьего этажа: шторка, выпадающий список; на 11 % светлее фона страницы · oklch(26% 0.010 242) */
  --surface-4: #2c3135; /* Поверхность четвёртого этажа: модальное окно, оповещение; на 16 % светлее фона страницы · oklch(31% 0.010 242) */

  /* ── Числа приёмов этой темы ── */
  --qb-spread: 40; /* Живой фон: разлёт пятен в значениях из 255 — вверх от почти чёрной подложки; вниз упирается в чёрное */

  /* ── Производные этой темы: формула иная, чем в светлой; имена те же ── */
  --action-primary-edge: color-mix(in oklch, var(--action-primary) 85%, black); /* Кромка основной кнопки: тон действия на 15 % темнее тела — светлая кнопка обведена своим тёмным. Читается против тела и подложки · на --bg-page 9,6 : 1, на --action-primary 1,6 : 1 */
  --bg-page-edge: rgb(from var(--bg-page) calc(max(r, g, b) + var(--qb-spread)) calc(max(r, g, b) + var(--qb-spread)) calc(max(r, g, b) + var(--qb-spread))); /* Потолок живого фона: самое светлое место пятен — подложка плюс разлёт, серым. От --bg-page и --qb-spread; по нему проверяется текст нулевого этажа */
  --fb-glint-cool: color-mix(in srgb, var(--text-muted) 16%, transparent); /* Холодный блик второстепенной кнопки-сферы: от --text-muted на 16 % — на тёмном белый блик был бы пятном */
  --fb-inner-light: color-mix(in srgb, var(--text-secondary) 28%, transparent); /* Тонкая светлая линия по верхнему внутреннему краю тела кнопки-сферы: от --text-secondary на 28 % */
  --fb-shadow-rest: inset 0 1px 0 var(--fb-inner-light), inset 0 -12px 20px -12px color-mix(in srgb, var(--bg-veil) 80%, transparent), 0 8px 22px -8px color-mix(in srgb, var(--bg-veil) 85%, transparent); /* Тень кнопки-сферы в покое: подсветка сверху, тьма снизу, отброшенная тень; цвет — от --bg-veil */
  --fb-shadow-hover: inset 0 1px 0 var(--fb-inner-light), inset 0 -12px 20px -12px color-mix(in srgb, var(--bg-veil) 75%, transparent), 0 12px 28px -10px color-mix(in srgb, var(--bg-veil) 90%, transparent); /* Тень кнопки-сферы под указателем: подъём на этаж; от --bg-veil */
  --fb-shadow-active: inset 0 2px 9px color-mix(in srgb, var(--bg-veil) 85%, transparent), inset 0 1px 0 color-mix(in srgb, var(--text-secondary) 18%, transparent), 0 2px 8px -4px color-mix(in srgb, var(--bg-veil) 80%, transparent); /* Тень кнопки-сферы при нажатии: внешняя сменяется внутренней; от --bg-veil и --text-secondary */
  --fb-shadow-secondary-rest: inset 0 1px 0 var(--fb-inner-light), inset 0 -10px 18px -12px color-mix(in srgb, var(--bg-veil) 35%, transparent), 0 4px 14px -8px color-mix(in srgb, var(--bg-veil) 50%, transparent); /* Тень второстепенной кнопки-сферы в покое — легче основной; от --bg-veil */
  --tc-glare-color: color-mix(in srgb, var(--text-on-dark) 8%, transparent); /* Блик наклонённой карточки: белый от --text-on-dark силой 0,08 — рабочий предел 0,08–0,12 */
}

/* Настройка устройства, пока тема не выбрана переключателем */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    /* ── Текст ── */
    --text-primary: #ebeff2; /* Основной текст: заголовки, названия записей, значения полей; текст второстепенной кнопки · oklch(95% 0.006 240) · на --bg-page 17,0 : 1, на --bg-card 16,0 : 1, на --bg-input 17,0 : 1, на --bg-selection 9,8 : 1, на --bg-menu 13,4 : 1, на --bg-drawer 13,4 : 1, на --bg-header 15,0 : 1, на --bg-page-edge 10,3 : 1, на --action-secondary 15,0 : 1, на --action-secondary-hover 13,4 : 1, на --surface-1 16,0 : 1, на --surface-2 15,0 : 1, на --surface-3 13,4 : 1, на --surface-4 11,4 : 1, на --state-success-bg 12,8 : 1, на --state-warning-bg 13,1 : 1, на --state-error-bg 13,2 : 1, на --state-info-bg 13,0 : 1, на --bg-card-hover 15,2 : 1 */
    --text-secondary: #c3cdd5; /* Второстепенный текст: подписи, даты, ответственные; подобран не ниже 7 : 1, на ступень ярче приглушённого · oklch(84% 0.016 242) · на --bg-page 12,2 : 1, на --bg-card 11,5 : 1, на --bg-selection 7,0 : 1, на --bg-page-edge 7,4 : 1, на --bg-menu 9,6 : 1, на --bg-drawer 9,6 : 1, на --bg-card-hover 10,9 : 1 */
    --text-muted: #9da7af; /* Приглушённый текст: подсказка в пустом поле, счётчики, служебные пометки · oklch(72% 0.016 242) · на --bg-page 8,0 : 1, на --bg-card 7,6 : 1, на --bg-selection 4,6 : 1, на --bg-page-edge 4,9 : 1, на --bg-input 8,0 : 1, на --bg-menu 6,3 : 1, на --bg-drawer 6,3 : 1 */
    --text-on-dark: #f8fafd; /* Текст на тёмной заливке, которая тёмная в обеих темах: подписи сцены дашборда, плашка поверх видео · oklch(98% 0.005 258) · на --bg-page 18,8 : 1, на --bg-card 17,7 : 1 */
    --text-link: #53aaff; /* Ссылки в тексте, в подвале и в плашках · oklch(72% 0.150 250) · на --bg-page 8,0 : 1, на --bg-card 7,5 : 1, на --bg-selection 4,6 : 1, на --bg-page-edge 4,9 : 1 */
    --text-error: #ff8255; /* Подпись ошибки под полем, текст плашки ошибки в блоке · oklch(74% 0.164 40) · на --bg-page 8,0 : 1, на --bg-card 7,6 : 1, на --bg-input 8,0 : 1, на --bg-selection 4,6 : 1, на --bg-page-edge 4,9 : 1, на --state-error-bg 6,3 : 1 */
    --text-header: #ebeff2; /* Текст и знак в шапке: сейчас совпадает с основным; профиль может задать шапке свой цвет · oklch(95% 0.006 240) · на --bg-header 15,0 : 1 */

    /* ── Фон ── */
    --bg-page: #080c0f; /* Фон страницы — нулевой этаж; подложка живого фона · oklch(15% 0.009 240) */
    --bg-card: #101418; /* Фон карточки записи, показателя, группы полей — первый этаж · oklch(19% 0.010 248) */
    --bg-header: #171b1f; /* Фон шапки высотой 64 точки — второй этаж · oklch(22% 0.010 248) */
    --bg-menu: #202529; /* Фон меню разделов слева · oklch(26% 0.010 242) */
    --bg-drawer: #202529; /* Фон шторки справа и выпадающих списков — третий этаж · oklch(26% 0.010 242) */
    --bg-input: #080c0f; /* Фон поля ввода, поля кода, поля поиска · oklch(15% 0.009 240) */
    --bg-selection: #1b3c5d; /* Фон выделенного: выбранная строка, найденное в поиске, отмеченный текст; полоса скелета загрузки · oklch(35% 0.070 250) */
    --bg-veil: #020405; /* Затемнение под шторкой (40 %) и под окном (60 %), доля — прозрачностью слоя; тот же тон берут тени кнопки-сферы и наклонённой карточки · oklch(10% 0.008 224) */

    /* ── Рамка ── */
    --border-default: #5f6569; /* Рамка поля ввода и элементов управления в покое · oklch(50% 0.010 237) · на --bg-input 3,3 : 1, на --bg-card 3,1 : 1, на --bg-page 3,3 : 1 */
    --border-hover: #7a8084; /* Рамка поля под указателем · oklch(60% 0.009 237) · на --bg-input 4,9 : 1, на --bg-card 4,6 : 1, на --bg-page 4,9 : 1 */
    --border-focus: #52a9fe; /* Рамка выбора с клавиатуры — две точки с отступом; держит 3 : 1 с запасом к фону по обе стороны · oklch(72% 0.150 250) · на --bg-card 7,5 : 1, на --bg-page 7,9 : 1, на --bg-page-edge 4,8 : 1, на --bg-selection 4,6 : 1, на --bg-input 7,9 : 1 */
    --border-error: #b23c00; /* Рамка поля с ошибкой · oklch(52% 0.163 40) · на --bg-input 3,3 : 1, на --bg-card 3,1 : 1, на --bg-page 3,3 : 1 */
    --border-divider: #1e2226; /* Разделитель строк и приглушённая рамка карточки; дорожка мерцающей линии · oklch(25% 0.010 248) */

    /* ── Действие ── */
    --action-primary: #dee2e5; /* Основная кнопка в покое; от неё выводятся тело, кромка и свечение кнопки-сферы, волна от щелчка, блик скелета, перелив черты под шапкой · oklch(91% 0.006 240) */
    --action-primary-hover: #eff2f4; /* Основная кнопка под указателем: на ступень светлее · oklch(96% 0.004 236) */
    --action-primary-active: #c7cbce; /* Основная кнопка при нажатии: темнее, этаж опускается · oklch(84% 0.006 240) */
    --action-primary-text: #080c0f; /* Надпись на основной и опасной кнопке · oklch(15% 0.009 240) · на --action-primary 15,1 : 1, на --action-primary-hover 17,5 : 1, на --action-primary-active 12,0 : 1, на --action-danger 6,7 : 1, на --action-danger-hover 8,2 : 1 */
    --action-secondary: #171b1f; /* Фон второстепенной кнопки · oklch(22% 0.010 248) */
    --action-secondary-hover: #202529; /* Фон второстепенной кнопки под указателем: на ступень светлее · oklch(26% 0.010 242) */
    --action-danger: #fa6931; /* Кнопка опасного действия: удалить, отклонить · oklch(69% 0.190 40) */
    --action-danger-hover: #ff8559; /* Кнопка опасного действия под указателем: на ступень светлее · oklch(75% 0.160 40) */

    /* ── Состояние ── */
    --state-success: #3ea25b; /* Успех: текст и значок оповещения, отметка выполненной задачи · oklch(64% 0.141 150) · на --state-success-bg 4,6 : 1, на --bg-card 5,7 : 1, на --bg-page 6,1 : 1 */
    --state-success-bg: #122d19; /* Успех: фон оповещения и плашки · oklch(27% 0.050 150) */
    --state-warning: #b98403; /* Предупреждение: текст и значок; янтарный разряд обёрток ошибок · oklch(65% 0.134 80) · на --state-warning-bg 4,6 : 1, на --bg-card 5,6 : 1, на --bg-page 5,9 : 1 */
    --state-warning-bg: #332305; /* Предупреждение: фон оповещения и плашки · oklch(27% 0.050 80) */
    --state-error: #ef5f24; /* Ошибка: текст и значок; красный разряд обёрток ошибок · oklch(66% 0.190 40) · на --state-error-bg 4,6 : 1, на --bg-card 5,6 : 1, на --bg-page 5,9 : 1 */
    --state-error-bg: #3b1d13; /* Ошибка: фон оповещения и плашки · oklch(27% 0.050 39) */
    --state-info: #5193d4; /* Сведение: текст и значок нейтрального оповещения · oklch(65% 0.119 250) · на --state-info-bg 4,6 : 1, на --bg-card 5,7 : 1, на --bg-page 6,1 : 1 */
    --state-info-bg: #12283e; /* Сведение: фон оповещения и плашки · oklch(27% 0.050 250) */

    /* ── Шкала важности ── */
    --scale-1: #22964a; /* Шкала важности и сложности, деление 1 из 10 — зелёный край; значение передаётся ещё положением ползунка и числом · oklch(59% 0.151 150) · на --bg-page 5,2 : 1, на --bg-card 4,9 : 1, на --bg-page-edge 3,1 : 1 */
    --scale-2: #52922c; /* Шкала важности и сложности, деление 2 из 10; значение передаётся ещё положением ползунка и числом · oklch(60% 0.150 136) · на --bg-page 5,1 : 1, на --bg-card 4,9 : 1, на --bg-page-edge 3,1 : 1 */
    --scale-3: #728d00; /* Шкала важности и сложности, деление 3 из 10; значение передаётся ещё положением ползунка и числом · oklch(60% 0.146 122) · на --bg-page 5,2 : 1, на --bg-card 4,9 : 1, на --bg-page-edge 3,1 : 1 */
    --scale-4: #898601; /* Шкала важности и сложности, деление 4 из 10; значение передаётся ещё положением ползунка и числом · oklch(60% 0.130 108) · на --bg-page 5,1 : 1, на --bg-card 4,8 : 1, на --bg-page-edge 3,1 : 1 */
    --scale-5: #9b8105; /* Шкала важности и сложности, деление 5 из 10; значение передаётся ещё положением ползунка и числом · oklch(61% 0.124 95) · на --bg-page 5,2 : 1, на --bg-card 4,9 : 1, на --bg-page-edge 3,1 : 1 */
    --scale-6: #ab7a03; /* Шкала важности и сложности, деление 6 из 10; значение передаётся ещё положением ползунка и числом · oklch(61% 0.126 80) · на --bg-page 5,2 : 1, на --bg-card 4,9 : 1, на --bg-page-edge 3,1 : 1 */
    --scale-7: #bb7203; /* Шкала важности и сложности, деление 7 из 10; значение передаётся ещё положением ползунка и числом · oklch(62% 0.136 66) · на --bg-page 5,2 : 1, на --bg-card 4,9 : 1, на --bg-page-edge 3,1 : 1 */
    --scale-8: #cb6818; /* Шкала важности и сложности, деление 8 из 10; значение передаётся ещё положением ползунка и числом · oklch(62% 0.150 53) · на --bg-page 5,2 : 1, на --bg-card 4,9 : 1, на --bg-page-edge 3,1 : 1 */
    --scale-9: #d1623d; /* Шкала важности и сложности, деление 9 из 10; значение передаётся ещё положением ползунка и числом · oklch(62% 0.150 39) · на --bg-page 5,2 : 1, на --bg-card 4,9 : 1, на --bg-page-edge 3,1 : 1 */
    --scale-10: #d35d58; /* Шкала важности и сложности, деление 10 из 10 — красный край; значение передаётся ещё положением ползунка и числом · oklch(62% 0.150 25) · на --bg-page 5,1 : 1, на --bg-card 4,8 : 1, на --bg-page-edge 3,1 : 1 */

    /* ── Сущности ── */
    --entity-minutes: #8da8c3; /* Оттенок протокола: метка, значок в карточке, фигура и связь на схеме · oklch(72% 0.050 249) · на --bg-page 8,0 : 1, на --bg-card 7,5 : 1, на --bg-page-edge 4,8 : 1 */
    --entity-task: #1289e7; /* Оттенок задачи: метка, значок в карточке, фигура и связь на схеме · oklch(62% 0.170 250) · на --bg-page 5,4 : 1, на --bg-card 5,1 : 1, на --bg-page-edge 3,3 : 1 */
    --entity-project: #10c6c9; /* Оттенок проекта: метка, значок в карточке, фигура и связь на схеме · oklch(75% 0.126 197) · на --bg-page 9,3 : 1, на --bg-card 8,8 : 1, на --bg-page-edge 5,6 : 1 */
    --entity-stream: #8688fe; /* Оттенок направления — сущности: метка, значок в карточке, фигура и связь на схеме · oklch(68% 0.171 280) · на --bg-page 6,5 : 1, на --bg-card 6,1 : 1, на --bg-page-edge 3,9 : 1 */
    --entity-goal: #89c3fe; /* Оттенок цели: метка, значок в карточке, фигура и связь на схеме · oklch(80% 0.104 250) · на --bg-page 10,6 : 1, на --bg-card 10,0 : 1, на --bg-page-edge 6,4 : 1 */

    /* ── Знак ── */
    --brand-mark: #ebeff2; /* Слово-знак «РКМенеджер» в шапке и подвале · oklch(95% 0.006 240) · на --bg-page 17,0 : 1, на --bg-page-edge 10,3 : 1, на --bg-header 15,0 : 1 */
    --brand-accent: #0ab4b8; /* Акцент РКМенеджера, сине-зелёный: точка, отметка, блик; блик кнопки-сферы и лампа украшений берут этот тон · oklch(70% 0.118 198) · на --bg-page 7,7 : 1, на --bg-page-edge 4,7 : 1 */

    /* ── Тени этажей ── */
    --shadow-1-soft: 0 1px 2px rgba(2, 4, 5, 0.036); /* Этаж 1, крупная мягкая тень: задаёт высоту */
    --shadow-1-sharp: 0 0.5px 1px rgba(2, 4, 5, 0.018); /* Этаж 1, малая резкая тень: прижимает к поверхности */
    --shadow-2-soft: 0 2px 6px rgba(2, 4, 5, 0.048); /* Этаж 2, крупная мягкая тень: задаёт высоту */
    --shadow-2-sharp: 0 1px 3px rgba(2, 4, 5, 0.024); /* Этаж 2, малая резкая тень: прижимает к поверхности */
    --shadow-3-soft: 0 8px 20px rgba(2, 4, 5, 0.072); /* Этаж 3, крупная мягкая тень: задаёт высоту */
    --shadow-3-sharp: 0 4px 10px rgba(2, 4, 5, 0.036); /* Этаж 3, малая резкая тень: прижимает к поверхности */
    --shadow-4-soft: 0 20px 48px rgba(2, 4, 5, 0.108); /* Этаж 4, крупная мягкая тень: задаёт высоту */
    --shadow-4-sharp: 0 10px 24px rgba(2, 4, 5, 0.054); /* Этаж 4, малая резкая тень: прижимает к поверхности */
    --elev-0: none; /* Нулевой этаж: без тени — нажатый элемент */
    --elev-1: var(--shadow-1-soft), var(--shadow-1-sharp); /* Составная тень 1-го этажа */
    --elev-2: var(--shadow-2-soft), var(--shadow-2-sharp); /* Составная тень 2-го этажа */
    --elev-3: var(--shadow-3-soft), var(--shadow-3-sharp); /* Составная тень 3-го этажа */
    --elev-4: var(--shadow-4-soft), var(--shadow-4-sharp); /* Составная тень 4-го этажа */

    /* ── Светлота поверхностей ── */
    --surface-1: #101418; /* Поверхность первого этажа: карточка; на 4 % светлее фона страницы · oklch(19% 0.010 248) */
    --surface-2: #171b1f; /* Поверхность второго этажа: шапка, карточка под указателем; на 7 % светлее фона страницы · oklch(22% 0.010 248) */
    --surface-3: #202529; /* Поверхность третьего этажа: шторка, выпадающий список; на 11 % светлее фона страницы · oklch(26% 0.010 242) */
    --surface-4: #2c3135; /* Поверхность четвёртого этажа: модальное окно, оповещение; на 16 % светлее фона страницы · oklch(31% 0.010 242) */

    /* ── Числа приёмов этой темы ── */
    --qb-spread: 40; /* Живой фон: разлёт пятен в значениях из 255 — вверх от почти чёрной подложки; вниз упирается в чёрное */

    /* ── Производные этой темы: формула иная, чем в светлой; имена те же ── */
    --action-primary-edge: color-mix(in oklch, var(--action-primary) 85%, black); /* Кромка основной кнопки: тон действия на 15 % темнее тела — светлая кнопка обведена своим тёмным. Читается против тела и подложки · на --bg-page 9,6 : 1, на --action-primary 1,6 : 1 */
    --bg-page-edge: rgb(from var(--bg-page) calc(max(r, g, b) + var(--qb-spread)) calc(max(r, g, b) + var(--qb-spread)) calc(max(r, g, b) + var(--qb-spread))); /* Потолок живого фона: самое светлое место пятен — подложка плюс разлёт, серым. От --bg-page и --qb-spread; по нему проверяется текст нулевого этажа */
    --fb-glint-cool: color-mix(in srgb, var(--text-muted) 16%, transparent); /* Холодный блик второстепенной кнопки-сферы: от --text-muted на 16 % — на тёмном белый блик был бы пятном */
    --fb-inner-light: color-mix(in srgb, var(--text-secondary) 28%, transparent); /* Тонкая светлая линия по верхнему внутреннему краю тела кнопки-сферы: от --text-secondary на 28 % */
    --fb-shadow-rest: inset 0 1px 0 var(--fb-inner-light), inset 0 -12px 20px -12px color-mix(in srgb, var(--bg-veil) 80%, transparent), 0 8px 22px -8px color-mix(in srgb, var(--bg-veil) 85%, transparent); /* Тень кнопки-сферы в покое: подсветка сверху, тьма снизу, отброшенная тень; цвет — от --bg-veil */
    --fb-shadow-hover: inset 0 1px 0 var(--fb-inner-light), inset 0 -12px 20px -12px color-mix(in srgb, var(--bg-veil) 75%, transparent), 0 12px 28px -10px color-mix(in srgb, var(--bg-veil) 90%, transparent); /* Тень кнопки-сферы под указателем: подъём на этаж; от --bg-veil */
    --fb-shadow-active: inset 0 2px 9px color-mix(in srgb, var(--bg-veil) 85%, transparent), inset 0 1px 0 color-mix(in srgb, var(--text-secondary) 18%, transparent), 0 2px 8px -4px color-mix(in srgb, var(--bg-veil) 80%, transparent); /* Тень кнопки-сферы при нажатии: внешняя сменяется внутренней; от --bg-veil и --text-secondary */
    --fb-shadow-secondary-rest: inset 0 1px 0 var(--fb-inner-light), inset 0 -10px 18px -12px color-mix(in srgb, var(--bg-veil) 35%, transparent), 0 4px 14px -8px color-mix(in srgb, var(--bg-veil) 50%, transparent); /* Тень второстепенной кнопки-сферы в покое — легче основной; от --bg-veil */
    --tc-glare-color: color-mix(in srgb, var(--text-on-dark) 8%, transparent); /* Блик наклонённой карточки: белый от --text-on-dark силой 0,08 — рабочий предел 0,08–0,12 */
  }
}

/* РКМенеджер · цвета, которых нет в системе focustrack: четыре типа РУКИ, плашка картинок, круг Иттена.
   Пишет scripts/palette.js теми же функциями, что генератор системы: тон — с круга Иттена, светлота подобрана в OKLCh
   до нормы контраста с запасом 0,1 (4,6 : 1 для надписей). Руками не править: пересчитать сценарием.
   Идёт в том же файле палитры сразу за переменными системы обеих тем. */
:root,
[data-theme="light"] {
  --ruki-r: #c9302d; /* Тип Р — решительный: буква, подпись, линия на схеме; сектор 5 круга Иттена · oklch(55% 0.190 27) · на --bg-page 5,2 : 1, на --bg-card 5,3 : 1, на --ruki-r-soft 4,6 : 1 */
  --ruki-r-soft: #feebe9; /* Тип Р — решительный: фон врезки и строки таблицы · oklch(95% 0.021 25) */
  --ruki-r-fill: #d13834; /* Тип Р — решительный: заливка бруска на объёмной схеме, метки и шапки столбца; тип узнаётся ещё и по букве · oklch(57% 0.191 27) · на --bg-page 4,8 : 1 */
  --ruki-r-ink: #f8fafd; /* Тип Р — решительный: надпись на заливке · oklch(98% 0.005 258) · на --ruki-r-fill 4,6 : 1 */
  --ruki-u: #277d23; /* Тип У — убеждающий: буква, подпись, линия на схеме; сектор 11 круга Иттена · oklch(52% 0.150 142) · на --bg-page 5,1 : 1, на --bg-card 5,2 : 1, на --ruki-u-soft 4,6 : 1 */
  --ruki-u-soft: #e3f7e1; /* Тип У — убеждающий: фон врезки и строки таблицы · oklch(96% 0.036 143) */
  --ruki-u-fill: #2c8228; /* Тип У — убеждающий: заливка бруска на объёмной схеме, метки и шапки столбца; тип узнаётся ещё и по букве · oklch(54% 0.150 142) · на --bg-page 4,7 : 1 */
  --ruki-u-ink: #f8fafd; /* Тип У — убеждающий: надпись на заливке · oklch(98% 0.005 258) · на --ruki-u-fill 4,6 : 1 */
  --ruki-k: #a75602; /* Тип К — контролирующий: буква, подпись, линия на схеме; сектор 3 круга Иттена · oklch(54% 0.132 56) · на --bg-page 5,2 : 1, на --bg-card 5,3 : 1, на --ruki-k-soft 4,6 : 1 */
  --ruki-k-soft: #feece1; /* Тип К — контролирующий: фон врезки и строки таблицы · oklch(95% 0.025 54) */
  --ruki-k-fill: #c76805; /* Тип К — контролирующий: заливка бруска на объёмной схеме, метки и шапки столбца; тип узнаётся ещё и по букве · oklch(62% 0.150 56) · на --bg-page 3,8 : 1 */
  --ruki-k-ink: #12171a; /* Тип К — контролирующий: надпись на заливке · oklch(20% 0.010 234) · на --ruki-k-fill 4,7 : 1 */
  --ruki-i: #216fb3; /* Тип И — исполнительный: буква, подпись, линия на схеме; сектор 9 круга Иттена · oklch(53% 0.130 249) · на --bg-page 5,2 : 1, на --bg-card 5,3 : 1, на --ruki-i-soft 4,6 : 1 */
  --ruki-i-soft: #e6f2fe; /* Тип И — исполнительный: фон врезки и строки таблицы · oklch(96% 0.021 248) */
  --ruki-i-fill: #2875ba; /* Тип И — исполнительный: заливка бруска на объёмной схеме, метки и шапки столбца; тип узнаётся ещё и по букве · oklch(55% 0.130 250) · на --bg-page 4,7 : 1 */
  --ruki-i-ink: #f8fafd; /* Тип И — исполнительный: надпись на заливке · oklch(98% 0.005 258) · на --ruki-i-fill 4,6 : 1 */
  --rk-accent-ink: #007375; /* Акцент в надписях, сине-зелёный: метки над заголовками, номера граней, подписи вопросов · oklch(50% 0.086 197) · на --bg-page 5,5 : 1, на --bg-card 5,7 : 1, на --bg-menu 5,3 : 1, на --bg-selection 4,6 : 1 */
  --rk-plate: #ffffff; /* Плашка под картинками главной: светлая в обеих темах — реплики на картинках чёрные · oklch(100% 0.000 0) */
  --rk-plate-ink: #12171b; /* Подпись на плашке картинки · oklch(20% 0.011 242) · на --rk-plate 18,0 : 1 */
  --deco-wheel-1: #a09600; /* Круг Иттена, сектор 1 — жёлтый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(66% 0.140 105) */
  --deco-wheel-2: #bb8800; /* Круг Иттена, сектор 2 — жёлто-оранжевый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(66% 0.136 82) */
  --deco-wheel-3: #da730a; /* Круг Иттена, сектор 3 — оранжевый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(66% 0.160 56) */
  --deco-wheel-4: #e36750; /* Круг Иттена, сектор 4 — красно-оранжевый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(66% 0.160 32) */
  --deco-wheel-5: #e3655b; /* Круг Иттена, сектор 5 — красный: разделитель-радуга; украшение, нормы контраста не имеет · oklch(66% 0.159 27) */
  --deco-wheel-6: #da639a; /* Круг Иттена, сектор 6 — красно-фиолетовый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(66% 0.160 353) */
  --deco-wheel-7: #b571d6; /* Круг Иттена, сектор 7 — фиолетовый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(66% 0.160 314) */
  --deco-wheel-8: #8283f1; /* Круг Иттена, сектор 8 — сине-фиолетовый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(66% 0.161 281) */
  --deco-wheel-9: #3296ef; /* Круг Иттена, сектор 9 — синий: разделитель-радуга; украшение, нормы контраста не имеет · oklch(66% 0.160 250) */
  --deco-wheel-10: #03a7aa; /* Круг Иттена, сектор 10 — сине-зелёный: разделитель-радуга; украшение, нормы контраста не имеет · oklch(66% 0.112 197) */
  --deco-wheel-11: #4faa49; /* Круг Иттена, сектор 11 — зелёный: разделитель-радуга; украшение, нормы контраста не имеет · oklch(66% 0.160 142) */
  --deco-wheel-12: #7ca215; /* Круг Иттена, сектор 12 — жёлто-зелёный: разделитель-радуга; украшение, нормы контраста не имеет · oklch(66% 0.160 125) */
}

:root[data-theme="dark"],
[data-theme="dark"] {
  --ruki-r: #f25950; /* Тип Р — решительный: буква, подпись, линия на схеме; сектор 5 круга Иттена · oklch(67% 0.190 27) · на --bg-page 5,9 : 1, на --bg-card 5,6 : 1, на --ruki-r-soft 4,6 : 1 */
  --ruki-r-soft: #3b1c19; /* Тип Р — решительный: фон врезки и строки таблицы · oklch(27% 0.049 27) */
  --ruki-r-fill: #d13834; /* Тип Р — решительный: заливка бруска на объёмной схеме, метки и шапки столбца; тип узнаётся ещё и по букве · oklch(57% 0.191 27) · на --bg-page 4,0 : 1 */
  --ruki-r-ink: #f8fafd; /* Тип Р — решительный: надпись на заливке · oklch(98% 0.005 258) · на --ruki-r-fill 4,6 : 1 */
  --ruki-u: #4ea248; /* Тип У — убеждающий: буква, подпись, линия на схеме; сектор 11 круга Иттена · oklch(64% 0.151 142) · на --bg-page 6,2 : 1, на --bg-card 5,8 : 1, на --ruki-u-soft 4,6 : 1 */
  --ruki-u-soft: #172d15; /* Тип У — убеждающий: фон врезки и строки таблицы · oklch(27% 0.051 142) */
  --ruki-u-fill: #2c8228; /* Тип У — убеждающий: заливка бруска на объёмной схеме, метки и шапки столбца; тип узнаётся ещё и по букве · oklch(54% 0.150 142) · на --bg-page 4,0 : 1 */
  --ruki-u-ink: #f8fafd; /* Тип У — убеждающий: надпись на заливке · oklch(98% 0.005 258) · на --ruki-u-fill 4,6 : 1 */
  --ruki-k: #d97207; /* Тип К — контролирующий: буква, подпись, линия на схеме; сектор 3 круга Иттена · oklch(66% 0.160 56) · на --bg-page 5,9 : 1, на --bg-card 5,6 : 1, на --ruki-k-soft 4,6 : 1 */
  --ruki-k-soft: #391f0c; /* Тип К — контролирующий: фон врезки и строки таблицы · oklch(27% 0.050 55) */
  --ruki-k-fill: #c16300; /* Тип К — контролирующий: заливка бруска на объёмной схеме, метки и шапки столбца; тип узнаётся ещё и по букве · oklch(60% 0.148 55) · на --bg-page 4,7 : 1 */
  --ruki-k-ink: #080c0f; /* Тип К — контролирующий: надпись на заливке · oklch(15% 0.009 240) · на --ruki-k-fill 4,7 : 1 */
  --ruki-i: #4893da; /* Тип И — исполнительный: буква, подпись, линия на схеме; сектор 9 круга Иттена · oklch(65% 0.130 249) · на --bg-page 6,0 : 1, на --bg-card 5,7 : 1, на --ruki-i-soft 4,6 : 1 */
  --ruki-i-soft: #11283e; /* Тип И — исполнительный: фон врезки и строки таблицы · oklch(27% 0.050 249) */
  --ruki-i-fill: #2875ba; /* Тип И — исполнительный: заливка бруска на объёмной схеме, метки и шапки столбца; тип узнаётся ещё и по букве · oklch(55% 0.130 250) · на --bg-page 4,1 : 1 */
  --ruki-i-ink: #f8fafd; /* Тип И — исполнительный: надпись на заливке · oklch(98% 0.005 258) · на --ruki-i-fill 4,6 : 1 */
  --rk-accent-ink: #08b8bb; /* Акцент в надписях, сине-зелёный: метки над заголовками, номера граней, подписи вопросов · oklch(71% 0.120 197) · на --bg-page 8,0 : 1, на --bg-card 7,6 : 1, на --bg-menu 6,3 : 1, на --bg-selection 4,6 : 1 */
  --rk-plate: #d7dfe5; /* Плашка под картинками главной: светлая в обеих темах — реплики на картинках чёрные · oklch(90% 0.012 240) */
  --rk-plate-ink: #12171b; /* Подпись на плашке картинки · oklch(20% 0.011 242) · на --rk-plate 13,4 : 1 */
  --deco-wheel-1: #b4a802; /* Круг Иттена, сектор 1 — жёлтый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.152 104) */
  --deco-wheel-2: #d29a02; /* Круг Иттена, сектор 2 — жёлто-оранжевый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.148 82) */
  --deco-wheel-3: #ef862d; /* Круг Иттена, сектор 3 — оранжевый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.160 56) */
  --deco-wheel-4: #f87a62; /* Круг Иттена, сектор 4 — красно-оранжевый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.159 32) */
  --deco-wheel-5: #f9786d; /* Круг Иттена, сектор 5 — красный: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.160 27) */
  --deco-wheel-6: #ef76ac; /* Круг Иттена, сектор 6 — красно-фиолетовый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.159 354) */
  --deco-wheel-7: #c884ea; /* Круг Иттена, сектор 7 — фиолетовый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.159 314) */
  --deco-wheel-8: #9498ff; /* Круг Иттена, сектор 8 — сине-фиолетовый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.148 280) */
  --deco-wheel-9: #50aafe; /* Круг Иттена, сектор 9 — синий: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.150 249) */
  --deco-wheel-10: #05bbbf; /* Круг Иттена, сектор 10 — сине-зелёный: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.122 198) */
  --deco-wheel-11: #62bd5c; /* Круг Иттена, сектор 11 — зелёный: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.160 143) */
  --deco-wheel-12: #8eb533; /* Круг Иттена, сектор 12 — жёлто-зелёный: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.160 125) */
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ruki-r: #f25950; /* Тип Р — решительный: буква, подпись, линия на схеме; сектор 5 круга Иттена · oklch(67% 0.190 27) · на --bg-page 5,9 : 1, на --bg-card 5,6 : 1, на --ruki-r-soft 4,6 : 1 */
    --ruki-r-soft: #3b1c19; /* Тип Р — решительный: фон врезки и строки таблицы · oklch(27% 0.049 27) */
    --ruki-r-fill: #d13834; /* Тип Р — решительный: заливка бруска на объёмной схеме, метки и шапки столбца; тип узнаётся ещё и по букве · oklch(57% 0.191 27) · на --bg-page 4,0 : 1 */
    --ruki-r-ink: #f8fafd; /* Тип Р — решительный: надпись на заливке · oklch(98% 0.005 258) · на --ruki-r-fill 4,6 : 1 */
    --ruki-u: #4ea248; /* Тип У — убеждающий: буква, подпись, линия на схеме; сектор 11 круга Иттена · oklch(64% 0.151 142) · на --bg-page 6,2 : 1, на --bg-card 5,8 : 1, на --ruki-u-soft 4,6 : 1 */
    --ruki-u-soft: #172d15; /* Тип У — убеждающий: фон врезки и строки таблицы · oklch(27% 0.051 142) */
    --ruki-u-fill: #2c8228; /* Тип У — убеждающий: заливка бруска на объёмной схеме, метки и шапки столбца; тип узнаётся ещё и по букве · oklch(54% 0.150 142) · на --bg-page 4,0 : 1 */
    --ruki-u-ink: #f8fafd; /* Тип У — убеждающий: надпись на заливке · oklch(98% 0.005 258) · на --ruki-u-fill 4,6 : 1 */
    --ruki-k: #d97207; /* Тип К — контролирующий: буква, подпись, линия на схеме; сектор 3 круга Иттена · oklch(66% 0.160 56) · на --bg-page 5,9 : 1, на --bg-card 5,6 : 1, на --ruki-k-soft 4,6 : 1 */
    --ruki-k-soft: #391f0c; /* Тип К — контролирующий: фон врезки и строки таблицы · oklch(27% 0.050 55) */
    --ruki-k-fill: #c16300; /* Тип К — контролирующий: заливка бруска на объёмной схеме, метки и шапки столбца; тип узнаётся ещё и по букве · oklch(60% 0.148 55) · на --bg-page 4,7 : 1 */
    --ruki-k-ink: #080c0f; /* Тип К — контролирующий: надпись на заливке · oklch(15% 0.009 240) · на --ruki-k-fill 4,7 : 1 */
    --ruki-i: #4893da; /* Тип И — исполнительный: буква, подпись, линия на схеме; сектор 9 круга Иттена · oklch(65% 0.130 249) · на --bg-page 6,0 : 1, на --bg-card 5,7 : 1, на --ruki-i-soft 4,6 : 1 */
    --ruki-i-soft: #11283e; /* Тип И — исполнительный: фон врезки и строки таблицы · oklch(27% 0.050 249) */
    --ruki-i-fill: #2875ba; /* Тип И — исполнительный: заливка бруска на объёмной схеме, метки и шапки столбца; тип узнаётся ещё и по букве · oklch(55% 0.130 250) · на --bg-page 4,1 : 1 */
    --ruki-i-ink: #f8fafd; /* Тип И — исполнительный: надпись на заливке · oklch(98% 0.005 258) · на --ruki-i-fill 4,6 : 1 */
    --rk-accent-ink: #08b8bb; /* Акцент в надписях, сине-зелёный: метки над заголовками, номера граней, подписи вопросов · oklch(71% 0.120 197) · на --bg-page 8,0 : 1, на --bg-card 7,6 : 1, на --bg-menu 6,3 : 1, на --bg-selection 4,6 : 1 */
    --rk-plate: #d7dfe5; /* Плашка под картинками главной: светлая в обеих темах — реплики на картинках чёрные · oklch(90% 0.012 240) */
    --rk-plate-ink: #12171b; /* Подпись на плашке картинки · oklch(20% 0.011 242) · на --rk-plate 13,4 : 1 */
    --deco-wheel-1: #b4a802; /* Круг Иттена, сектор 1 — жёлтый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.152 104) */
    --deco-wheel-2: #d29a02; /* Круг Иттена, сектор 2 — жёлто-оранжевый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.148 82) */
    --deco-wheel-3: #ef862d; /* Круг Иттена, сектор 3 — оранжевый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.160 56) */
    --deco-wheel-4: #f87a62; /* Круг Иттена, сектор 4 — красно-оранжевый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.159 32) */
    --deco-wheel-5: #f9786d; /* Круг Иттена, сектор 5 — красный: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.160 27) */
    --deco-wheel-6: #ef76ac; /* Круг Иттена, сектор 6 — красно-фиолетовый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.159 354) */
    --deco-wheel-7: #c884ea; /* Круг Иттена, сектор 7 — фиолетовый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.159 314) */
    --deco-wheel-8: #9498ff; /* Круг Иттена, сектор 8 — сине-фиолетовый: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.148 280) */
    --deco-wheel-9: #50aafe; /* Круг Иттена, сектор 9 — синий: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.150 249) */
    --deco-wheel-10: #05bbbf; /* Круг Иттена, сектор 10 — сине-зелёный: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.122 198) */
    --deco-wheel-11: #62bd5c; /* Круг Иттена, сектор 11 — зелёный: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.160 143) */
    --deco-wheel-12: #8eb533; /* Круг Иттена, сектор 12 — жёлто-зелёный: разделитель-радуга; украшение, нормы контраста не имеет · oklch(72% 0.160 125) */
  }
}
