/* ⚠ згенеровано з `src/nyshporka/brand/data/brand.yaml` — руками не правити.
   Правка тут живе рівно до наступного `python -m nyshporka.brand.gen`.
   Змінювати кольори — у brand.yaml; перевіряти — `--check` (він же в CI). */

:root {
  color-scheme: dark;

  /* ── поверхні: сходинка від найглибшої (лог) до піднятої (кнопки) ────────
     У темній «вище = світліше». У світлій напрямок ПРОТИЛЕЖНИЙ і це принципово:
     «вище = БІЛІШЕ, а сторінка сірувата», тобто контроль стає чисто білим, а тло
     сторінки — теплим сірим. Тон теплий навмисно: бренд помаранчевий, і
     нейтрально-холодний сірий поруч із ним виглядає брудним. */
  --s-log: #0d0d0d;   /* лог, найглибше тло */
  --s-0: #111;        /* хром: шапка, липкі тулбари, шапки модалок */
  --s-1: #161616;     /* другорядні смуги, дашборди, картки-списки */
  --bg: #1a1a1a;      /* тло сторінки */
  --s-2: #1e1e1e;     /* картки-секції */
  --s-3: #222;        /* контролі, інпути, картки контенту */
  --s-4: #2a2a2a;     /* підняті кнопки, треки прогресу */

  /* ── лінії: чотири сили розділення ───────────────────────────────────────
     У темній сила = світліше, у світлій = темніше. */
  --line: #2a2a2a;   /* найтихіша: розділювачі всередині блока */
  --line-2: #333;    /* рамка картки */
  --line-3: #444;    /* рамка контрола */
  --line-4: #555;    /* рамка при ховері */

  /* ── текст: шість щаблів тиші ────────────────────────────────────────────
     Контраст до тла у світлій темі рахований: 15.1 · 10.7 · 5.4 · 5.0 · 3.4 · 4.1.
     `fg-3` зберігає синюватий відтінок темної теми. */
  --fg: #eee;      /* основний */
  --fg-2: #ccc;    /* другорядний */
  --fg-3: #9ab;    /* приглушений (метадані, підписи) */
  --fg-4: #888;    /* ще тихіший */
  --fg-5: #666;    /* натяки, підказки, плейсхолдери */
  --fg-6: #777;    /* між --fg-4 і --fg-5; 29 місць хардкоду */
  --white: #fff;   /* чорнило НА кольоровій заливці */

  /* ── акцент: РОЗЧЕПЛЕНИЙ на дві ролі ─────────────────────────────────────
     🔴 У світлій темі ролі розходяться: як ЧОРНИЛО помаранчевий #ffb74d дає на
     світлому 1.6:1 (нечитабельно), а як ЗАЛИВКА він мусить лишитись помаранчевим —
     це фірмовий колір активної вкладки. Правило вживання: `color:` і `border-color:`
     беруть `accent`, `background:` бере `accent-fill`. Приймач тримає це в тестах. */
  --accent: #ffb74d;        /* фірмовий помаранчевий: ЧОРНИЛО й рамки */
  --accent-fill: #ffb74d;   /* той самий: ЗАЛИВКА (активна вкладка, шкала) */
  --accent-ink: #111;       /* чорнило НА помаранчевій заливці */
  --accent-2: #ffd166;      /* світліший акцент: бенди, попередження */
  --accent-bg: #26211a;     /* тло активного акцентного елемента */

  /* ── семантика станів ────────────────────────────────────────────────────
     Стан говорить кольором ще до підпису; тонові тла — для смуг і плашок. */
  --info: #9ad7ff;        /* підписи полів, посилання-дії */
  --info-2: #64b5f6;      /* інформаційне, друга сила */
  --link: #2196f3;        /* кнопка-дія */
  --ok: #4caf50;          /* ствердне */
  --ok-2: #81c784;        /* ствердне, тихіше */
  --ok-3: #a5d6a7;        /* ствердне, найтихіше */
  --warn: #ff9800;        /* попередження */
  --err: #f44336;         /* відмова */
  --err-2: #ef9a9a;       /* відмова, тихіше */
  --violet: #ce93d8;      /* A/B-порівняння */
  --magenta: #e040fb;     /* активний конфузер */
  --ok-bg: #1d2a1d;       /* тло успіху */
  --ok-line: #2e7d32;     /* рамка успіху */
  --err-bg: #2a1a1a;      /* тло помилки */
  --err-line: #8b3838;    /* рамка помилки */
  --info-bg: #102028;     /* тло інформації */
  --info-line: #2e4651;   /* рамка інформації */

  /* ── ролеві тони: назва каже РОЛЬ, а не відтінок ─────────────────────────
     Кожен замінив 5-23 входження хардкоду. У світлій темі відтінок інший, а роль
     та сама — саме тому імена не кольорові. */
  --ok-soft: #7fbf9f;          /* «хіт / бойова версія» — приглушено-зелений */
  --ok-solid: #2d7d2d;         /* ЗАЛИВКА ствердного бейджа («★ у каноні») */
  --err-solid: #7a2e2e;        /* ЗАЛИВКА застережного бейджа (holdout, danger) */
  --mint-2: #8ff0b8;           /* «дефіциту немає» — світло-мʼятний */
  --warn-2: #e0b050;           /* «поки триває» — приглушено-жовтий */
  --blue-solid: #2878ff;       /* конфузер: заливка й рамка */
  --purple-solid: #6a3d8f;     /* «без донора» */
  --cyan-line: #29b6f6;        /* активний рядок HTR, лінії розбору */
  --hover-cool: #37474f;       /* ЗАЛИВКА службової кнопки-дії (чорнило біле) */
  --hover-soft: #37474f;       /* ховер рядка/кнопки: підкладка, не заливка */
  --hi-hit: #3a3413;           /* підсвітка рядка-хіта в декоді */
  --hi-on: #12384a;            /* підсвітка активного рядка в декоді */
  --magenta-glow: #e040fb66;   /* ореол активного конфузера (магента з альфою) */
  --pnl-ct: #3a5a4a;           /* панель синтетики: ціль */
  --pnl-draft: #5a4e2a;        /* панель синтетики: чернетка */
  --pnl-batch: #2a4a3a;        /* панель синтетики: пакет */
  --pnl-deg: #3a4a5a;          /* панель синтетики: деградації */

  /* ── бейджі картки розбору: пара «заливка + чорнило» на кожен ────────────
     У стрічці їх до одинадцяти, і вони мусять розрізнятися ДО читання підпису.
     У світлій темі всі стають світлими плашками з темним чорнилом — крім «★ у
     каноні», який лишається насиченим: це головний сигнал картки.
     `fail-*` теж лишається насиченим — це банер про втрачену роботу ока. */
  --bdg-bg: #333;            /* дефолт і «вузький» */
  --bdg-fg: #9ab;            /* дефолт і «вузький» */
  --bdg-known-bg: #2d7d2d;   /* ★ у каноні */
  --bdg-known-fg: #fff;      /* ★ у каноні */
  --bdg-new-bg: #7a5b00;     /* новий */
  --bdg-new-fg: #ffd166;     /* новий */
  --bdg-tail-bg: #5a4013;    /* 🪝 хвіст */
  --bdg-tail-fg: #ffd166;    /* 🪝 хвіст */
  --bdg-head-bg: #13405a;    /* 🎩 голова */
  --bdg-head-fg: #8ecfff;    /* 🎩 голова */
  --bdg-skor-bg: #4a3a10;    /* ✒️ скоропис */
  --bdg-skor-fg: #ffd166;    /* ✒️ скоропис */
  --bdg-pech-bg: #3a1a4a;    /* 🖨 друк */
  --bdg-pech-fg: #d9a6ff;    /* 🖨 друк */
  --bdg-sim-bg: #5a1a1a;     /* ⚠ схожий */
  --bdg-sim-fg: #ffb3b3;     /* ⚠ схожий */
  --bdg-pair-bg: #1a4a2a;    /* 🔗 пара */
  --bdg-pair-fg: #9dffb0;    /* 🔗 пара */
  --bdg-full-bg: #1a3a4a;    /* 🖼 fullpage */
  --bdg-full-fg: #8ed6ff;    /* 🖼 fullpage */
  --write-bg: #3a2727;       /* тло дій, що ПИШУТЬ у канон */
  --write-fg: #e8c4c4;       /* дії, що ПИШУТЬ у канон */
  --fail-bg: #5a1a1a;        /* тло банера про втрачену роботу ока */
  --fail-line: #b34a4a;      /* рамка того ж банера */
  --fail-fg: #ffdede;        /* .wfail */

  /* ── поверхні НАД фотографією — тема сюди не сягає ───────────────────────
     🔴 Тут тло диктує не інтерфейс, а знімок: білий папір лишається білим у
     будь-якій темі, а «знайдене» мусить бути отруйним однаково вдень і вночі.
     Тому пари у світлому блоці немає навмисно, а не через недогляд.
     `stage` у світлій — фото-сірий: білий підклад засвітив би папір, чорний став
     би дірою. */
  --paper: #fff;                        /* 🔴 НЕ перевертається: підклад під скан */
  --paper-edge: transparent;            /* на темному межа зайва, на світлому — ні */
  --stage: #000;                        /* тло переглядача сканів у модалці */
  --over-img-bg: rgba(28,28,28,.92);    /* плаваюча кнопка НАД сканом */
  --box-tp: #ff4040;                    /* рамка знайденого НА зображенні */
  --box-fp: #8a8a8a;                    /* рамка відкинутого НА зображенні */
  --box-skip: #7986cb;                  /* рамка пропущеного НА зображенні */
  --swipe-ok-bg: rgba(76,175,80,.28);   /* wash ствердного свайпу */
  --swipe-ok-fg: #1b5e20;               /* чорнило ствердного свайпу */
  --swipe-no-bg: rgba(244,67,54,.28);   /* wash заперечного свайпу */
  --swipe-no-fg: #7f1d16;               /* чорнило заперечного свайпу */

  /* ── напівпрозорі шари ─────────────────────────────────────────────────── */
  --shim: rgba(255,255,255,.05);   /* блиск скелетона завантаження */
  --scrim: rgba(0,0,0,.93);        /* підклад повноекранної модалки */
  --scrim-2: rgba(0,0,0,.72);      /* підклад центрованої модалки */

  /* ── тони значків: тон закріплений за ЗНАЧКОМ, а не за місцем ────────────
     Кошик червоний і в банку, і в модалці; папка жовта скрізь — саме сталість
     робить колір ДРУГОЮ ознакою впізнавання поряд із формою: око ловить «щось
     червоне праворуч» ще до того, як прочитає підпис.
     🔴 У світлій темі вони ПЕРЕРАХОВАНІ, а не перевернуті: пастель L*≈75 на білому
     зливається в один блідий контур так само, як монохром зливався в один сірий.
     Там вони темніші при збереженому ТОНІ, усі в межах 4.6-6.2:1. */
  --ic-gold: #ffb74d;     /* фірмовий: пошук, лапка, нагороди */
  --ic-amber: #ffca28;    /* тепле «паперове»: папки, книги, роки */
  --ic-orange: #ff8a65;   /* ціль, трен — тепле й активне */
  --ic-red: #e57373;      /* деструктивне: видалити, прибрати, різати */
  --ic-pink: #f06292;     /* ручна праця: розмітка, диктування, палітра */
  --ic-violet: #b39ddb;   /* письмо й образи: перо, зображення, синтез-магія */
  --ic-indigo: #7986cb;   /* сховища: банк даних */
  --ic-blue: #64b5f6;     /* перенесення даних: завантажити, списки */
  --ic-sky: #4fc3f7;      /* оновлення, зведення, розбір */
  --ic-cyan: #4dd0e1;     /* око, зв'язки, фокус */
  --ic-teal: #4db6ac;     /* машинерія: модель, якір, диск */
  --ic-green: #81c784;    /* ствердне: зберегти, додати, запустити */
  --ic-mint: #6fe0a0;     /* синтетика й нове */
  --ic-lime: #aed581;     /* прогін */
  --ic-sand: #d7b083;     /* архівне: фонди, коробка опису */
  --ic-slate: #90a4ae;    /* службове: панелі, стрілки, зум */

  /* ── три голоси рушіїв ───────────────────────────────────────────────────
     Письмо задає родину: Писар і Дяк — сусідні холодні (два голоси одного
     письма, їх і звіряють між собою), Скриба окремо — окреме письмо.
     ⚠ Колір тут прискорювач, а не носій: бейдж несе ще форму й літеру, бо
     вивід читають і в чорно-білому, і з дальтонізмом. */
  --engine-pysar: #9db4e0;    /* чорнило */
  --engine-diak: #79c7b9;     /* патина */
  --engine-skryba: #c9a0d9;   /* слива */

  /* ── аліаси: друге ім'я того самого токена ───────────────────────────────
     🔴 Не другі кольори, а другі імена: `--card` каже, що це («підкладка
     картки»), `--s-3` — який це щабель ярусу поверхонь. Тому аліас виходить
     посиланням — перевернеться токен, перевернеться й він, і пари у світлому
     блоці йому не треба. */
  --card: var(--s-3);            /* підкладка картки й поля вводу */
  --muted: var(--fg-3);          /* другорядний текст — підказки, заголовки колонок */
  --warn-bg: var(--accent-bg);   /* підкладка попередження */
  --warn-fg: var(--accent-2);    /* текст попередження */

  /* ── типографіка ───────────────────────────────────────────────────────── */
  --font-text: system-ui, "Segoe UI", sans-serif;   /* інтерфейс */
  --font-mono: ui-monospace, Consolas, monospace;   /* шифри, декод, поля набору */
  --font-size: 15px;                                /* базовий кегль */
  --line-height: 1.5;                               /* інтерліньяж */

  /* ── контроли: значення, які кольором не є ─────────────────────────────── */
  --ctl-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23cccccc' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2.5 4.5 3.5 3.5 3.5-3.5'/%3E%3C/svg%3E");   /* стрілка випадного списку */
  --ctl-x: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M3.2 3.2 8.8 8.8M8.8 3.2 3.2 8.8'/%3E%3C/svg%3E");                          /* хрестик очищення поля пошуку */

  /* ── радіуси ───────────────────────────────────────────────────────────── */
  --r-s: 7px;        /* дрібні кнопки, чіпи, інпути */
  --r-m: 10px;       /* кнопки, картки, панелі */
  --r-l: 14px;       /* великі картки, модальні діалоги */
  --r-pill: 999px;   /* пігулка */

  /* ── тіні ──────────────────────────────────────────────────────────────── */
  --sh-1: 0 2px 8px rgba(0,0,0,.35);     /* підняття на крок */
  --sh-2: 0 4px 16px rgba(0,0,0,.5);     /* панель над вмістом */
  --sh-3: 0 14px 48px rgba(0,0,0,.65);   /* модальний діалог */

  /* ── рух: єдина крива на всю поверхню ──────────────────────────────────── */
  --dur-1: 120ms;                        /* ховер, стан кнопки */
  --dur-2: 180ms;                        /* поява панелі, вкладки, модалки */
  --dur-3: 280ms;                        /* розгортання блока, прогрес */
  --ease: cubic-bezier(.2,.7,.3,1);      /* сповільнення — вихід і поява */
  --ease-in: cubic-bezier(.5,0,.9,.5);   /* прискорення — зникання */
}

/* ── світла тема — перевизначення тих самих імен, не окрема система ────────
   Ставиться атрибутом `data-theme` на <html>: інлайн-скрипт у <head>
   плюс `theme.js`. Перевизначаються лише кольори — радіуси,
   тривалості й криві однакові в обох темах за побудовою. */
:root[data-theme="light"] {
  color-scheme: light;

  /* ── поверхні: сходинка від найглибшої (лог) до піднятої (кнопки) ────────
     У темній «вище = світліше». У світлій напрямок ПРОТИЛЕЖНИЙ і це принципово:
     «вище = БІЛІШЕ, а сторінка сірувата», тобто контроль стає чисто білим, а тло
     сторінки — теплим сірим. Тон теплий навмисно: бренд помаранчевий, і
     нейтрально-холодний сірий поруч із ним виглядає брудним. */
  --s-log: #f2efe9;   /* лог, найглибше тло */
  --s-0: #e9e5df;     /* хром: шапка, липкі тулбари, шапки модалок */
  --s-1: #efece7;     /* другорядні смуги, дашборди, картки-списки */
  --bg: #f4f2ee;      /* тло сторінки */
  --s-2: #faf9f7;     /* картки-секції */
  --s-3: #fff;        /* контролі, інпути, картки контенту */
  --s-4: #e7e3dd;     /* підняті кнопки, треки прогресу */

  /* ── лінії: чотири сили розділення ───────────────────────────────────────
     У темній сила = світліше, у світлій = темніше. */
  --line: #e6e2db;     /* найтихіша: розділювачі всередині блока */
  --line-2: #d8d3ca;   /* рамка картки */
  --line-3: #bdb6aa;   /* рамка контрола */
  --line-4: #948c7e;   /* рамка при ховері */

  /* ── текст: шість щаблів тиші ────────────────────────────────────────────
     Контраст до тла у світлій темі рахований: 15.1 · 10.7 · 5.4 · 5.0 · 3.4 · 4.1.
     `fg-3` зберігає синюватий відтінок темної теми. */
  --fg: #1b1a17;     /* основний */
  --fg-2: #3d3a34;   /* другорядний */
  --fg-3: #566672;   /* приглушений (метадані, підписи) */
  --fg-4: #6e685e;   /* ще тихіший */
  --fg-5: #8a8479;   /* натяки, підказки, плейсхолдери */
  --fg-6: #7b756a;   /* між --fg-4 і --fg-5; 29 місць хардкоду */

  /* ── акцент: РОЗЧЕПЛЕНИЙ на дві ролі ─────────────────────────────────────
     🔴 У світлій темі ролі розходяться: як ЧОРНИЛО помаранчевий #ffb74d дає на
     світлому 1.6:1 (нечитабельно), а як ЗАЛИВКА він мусить лишитись помаранчевим —
     це фірмовий колір активної вкладки. Правило вживання: `color:` і `border-color:`
     беруть `accent`, `background:` бере `accent-fill`. Приймач тримає це в тестах. */
  --accent: #8f5300;        /* фірмовий помаранчевий: ЧОРНИЛО й рамки */
  --accent-fill: #f0a02e;   /* той самий: ЗАЛИВКА (активна вкладка, шкала) */
  --accent-2: #8a6410;      /* світліший акцент: бенди, попередження */
  --accent-bg: #fdf1dc;     /* тло активного акцентного елемента */

  /* ── семантика станів ────────────────────────────────────────────────────
     Стан говорить кольором ще до підпису; тонові тла — для смуг і плашок. */
  --info: #10618f;        /* підписи полів, посилання-дії */
  --info-2: #1668ad;      /* інформаційне, друга сила */
  --link: #0f62b0;        /* кнопка-дія */
  --ok: #2e7d32;          /* ствердне */
  --ok-2: #1f6b2a;        /* ствердне, тихіше */
  --ok-3: #17572a;        /* ствердне, найтихіше */
  --warn: #a35a00;        /* попередження */
  --err: #c62828;         /* відмова */
  --err-2: #a32424;       /* відмова, тихіше */
  --violet: #7b3fa0;      /* A/B-порівняння */
  --magenta: #a3168f;     /* активний конфузер */
  --ok-bg: #eaf5ea;       /* тло успіху */
  --ok-line: #a9d3ab;     /* рамка успіху */
  --err-bg: #fdeded;      /* тло помилки */
  --err-line: #e3b0b0;    /* рамка помилки */
  --info-bg: #eaf3fb;     /* тло інформації */
  --info-line: #b7d3ea;   /* рамка інформації */

  /* ── ролеві тони: назва каже РОЛЬ, а не відтінок ─────────────────────────
     Кожен замінив 5-23 входження хардкоду. У світлій темі відтінок інший, а роль
     та сама — саме тому імена не кольорові. */
  --ok-soft: #2f7a58;          /* «хіт / бойова версія» — приглушено-зелений */
  --ok-solid: #2e7d32;         /* ЗАЛИВКА ствердного бейджа («★ у каноні») */
  --err-solid: #b3383c;        /* ЗАЛИВКА застережного бейджа (holdout, danger) */
  --mint-2: #0f7a4e;           /* «дефіциту немає» — світло-мʼятний */
  --warn-2: #8a6410;           /* «поки триває» — приглушено-жовтий */
  --blue-solid: #1565c0;       /* конфузер: заливка й рамка */
  --purple-solid: #6d28a8;     /* «без донора» */
  --cyan-line: #0b74b8;        /* активний рядок HTR, лінії розбору */
  --hover-cool: #4a5c66;       /* ЗАЛИВКА службової кнопки-дії (чорнило біле) */
  --hover-soft: #dde5e9;       /* ховер рядка/кнопки: підкладка, не заливка */
  --hi-hit: #fdf1c8;           /* підсвітка рядка-хіта в декоді */
  --hi-on: #dceefb;            /* підсвітка активного рядка в декоді */
  --magenta-glow: #a3168f55;   /* ореол активного конфузера (магента з альфою) */
  --pnl-ct: #a9cbbb;           /* панель синтетики: ціль */
  --pnl-draft: #d3c398;        /* панель синтетики: чернетка */
  --pnl-batch: #a5c9b4;        /* панель синтетики: пакет */
  --pnl-deg: #adc0d1;          /* панель синтетики: деградації */

  /* ── бейджі картки розбору: пара «заливка + чорнило» на кожен ────────────
     У стрічці їх до одинадцяти, і вони мусять розрізнятися ДО читання підпису.
     У світлій темі всі стають світлими плашками з темним чорнилом — крім «★ у
     каноні», який лишається насиченим: це головний сигнал картки.
     `fail-*` теж лишається насиченим — це банер про втрачену роботу ока. */
  --bdg-bg: #e4e0d8;         /* дефолт і «вузький» */
  --bdg-fg: #566672;         /* дефолт і «вузький» */
  --bdg-known-bg: #2e7d32;   /* ★ у каноні */
  --bdg-new-bg: #f7e7c4;     /* новий */
  --bdg-new-fg: #6b4e00;     /* новий */
  --bdg-tail-bg: #f3e3c0;    /* 🪝 хвіст */
  --bdg-tail-fg: #6b4e00;    /* 🪝 хвіст */
  --bdg-head-bg: #dceefb;    /* 🎩 голова */
  --bdg-head-fg: #0f4a70;    /* 🎩 голова */
  --bdg-skor-bg: #f2e6c2;    /* ✒️ скоропис */
  --bdg-skor-fg: #63490a;    /* ✒️ скоропис */
  --bdg-pech-bg: #efe0f8;    /* 🖨 друк */
  --bdg-pech-fg: #5b2a78;    /* 🖨 друк */
  --bdg-sim-bg: #fbe0e0;     /* ⚠ схожий */
  --bdg-sim-fg: #8f2020;     /* ⚠ схожий */
  --bdg-pair-bg: #dff3e4;    /* 🔗 пара */
  --bdg-pair-fg: #15602c;    /* 🔗 пара */
  --bdg-full-bg: #dcedf8;    /* 🖼 fullpage */
  --bdg-full-fg: #0f4a66;    /* 🖼 fullpage */
  --write-bg: #fbeeee;       /* тло дій, що ПИШУТЬ у канон */
  --write-fg: #8a3a3a;       /* дії, що ПИШУТЬ у канон */
  --fail-bg: #c62828;        /* тло банера про втрачену роботу ока */
  --fail-line: #8f1d1d;      /* рамка того ж банера */
  --fail-fg: #fff;           /* .wfail */

  /* ── поверхні НАД фотографією — тема сюди не сягає ───────────────────────
     🔴 Тут тло диктує не інтерфейс, а знімок: білий папір лишається білим у
     будь-якій темі, а «знайдене» мусить бути отруйним однаково вдень і вночі.
     Тому пари у світлому блоці немає навмисно, а не через недогляд.
     `stage` у світлій — фото-сірий: білий підклад засвітив би папір, чорний став
     би дірою. */
  --paper-edge: #cfc8bb;               /* на темному межа зайва, на світлому — ні */
  --stage: #6e6961;                    /* тло переглядача сканів у модалці */
  --over-img-bg: rgba(30,26,20,.62);   /* плаваюча кнопка НАД сканом */

  /* ── напівпрозорі шари ─────────────────────────────────────────────────── */
  --shim: rgba(0,0,0,.055);        /* блиск скелетона завантаження */
  --scrim: rgba(38,34,28,.62);     /* підклад повноекранної модалки */
  --scrim-2: rgba(38,34,28,.45);   /* підклад центрованої модалки */

  /* ── тони значків: тон закріплений за ЗНАЧКОМ, а не за місцем ────────────
     Кошик червоний і в банку, і в модалці; папка жовта скрізь — саме сталість
     робить колір ДРУГОЮ ознакою впізнавання поряд із формою: око ловить «щось
     червоне праворуч» ще до того, як прочитає підпис.
     🔴 У світлій темі вони ПЕРЕРАХОВАНІ, а не перевернуті: пастель L*≈75 на білому
     зливається в один блідий контур так само, як монохром зливався в один сірий.
     Там вони темніші при збереженому ТОНІ, усі в межах 4.6-6.2:1. */
  --ic-gold: #8a5a00;     /* фірмовий: пошук, лапка, нагороди */
  --ic-amber: #8a6400;    /* тепле «паперове»: папки, книги, роки */
  --ic-orange: #b4471f;   /* ціль, трен — тепле й активне */
  --ic-red: #b3282c;      /* деструктивне: видалити, прибрати, різати */
  --ic-pink: #b31e56;     /* ручна праця: розмітка, диктування, палітра */
  --ic-violet: #6a4bab;   /* письмо й образи: перо, зображення, синтез-магія */
  --ic-indigo: #3f4c9e;   /* сховища: банк даних */
  --ic-blue: #1565c0;     /* перенесення даних: завантажити, списки */
  --ic-sky: #0277a8;      /* оновлення, зведення, розбір */
  --ic-cyan: #00707f;     /* око, зв'язки, фокус */
  --ic-teal: #00695c;     /* машинерія: модель, якір, диск */
  --ic-green: #2e7d32;    /* ствердне: зберегти, додати, запустити */
  --ic-mint: #00794f;     /* синтетика й нове */
  --ic-lime: #547a1e;     /* прогін */
  --ic-sand: #8a6033;     /* архівне: фонди, коробка опису */
  --ic-slate: #4d616c;    /* службове: панелі, стрілки, зум */

  /* ── три голоси рушіїв ───────────────────────────────────────────────────
     Письмо задає родину: Писар і Дяк — сусідні холодні (два голоси одного
     письма, їх і звіряють між собою), Скриба окремо — окреме письмо.
     ⚠ Колір тут прискорювач, а не носій: бейдж несе ще форму й літеру, бо
     вивід читають і в чорно-білому, і з дальтонізмом. */
  --engine-pysar: #3a4a86;    /* чорнило */
  --engine-diak: #2c645c;     /* патина */
  --engine-skryba: #733f80;   /* слива */

  /* ── контроли: значення, які кольором не є ─────────────────────────────── */
  --ctl-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23948c7e' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2.5 4.5 3.5 3.5 3.5-3.5'/%3E%3C/svg%3E");   /* стрілка випадного списку */
  --ctl-x: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M3.2 3.2 8.8 8.8M8.8 3.2 3.2 8.8'/%3E%3C/svg%3E");                          /* хрестик очищення поля пошуку */

  /* ── тіні ──────────────────────────────────────────────────────────────── */
  --sh-1: 0 1px 3px rgba(60,50,35,.12), 0 1px 2px rgba(60,50,35,.07);   /* підняття на крок */
  --sh-2: 0 4px 14px rgba(60,50,35,.14);                                /* панель над вмістом */
  --sh-3: 0 14px 40px rgba(60,50,35,.22);                               /* модальний діалог */
}

/* ── менше руху — значить без руху, а не швидше ──────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  :root { --dur-1: 1ms; --dur-2: 1ms; --dur-3: 1ms; }
  *, *::before, *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
    scroll-behavior: auto !important;
  }
}

/* ── бейджі рушіїв: колір під `data-engine`; форма — у base.css ──────────── */
.engine[data-engine="pysar"] { --engine: var(--engine-pysar); }
.engine[data-engine="diak"] { --engine: var(--engine-diak); }
.engine[data-engine="skryba"] { --engine: var(--engine-skryba); }

/* ── веб-типографіка — перевизначення, а не другий набір імен ──────────────
   🔴 Правило «тільки системні шрифти» вище стоїть на ОФЛАЙНІ:
   застосунок відкривають у читальній залі, де мережі може не бути, і
   шрифт, який не приїхав, дає стрибок верстки саме там, де читають
   скан. Сайт без мережі не відкривається взагалі, тож підстави для
   нього немає — і блок у brand.yaml ДОДАНО, а не підмінено. */
:root {
  --font-serif: "Literata", Georgia, "Times New Roman", serif;       /* 🔴 новий: суцільний текст і заголовки */
  --font-text: "IBM Plex Sans", system-ui, "Segoe UI", sans-serif;   /* перекриває системний стек застосунку */
  --font-mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;   /* шифри й числа — потрібні табличні цифри */
  --font-size: 16px;                                                 /* кегль сайту, не верстата */
  --line-height: 1.6;                                                /* інтерліньяж сайту */
}
