/* Источник: проект Claude Design «SiteCreator Cabinet Design System», tokens/colors.css.
   Срез 14 августа 2026. Файл держится побайтово равным источнику: расхождение
   репозитория с проектом считается дефектом, а не локальной правкой.

   ОБЪЯВЛЕННОЕ ОТСТУПЛЕНИЕ, одно, от 29 августа 2026: роль границы контрола
   (--sc-border-strong) переведена с ink-500 на новую ступень ink-200. Это решение
   владельца, а не правка «под себя»: чёрных границ в спокойном состоянии не должно
   быть нигде - ни у полей, ни у textarea, ни у выпадающих. Цена названа вслух ниже,
   у самого токена. Долг: отступление обязано уехать В ИСТОЧНИК и вернуться срезом,
   иначе следующий срез его затрёт молча - ровно так теряются локальные правки.

   Цвет кабинета. Одна белая плоскость, чернильная лестница, один акцент.
   ПАРНОСТЬ: каждая заливка объявлена вместе со своим текстом (--sc-*-on). Брать
   заливку из токена, а текст писать белым литералом - запрещено: на светлой
   ступени получится белое по белому. Жёсткого #fff в разметке быть не должно,
   его роль называется --sc-plane. */
:root{
  color-scheme:light;

  /* --- чернильная лестница. Крайние значения заданы направлением: #121317 -> #f4f5f7 --- */
  --sc-plane:#ffffff;
  --sc-ink-950:#121317; /* 18.6 на плоскости */
  --sc-ink-900:#202124; /* 16.1 */
  --sc-ink-800:#2f3034; /* 13.2 */
  --sc-ink-700:#45474d; /*  9.3 */
  --sc-ink-600:#5f6368; /*  6.1 - дно для текста на плоскости */
  --sc-ink-500:#80868b; /*  3.7 - дно для границы контрола (1.4.11) */
  --sc-ink-400:#9aa0a6; /*  2.6 на плоскости, 7.0 на чернильной */
  --sc-ink-300:#c6c9ce; /*  1.7 */
  --sc-ink-200:#dcdde0; /*  1.36 - граница контрола в покое, см. --sc-border-strong */
  --sc-ink-100:#e8eaed; /*  1.3 */
  --sc-ink-50:#f4f5f7;  /*  1.1 */

  /* --- акцент. Один на весь кабинет, взят из бегущего кольца лендинга --- */
  --sc-acc-50:#eef3fb;
  --sc-acc-100:#d8e5f7;
  --sc-acc-300:#8fb4e6;
  --sc-acc-500:#4a83d6;
  --sc-acc-600:#2f6fd0; /* 4.9 с белым текстом */
  --sc-acc-700:#2557a6; /* 7.1 */
  --sc-acc-900:#16345f; /* 12.4 */

  /* Второй цвет кольца. Живёт в кольце на лендинге и в интерфейс кабинета не
     выходит; объявлен здесь только чтобы никто не завёл его второй раз. */
  --sc-ring-1:var(--sc-acc-600);
  --sc-ring-2:#1f8f7a;

  /* --- статусы. Все трое достаточно тёмные, чтобы нести текст плоскости --- */
  /* Исходное значение отдельно: окно настроек перекрашивает статусы в чернила, а итогу переноса
     владелец вернул зелёный (08.10.2026) - он берёт его отсюда, а не числом. */
  --sc-success-base:#17705f;
  --sc-success:var(--sc-success-base); --sc-success-on:var(--sc-plane); /* 5.9 */
  --sc-warning:#8a5a00;      --sc-warning-on:var(--sc-plane); /* 5.9 */
  --sc-danger:#b3261e;       --sc-danger-on:var(--sc-plane);  /* 6.6 */
  /* Подложка статусной строки - нейтральная. Цветных тинтов в системе нет:
     статус несут значок и слово, цвет - третий признак. */
  --sc-status-surface:var(--sc-ink-50);
  /* ЕДИНСТВЕННОЕ исключение из строки выше, и оно объявленное: счётчик лимита, дошедший
     до нуля. Цвет там всё равно не единственный признак - вместе с ним меняются слова
     («0 left» вместо «3/5») и плотность подложки, - но пилюля стоит в ряду одинаковых
     тихих органов, и нейтральный тинт не отличил бы её от соседа. */
  --sc-warning-bg:color-mix(in oklab, var(--sc-warning) 12%, transparent);

  /* --- плоскость и утопленное --- */
  --sc-bg-page:var(--sc-plane);
  --sc-surface:var(--sc-plane);
  --sc-surface-sunken:var(--sc-ink-50);
  --sc-surface-sunken-hover:var(--sc-ink-100);

  /* --- чернила --- */
  --sc-text:var(--sc-ink-950);
  --sc-text-muted:var(--sc-ink-600);
  --sc-text-placeholder:var(--sc-ink-600);

  /* --- ссылка. Цвет плюс подчёркивание в покое: цветом одним нельзя (1.4.1) --- */
  --sc-link:var(--sc-acc-700);
  --sc-link-hover:var(--sc-acc-900);
  --sc-link-visited:var(--sc-acc-900);

  /* --- пары действий --- */
  --sc-primary:var(--sc-ink-950);        --sc-primary-on:var(--sc-plane);
  --sc-primary-hover:var(--sc-ink-900);  --sc-primary-active:var(--sc-ink-800);
  --sc-accent:var(--sc-acc-600);         --sc-accent-on:var(--sc-plane);
  --sc-accent-hover:var(--sc-acc-700);   --sc-accent-active:var(--sc-acc-900);
  --sc-quiet-hover:var(--sc-ink-50);     --sc-quiet-active:var(--sc-ink-100);

  /* ТИХИЙ ОРГАН - подложка того, что СООБЩАЕТ, а не требует: счётчик лимита и пилюля
     тарифа в шапке раздела. Плотность низкая намеренно: залитая акцентом кнопка делала
     из сообщения плакат и отбирала место у имени раздела. Ранг у пилюли тот же, что у
     соседнего счётчика, поэтому подложка у них общая.
     Через color-mix, а не отдельным hex: это ступень чернил, и она обязана ехать вместе
     с лестницей, а не жить своей жизнью. */
  --sc-quiet-bg:color-mix(in oklab, var(--sc-ink-950) 5%, transparent);
  --sc-quiet-bg-hover:color-mix(in oklab, var(--sc-ink-950) 9%, transparent);
  /* Главное действие в плотном подвале (Done в подсказке пропорций). Заливкой акцента
     оно спорило бы с самим выбором, ради которого подсказку открыли. */
  --sc-quiet-strong:color-mix(in oklab, var(--sc-ink-950) 9%, transparent);
  --sc-quiet-strong-hover:color-mix(in oklab, var(--sc-ink-950) 16%, transparent);

  /* --- выбранное. Отличается от фокуса: заливка акцента, а не кольцо --- */
  --sc-selected-surface:var(--sc-acc-50);
  --sc-selected-on:var(--sc-acc-700);
  --sc-selected-border:var(--sc-acc-300);

  /* --- линии. Две роли, и путать их нельзя --- */
  --sc-hairline:rgba(18,19,23,.12); /* 1.27 - только разделитель */
  --sc-border:var(--sc-hairline);
  /* Граница контрола В ПОКОЕ - ink-200, 1.36. Это ниже порога 3:1 из WCAG 1.4.11, и
     так решено осознанно (отступление объявлено в шапке файла): чёрная рамка в покое
     владельцу не нужна нигде. Роли при этом ДВЕ по-прежнему - разделитель 1.27 и
     граница 1.36 различимы между собой, но обе тихие.
     Чем держится опознание вместо контраста рамки: заливка поля, подпись и значок.
     Что НЕ имеет права осветлиться вместе с покоем и потому объявлено рядом:
     --sc-focus-ring (чернильное кольцо в 2 точки) - после этой правки это
     единственный признак для того, кто ходит с клавиатуры, - и цвета состояний
     ошибки. Тронешь их - и орган перестанет опознаваться вовсе. */
  --sc-border-strong:var(--sc-ink-200);

  /* --- фокус. Чернильный, а не акцентный: иначе не отличить от выбранного --- */
  --sc-focus-ring:var(--sc-ink-950);
  --sc-focus-ring-inner:var(--sc-plane);
  --sc-focus-ring-w:2px;
  --sc-focus-ring-offset:3px;

  /* --- недоступное. Второй признак - снятая граница и другая заливка --- */
  --sc-disabled-bg:var(--sc-ink-50);
  --sc-disabled-text:var(--sc-ink-500);
  --sc-disabled-border:transparent;

  /* --- скелетон, слои поверх --- */
  --sc-skeleton:var(--sc-ink-100);
  --sc-skeleton-strong:var(--sc-ink-300);
  --sc-scrim:rgba(18,19,23,.42);
  --sc-toast-bg:var(--sc-ink-950);
  --sc-toast-on:var(--sc-plane);

  /* --- ИСКЛЮЧЕНИЕ: тёмная плоскость. Тёмной темы в продукте нет; эта пара
     разрешена ровно в двух местах - экран сборки сайта в кабинете и секция
     «Одна подписка вместо семи» на лендинге. Роль называется dark, а не build:
     мест стало два, и имя по одному из них врало бы. --- */
  --sc-dark-bg:var(--sc-ink-950);
  --sc-dark-on:var(--sc-plane);
  --sc-dark-muted:var(--sc-ink-400); /* 7.0 на --sc-dark-bg */
  --sc-dark-line:var(--sc-ink-700);
  /* Прежние имена оставлены синонимами: экран сборки на них уже собран. */
  --sc-build-bg:var(--sc-dark-bg);
  --sc-build-on:var(--sc-dark-on);
  --sc-build-muted:var(--sc-dark-muted);
  --sc-build-line:var(--sc-dark-line);

  /* --- рамка превью клиентского сайта. Отдельная роль: волосяная линия здесь
     запрещена, иначе показанный сайт растворяется в интерфейсе. --- */
  --sc-frame-edge:var(--sc-ink-950);
}
