/* ═══ Design tokens — единственная точка правды для цветов, шрифтов, размеров, анимаций ═══
   Новые хардкод-цвета в разметке/стилях запрещены — только var(--…). */

/* ── Шрифты (локально, cyrillic + latin) ── */
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/golos-text-cyrillic-400-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/golos-text-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/golos-text-cyrillic-500-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/golos-text-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/golos-text-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/golos-text-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:700 900;font-display:swap;src:url(/static/fonts/golos-text-cyrillic-700-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:700 900;font-display:swap;src:url(/static/fonts/golos-text-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/unbounded-cyrillic-500-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/unbounded-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600 900;font-display:swap;src:url(/static/fonts/unbounded-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600 900;font-display:swap;src:url(/static/fonts/unbounded-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  color-scheme:dark;

  /* ── Поверхности ── */
  --bg:#0f1012;
  --bg-sunken:#0c0d0f;
  --surface:#16171a;
  --surface-2:#1b1c20;
  --surface-hover:#1d1e22;
  --surface-active:#2a2b30;
  --border:rgba(255,255,255,.07);
  --border-strong:rgba(255,255,255,.12);
  --seg-track:rgba(255,255,255,.04);
  --overlay:rgba(0,0,0,.55);

  /* ── Текст ── */
  --text:#e4e4e6;
  --text-2:#a3a3a3;
  --text-3:#7a7a7a;
  --text-4:#5f5f5f;

  /* ── Акцент ── */
  --accent:#3ec9b5;
  --accent-hover:#7fdccd;
  --accent-ink:#032521;
  --accent-soft:rgba(62,201,181,.12);
  --accent-line:rgba(62,201,181,.45);

  /* ── Статусы + мягкий фон 12% ── */
  --red:#f06a5f;     --red-soft:rgba(240,106,95,.12);
  --amber:#e8b04b;   --amber-soft:rgba(232,176,75,.12);
  --indigo:#8b93f8;  --indigo-soft:rgba(139,147,248,.12);
  --green:#4fc78f;   --green-soft:rgba(79,199,143,.12);
  --slate:#8b98a8;   --slate-soft:rgba(139,152,168,.12);

  /* ── Шрифты ── */
  --font-sans:'Golos Text',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --font-display:'Unbounded','Golos Text',sans-serif;
  --fs-body:14px;
  --fs-sm:12.5px;
  --fs-cap:11.5px;
  --fs-block:15px;
  --fs-h1:24px;
  --fs-money:46px;
  --ls-display:-.02em;

  /* ── Радиусы ── */
  --r-xs:8px;      /* маленькие кнопки, icon */
  --r-sm:10px;     /* кнопки, поля */
  --r-md:12px;     /* вложенные карточки */
  --r-lg:16px;     /* карточки */
  --r-xl:18px;     /* крупные карточки */
  --r-modal:22px;  /* окна */
  --r-full:999px;  /* чипы, бейджи */

  /* ── Отступы (шаг 4px) ── */
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --page-pad:32px;
  --tap:44px;

  /* ── Анимации ── */
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-spring:cubic-bezier(.32,.72,0,1);
  --dur-hover:180ms;
  --dur-enter:500ms;
  --dur-move:400ms;
  --dur-pop:280ms;      /* окно поиска */
  --dur-sheet:350ms;    /* нижние листы */
  --dur-collapse:420ms; /* сворачивание меню */
  --stagger:30ms;
  --rise:10px;

  /* ── Тени ── */
  --shadow-sm:0 1px 2px rgba(0,0,0,.4);
  --shadow:0 4px 16px rgba(0,0,0,.4);
  --shadow-lg:0 16px 48px rgba(0,0,0,.6);

  /* ── Раскладка ── */
  --sidebar:236px;
  --sidebar-mini:68px;
  --topbar-h:60px;

  /* ═══ Совместимость: старые имена → новые токены (не использовать в новом коде) ═══ */
  --color-bg:var(--bg);
  --color-surface:var(--surface);
  --color-surface-2:var(--surface-2);
  --color-surface-3:var(--surface-hover);
  --color-border-subtle:var(--border);
  --color-border:var(--border-strong);
  --color-text:var(--text);
  --color-text-muted:var(--text-2);
  --color-text-subtle:var(--text-3);
  --color-primary:var(--accent);
  --color-primary-hover:var(--accent-hover);
  --color-primary-bg:var(--accent-soft);
  --color-green:var(--green);   --color-green-bg:var(--green-soft);
  --color-amber:var(--amber);   --color-amber-bg:var(--amber-soft);
  --color-red:var(--red);       --color-red-bg:var(--red-soft);
  --color-purple:var(--indigo); --color-purple-bg:var(--indigo-soft);
  --color-success:var(--green);
  --color-warning:var(--amber);
  --color-danger:var(--red);
  --color-info:var(--accent);
  --color-accent:var(--accent);
  --color-accent-hover:var(--accent-hover);
  --color-accent-bg:var(--accent-soft);
  --surface2:var(--surface-2);
  --surface3:var(--surface-hover);
  --text-dim:var(--text-2);
  --muted:var(--text-3);
  --primary:var(--accent);
  --primary-d:var(--accent);
  --primary-bg:var(--accent-soft);
  --accent-d:var(--accent-hover);
  --accent-bg:var(--accent-soft);
  --link:var(--accent);
  --teal:var(--accent);
  --teal-l:var(--accent-hover);
  --coral:var(--red);
  --coral-red:var(--red);
  --mint:var(--green);
  --gold:var(--amber);
  --amber-l:var(--amber);
  --amber-ios:var(--amber);
  --violet:var(--indigo);
  --violet-soft:var(--indigo);
  --violet-l:var(--indigo);
  --purple:var(--indigo);
  --purple-bg:var(--indigo-soft);
  --blue:var(--slate);
  --blue-bg:var(--slate-soft);
  --green-bg:var(--green-soft);
  --amber-bg:var(--amber-soft);
  --red-bg:var(--red-soft);
  --gray-bg:rgba(255,255,255,.05);
  --glass-bg:var(--surface-2);
  --glass-bg-light:var(--surface-2);
  --hairline:var(--border);
  --hairline-strong:var(--border-strong);
  --ios-spring:var(--ease-spring);
  --ios-spring-snappy:var(--ease-spring);
  --ios-decel:var(--ease-out);
  --radius-sm:var(--r-xs);
  --radius:var(--r-sm);
  --radius-lg:var(--r-lg);
  --radius-full:var(--r-full);
  --text-2xs:10.5px;
  --text-xs:var(--fs-cap);
  --text-sm:var(--fs-sm);
  --text-base:var(--fs-body);
  --text-md:var(--fs-block);
  --text-lg:17px;
  --text-xl:20px;
  --text-2xl:var(--fs-h1);
  --leading-tight:1.2;
  --leading-normal:1.45;
}
@media(max-width:768px){:root{--page-pad:16px}}
