/* Единственный источник вида: цвета, шрифты, размеры, движение (docs/APP_SPEC.md, раздел 2).
   Тема задаётся атрибутом data-theme на <html>: dark (база), light. Без атрибута берём систему.
   Светлая тема не инвертирует, а переопределяет токены. */
@font-face { font-family: "Onest"; font-weight: 400 700; font-display: swap;
  src: url("/static/fonts/onest-cyrillic.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Onest"; font-weight: 400 700; font-display: swap;
  src: url("/static/fonts/onest-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122; }
@font-face { font-family: "Unbounded"; font-weight: 500 700; font-display: swap;
  src: url("/static/fonts/unbounded-cyrillic.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Unbounded"; font-weight: 500 700; font-display: swap;
  src: url("/static/fonts/unbounded-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122; }
@font-face { font-family: "JetBrains Mono"; font-weight: 400 700; font-display: swap;
  src: url("/static/fonts/jbmono-cyrillic.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "JetBrains Mono"; font-weight: 400 700; font-display: swap;
  src: url("/static/fonts/jbmono-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122; }

/* Темная тема: база */
:root {
  color-scheme: dark;
  --bg: #0B0C0E;
  --s1: #121417;
  --s2: #181B1F;
  --s3: #21252B;
  --line: rgba(255, 255, 255, .08);
  --line-2: rgba(255, 255, 255, .14);
  --ink: #F2F4F3;
  --ink-2: #9AA19E;
  --ink-3: #828984;
  --accent: #C6F24E;
  --accent-ink: #0B0C0E;
  --accent-text: #C6F24E;
  --accent-dim: rgba(198, 242, 78, .12);
  --ok: #4ADE9A;
  --wait: #F5B544;
  --bad: #FF6B5E;
  --info: #7DB4FF;
  --glass: rgba(18, 20, 23, .72);
  --shadow: 0 1px 2px rgba(0, 0, 0, .4);
  --shadow-lift: 0 12px 32px rgba(0, 0, 0, .5);

  /* Шрифты */
  --font-ui: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-display: "Unbounded", "Onest", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, Consolas, monospace;
  --fs-text: 15px;
  --lh-text: 1.4;
  --fs-hero: 56px;
  --fs-balance: 36px;
  --fs-screen: 22px;
  --fs-mono: 11px;

  /* Размеры */
  --r-card: 20px;
  --r-block: 14px;
  --r-pill: 999px;
  --r-chip: 12px;
  --r-sheet: 24px;
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --pad-screen: 16px;
  --row-h: 52px;
  --tap: 44px;
  --topbar-h: 56px;
  --tabbar-h: 64px;
  --tabbar-gap: 12px;

  /* Движение */
  --ease: cubic-bezier(.2, .9, .2, 1);
  --t-screen: 180ms;
  --t-sheet: 260ms;
  --t-page: 240ms;
  --t-press: 120ms;
}

/* Светлая тема: выбрана руками */
:root[data-theme="light"] {
  color-scheme: light;
  --bg: #F4F5F2;
  --s1: #FFFFFF;
  --s2: #F0F1EC;
  --s3: #E6E8E2;
  --line: #E3E5DF;
  --line-2: #D2D5CD;
  --ink: #121412;
  --ink-2: #5D635F;
  --ink-3: #666C67;
  --accent: #C6F24E;
  --accent-ink: #0B0C0E;
  --accent-text: #4A7300;
  --accent-dim: rgba(74, 115, 0, .10);
  --ok: #15803D;
  --wait: #B45309;
  --bad: #C2410C;
  --info: #1D4ED8;
  --glass: rgba(255, 255, 255, .78);
  --shadow: 0 1px 2px rgba(16, 24, 16, .06);
  --shadow-lift: 0 12px 32px rgba(16, 24, 16, .12);
}

/* Светлая тема по системе, если тему не выбрали руками */
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    color-scheme: light;
    --bg: #F4F5F2;
    --s1: #FFFFFF;
    --s2: #F0F1EC;
    --s3: #E6E8E2;
    --line: #E3E5DF;
    --line-2: #D2D5CD;
    --ink: #121412;
    --ink-2: #5D635F;
    --ink-3: #666C67;
    --accent: #C6F24E;
    --accent-ink: #0B0C0E;
    --accent-text: #4A7300;
    --accent-dim: rgba(74, 115, 0, .10);
    --ok: #15803D;
    --wait: #B45309;
    --bad: #C2410C;
    --info: #1D4ED8;
    --glass: rgba(255, 255, 255, .78);
    --shadow: 0 1px 2px rgba(16, 24, 16, .06);
    --shadow-lift: 0 12px 32px rgba(16, 24, 16, .12);
  }
}
