/* ARBI.RU — токены дизайн-системы «АРБИТРАЖ!».
   Палитра снята с макетов айдентики и перенесена сюда как единственный источник правды:
   салатовый акцент, графит, тёплые светлые поверхности. Значения проверяются на контраст
   автоматически в tools/check.mjs, поэтому менять их «на глаз» нельзя — только вместе с проверкой.

   Почему так:
     * салатовый — только для действий и выделения, не для текста на светлом (слабый контраст);
     * графит вместо чистого чёрного: мягче, но сохраняет плотность заголовков;
     * тёплая подложка #f6f4ef вместо серой: спокойнее для документов и таблиц;
     * узкие плотные заголовки InterDisplay повторяют характер логотипа. */

/* Шрифты со своего домена: внешние CDN в России нестабильны, и падение шрифта ломает вид
   страницы сильнее, чем кажется. Inter — текст, InterDisplay — заголовки и логотип. */
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/Inter.woff2") format("woff2-variations");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC,
    U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/Inter-cyrillic.woff2") format("woff2-variations");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Inter Display";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/InterDisplay-Bold.woff2") format("woff2");
}

:root {
  /* --- Акцент: салатовая «АРБИТРАЖ!» --- */
  --lime-400: #c3e63a;   /* наведение */
  --lime-500: #d7f542;   /* основной акцент: кнопки, выделение, активный пункт */
  --lime-600: #bcdc2f;   /* нажатие */
  --lime-100: #eef7c9;   /* подложка акцента, полосы */
  --lime-050: #f4f8e5;   /* самая мягкая подложка: чипы, блоки */

  /* --- Графит: текст и тёмные поверхности --- */
  --graphite-900: #13170e;
  --graphite-800: #1d2216;
  --graphite-700: #39402f;
  --graphite-500: #5f6752;   /* вторичный текст */
  --graphite-300: #9aa189;   /* подписи, служебное */
  --graphite-200: #c6cbb8;

  /* --- Поверхности --- */
  --paper: #ffffff;
  --paper-warm: #f6f4ef;
  --paper-sand: #f6f3ee;
  --surface: #faf9f5;
  --line-200: #e7e5dd;
  --line-300: #d5d3ca;

  /* --- Статусы: насыщенные, но читаемые на светлом --- */
  --ok-700: #1c6b3f;
  --ok-600: #238049;
  --ok-100: #e2f3e6;
  --warn-700: #7a4a06;
  --warn-600: #9a5c08;
  --warn-100: #fbeed6;
  --danger-700: #8f2118;
  --danger-600: #b3261e;
  --danger-100: #fbe4e1;
  --info-700: #1f4d6b;
  --info-600: #2a6489;
  --info-100: #e4eff6;

  /* --- ИИ: отдельный цвет, чтобы результат модели нельзя было спутать с текстом юриста --- */
  --ai-700: #3f3aa0;
  --ai-600: #5147b8;
  --ai-100: #e8e6fa;
  --ai-050: #f3f2fd;

  /* --- Типографика --- */
  --font-ui: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  /* Заголовки и логотип: плотное тяжёлое начертание из макетов.
     Oswald взят потому, что он узкий, тяжёлый и с кириллицей — ровно как в макетах.
     Служебные подписи и текст остаются на Inter: плотный шрифт в мелком кегле
     читается хуже, а в макетах он стоит только в крупных надписях. */
  --font-display: Oswald, "Inter Display", Inter, system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  --step-12: 0.75rem;
  --step-13: 0.8125rem;
  --step-14: 0.875rem;
  --step-16: 1rem;
  --step-18: 1.125rem;
  --step-20: 1.25rem;
  --step-24: 1.5rem;
  --step-30: 1.875rem;
  --step-38: 2.375rem;
  --step-48: 3rem;
  --step-60: 3.75rem;

  --leading-tight: 1.05;
  --leading-normal: 1.25;
  --leading-text: 1.55;
  --measure: 68ch;

  /* Узкий трекинг — часть характера логотипа: заголовки стоят плотно. */
  --tracking-display: -0.03em;
  --tracking-heading: -0.02em;

  /* --- Форма --- */
  --radius-xs: 6px;
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 18px;
  --radius-xl: 24px;
  --radius-pill: 999px;

  --shadow-1: 0 1px 2px rgba(19, 23, 14, 0.05), 0 1px 3px rgba(19, 23, 14, 0.04);
  --shadow-2: 0 10px 24px rgba(19, 23, 14, 0.08);
  --shadow-3: 0 20px 48px rgba(19, 23, 14, 0.14);

  --container: 1240px;
  --container-wide: 1440px;
  --container-read: 760px;

  /* --- Движение --- */
  --t-fast: 140ms ease-out;
  --t-medium: 220ms ease-out;
  --t-slow: 320ms ease-out;
}

@media (prefers-reduced-motion: reduce) {
  :root { --t-fast: 0ms; --t-medium: 0ms; --t-slow: 0ms; }
  *, *::before, *::after { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}
