/* Палитра системы: две темы на одних именах.
 *
 * Тёмная — основная: продукт dark-native, и фасад держится того же. Но
 * работают в нём днём у окна и ночью в темноте, а разбор четырёхчасовой
 * планёрки читают глазами, а не проглядывают. Поэтому светлая здесь не
 * уступка, а второй рабочий режим — тёплая бумага, не белый лист: чистый
 * белый под длинный текст бьёт по глазам сильнее тёмного.
 *
 * Порядок объявлений важен. Полная палитра стоит на голом :root — иначе
 * цвет, определённый только внутри media, пропадает при ручном выборе.
 * Дальше системная тема, дальше ручная: выбор человека перевешивает
 * настройку системы, а не спорит с ней.
 */

:root {
  color-scheme: dark;

  --s-primary: #0f0f14;
  --s-raised: #18181f;
  --s-overlay: #1e1e28;
  --s-sunken: #0a0a0f;
  --s-code: #141420;

  --ink-primary: #f0f0f5;
  --ink-secondary: #a0a0b0;
  --ink-tertiary: #6a6a78;
  --ink-brand: #8880ff;

  --line-default: #2a2a35;
  --line-subtle: #1e1e28;
  --line-strong: #3a3a45;

  --a-brand-bg: rgba(136, 128, 255, .14);
  --a-ok-text: #34d399;
  --a-ok-bg: rgba(52, 211, 153, .12);
  --a-warn-text: #fbbf24;
  --a-warn-bg: rgba(251, 191, 36, .12);
  --a-danger-text: #f87171;
  --a-danger-bg: rgba(248, 113, 113, .12);

  /* Зерно: на тёмном оно осветляет и даёт бумагу, на светлом — наоборот,
     поэтому режим смешивания и сила у тем разные. */
  --grain-blend: overlay;
  --grain-opacity: .5;

  --font: "Onest", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  /* Заголовки — тот же Onest, плотнее и крупнее. Засечная линия здесь
     была: расшифровка и цитаты — это текст, который читают подряд, и
     книжная гарнитура им идёт. Но интерфейс от неё расслаивался на два
     голоса, а работают в нём каждый день. Один голос, разный вес. */
  --display: "Onest", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "JetBrains Mono", SFMono-Regular, Consolas, monospace;
  --r-card: 1rem;
  --r-tile: .625rem;
  --r-pill: 999px;
  --in: 180ms cubic-bezier(.22, .61, .36, 1);
  --shadow-card: 0 1px 2px rgba(0, 0, 0, .3);
}

/* Светлая. Бумага тёплая, чернила почти чёрные с синевой; акцент темнее
   ночного — тот же фиолетовый на бумаге светится и теряет читаемость. */
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    color-scheme: light;

    --s-primary: #f6f4ef;
    --s-raised: #fffefb;
    --s-overlay: #efece5;
    --s-sunken: #e9e5dc;
    --s-code: #f1eee7;

    --ink-primary: #17171f;
    --ink-secondary: #56565f;
    --ink-tertiary: #8b8b94;
    --ink-brand: #5b4fd4;

    --line-default: #ddd7cb;
    --line-subtle: #ebe7de;
    --line-strong: #c6bfb1;

    --a-brand-bg: rgba(91, 79, 212, .1);
    --a-ok-text: #0f7a52;
    --a-ok-bg: rgba(15, 122, 82, .1);
    --a-warn-text: #8a5a00;
    --a-warn-bg: rgba(138, 90, 0, .1);
    --a-danger-text: #b3251f;
    --a-danger-bg: rgba(179, 37, 31, .09);

    --grain-blend: multiply;
    --grain-opacity: .28;
    --shadow-card: 0 1px 0 rgba(23, 23, 31, .03), 0 10px 28px -20px rgba(23, 23, 31, .22);
  }
}

/* Ручной выбор перевешивает системный — в обе стороны. */
:root[data-theme="light"] {
  color-scheme: light;

  --s-primary: #f6f4ef;
  --s-raised: #fffefb;
  --s-overlay: #efece5;
  --s-sunken: #e9e5dc;
  --s-code: #f1eee7;

  --ink-primary: #17171f;
  --ink-secondary: #56565f;
  --ink-tertiary: #8b8b94;
  --ink-brand: #5b4fd4;

  --line-default: #ddd7cb;
  --line-subtle: #ebe7de;
  --line-strong: #c6bfb1;

  --a-brand-bg: rgba(91, 79, 212, .1);
  --a-ok-text: #0f7a52;
  --a-ok-bg: rgba(15, 122, 82, .1);
  --a-warn-text: #8a5a00;
  --a-warn-bg: rgba(138, 90, 0, .1);
  --a-danger-text: #b3251f;
  --a-danger-bg: rgba(179, 37, 31, .09);

  --grain-blend: multiply;
  --grain-opacity: .28;
  --shadow-card: 0 1px 0 rgba(23, 23, 31, .03), 0 10px 28px -20px rgba(23, 23, 31, .22);
}
