/* ══════════════════════════════════════════════════════════════════════
   Лицо программы: цвет, бумага, шрифты.

   Подключается после `workspace-v2.css` и переопределяет только цвет и
   шрифт — ни одного размера, отступа или скругления здесь нет. Устройство
   экранов живёт там, вид — тут.

   Раньше этот файл назывался `theme-gravity.css`: палитра пришла из
   Темизатора Gravity UI, тёмно-зелёная. Она была нейтральной до безликости,
   и от неё осталась только привычка держать всё оформление в одном месте.

   ── Цвет ───────────────────────────────────────────────────────────────

   Весь цвет программы растёт из ОДНОЙ строки — `--accent-base`. Остальные
   оттенки (наведение, нажатие, заливка, рамка, боковая колонка) считаются
   из неё через `color-mix`. Сменить цвет всей программы = поменять одну
   строку и перезагрузить окно.

   Акцент не совпадает ни с одним смысловым цветом. Первый макет был
   сургучно-красный, и он «наводил некую тревогу» — не из-за вкуса, а
   потому что красный у нас занят просрочкой и ошибкой: акцент того же
   цвета спорит со смыслом. Красный — беда, охра — внимание, зелёный —
   хорошо. Бирюзовый не значит ничего, кроме «сюда нажимать».

   ── Лист (работа 111, 21 сентября 2026) ────────────────────────────────

   До работы 111 бумага была тёплой (кремовое поле, чуть светлее плитки,
   тёплые тени): считалось, что чистый белый к вечеру режет. Пользователь
   после нескольких дней в программе сказал обратное: серо-кремовый фон
   «давит», «окончательно добил», и попросил вид в духе Claude, Codex,
   Apple - белый лист, воздух и тонкие линии вместо плиток с тенями.

   Поэтому теперь поле и поверхность - один белый, серые нейтральные без
   тёплого подмеса, теней у плиток нет (граница - волосяная линия), а тень
   остаётся только у всплывающего: меню, окно, подсказка. Акцент прежний.
   ══════════════════════════════════════════════════════════════════════ */

:root {
  /* ⬇ ОДНА СТРОКА, КОТОРАЯ ЗАДАЁТ ЦВЕТ ВСЕЙ ПРОГРАММЫ ⬇ */
  --accent-base: #1f5f63;

  /* Действие. Наведение и нажатие — тот же цвет, подмешанный к чёрному:
     кнопка темнеет, а не меняет оттенок. Заливка и рамка — он же,
     разбавленный бумагой, поэтому подложка остаётся тёплой. */
  --accent: var(--accent-base);
  --accent-hover: color-mix(in srgb, var(--accent-base) 86%, #000);
  --accent-press: color-mix(in srgb, var(--accent-base) 72%, #000);
  --accent-subtle: color-mix(in srgb, var(--accent-base) 7%, var(--surface));
  --accent-border: color-mix(in srgb, var(--accent-base) 26%, var(--surface));

  /* Цвета ролей на «Разборе» (работа 64), по образцу доклада: чернила —
     тёмно-синие, ими набраны тезисы и главные слова; поле — светлое, почти
     белое; плитка — белая. Вывод и ключевые слова — акцентом, тревога —
     охрой (`--attention`): обе уже есть, новых красок не заводим. */
  --ink: #1c1c1a;
  --field: #ffffff;
  --tile: #ffffff;
  /* Маркер (работа 69): выделения агента на плитке «Разбора» — жёлтой
     подложкой, как маркером по распечатке; выбран пользователем по эскизу. */
  --marker: #fff2a8;
  --focus: var(--accent-base);

  /* Лист и чернила: белый и нейтральные серые. Второстепенный текст
     держит контраст 4.5:1 на белом, третьестепенный - не ниже 4.6:1. */
  --bg-app: #ffffff;
  --surface: #ffffff;
  --surface-muted: #f7f7f5;
  --surface-sunken: #efefec;
  --text: #1c1c1a;
  --text-secondary: #5b5b57;
  --text-tertiary: #6f6f6a;
  --border: #e6e6e2;
  --border-strong: #cfcfca;

  /* Состояния. «Хорошо» отодвинуто от акцента: бирюзовый и зелёный рядом
     сливаются, а метка «принято» не должна выглядеть кнопкой. Охра и
     красный остаются как были — они на тёплой бумаге и так свои. */
  --positive: #2f7a3b;
  --positive-subtle: #edf3e4;
  --positive-border: #c0d6ac;

  /* Плитки без тени: на белом листе их держит линия. Тень - только у
     того, что всплывает над листом. */
  --shadow-card: none;
  --shadow-raised: 0 10px 28px -12px rgb(28 28 26 / 22%);
  --shadow-layer: 0 24px 60px -16px rgb(28 28 26 / 28%);
}

/* ── Шрифты ────────────────────────────────────────────────────────────

   С работы 111 окно набрано одной гарнитурой - Golos Text: заголовки,
   числа на плитках, кнопки, подписи. Иерархию держат вес и кегль, а не
   смена рисунка. Alegreya остаётся только у документа: текст закона,
   письма и справки читают как бумагу, и засечки там на месте.

   До этого две гарнитуры делили программу по смыслу: Alegreya - то, что
   читают, Golos Text - то, чем управляют. На белом листе с тонкими
   линиями засечки в заголовках спорили с остальным окном.

   Golos Text сделан для русских государственных сервисов: кириллица
   рисовалась вместе с латиницей, и ширина знака почти не меняется при
   переходе в жирное — надпись на кнопке не дёргается, когда становится
   насыщенной. ── */

:root {
  --font-ui: "Golos Text", "Segoe UI Variable Text", "Segoe UI", system-ui,
    Arial, sans-serif;
  --font-display: "Golos Text", "Segoe UI Variable Display", "Segoe UI",
    system-ui, Arial, sans-serif;
  --font-document: Alegreya, Georgia, "Times New Roman", serif;
}

/* Управление набрано Golos Text даже внутри читаемого текста: кнопка в
   ответе агента — всё ещё кнопка, а не часть ответа. */
button,
.button,
input,
select,
textarea,
.tab,
.status,
.registry-table th,
.breadcrumbs,
.project-sidebar nav a {
  font-family: var(--font-ui);
}

/* Заголовки насыщенные и чуть у́же по трекингу: одна гарнитура, и
   заголовок от текста отличает вес. Насыщенность из общей шкалы, а не
   своё 700 — иначе в окне живёт третья толщина, которой нет объяснения. */
h1,
h2,
h3 {
  font-weight: var(--weight-strong);
  letter-spacing: -0.01em;
}

/* Третьей гарнитуры — моноширинной — в программе нет, и это решение, а не
   упущение. Она была нужна, чтобы дата под датой не ездила, но в столбцах у
   нас стоят не числа, а русские фразы: «13 дней назад · 19 августа 2026 г. в
   12:22». Моноширинный такую строку не выравнивает, а только делает
   похожей на распечатку. Ровные столбцы держит `font-variant-numeric:
   tabular-nums` — у Golos Text табличные цифры есть, проверено в окне:
   «1111» и «0000» одной ширины. Roboto Mono убран вместе с файлами. */

/* ── Боковая колонка проекта ───────────────────────────────────────────

   Тёмная: она появляется только внутри проекта, и тёмный цвет говорит об
   этом раньше любой надписи — пока вы в проекте, слева стоит стена. Цвет
   считается из акцента, чтобы смена одной строки перекрасила и её. ── */

:root {
  --rail-bg: color-mix(in srgb, var(--accent-base) 70%, #0e1a19);
  --rail-text: color-mix(in srgb, var(--accent-base) 12%, #d7e2e0);
  --rail-text-strong: #ffffff;
  --rail-hover: rgb(255 255 255 / 9%);
  --rail-active: rgb(255 255 255 / 16%);
  --rail-border: rgb(255 255 255 / 14%);
  --rail-accent: color-mix(in srgb, var(--accent-base) 30%, #ffffff);
}

/* ── «Больше контраста» в настройках системы ───────────────────────────
   Границы темнее, второстепенный текст не серый, а почти чёрный. Тон окна
   остаётся тем же: человеку нужен контраст, а не другая программа. ── */

@media (prefers-contrast: more) {
  :root {
    --text-secondary: #2b2823;
    --text-tertiary: #3d3833;
    --border: #8f8676;
    --border-strong: #3d3833;
  }
}
