/* Corix UI — токены (cx-). Сгенерировано scripts/build-cx.py из scripts/cx_source.py. Не править руками.
   Тема: <html data-theme="light|dark|auto">. Без атрибута — светлая. */
:root {
  --cx-space-0: 0;
  --cx-space-1: 4px;
  --cx-space-2: 8px;
  --cx-space-3: 12px;
  --cx-space-4: 16px;
  --cx-space-5: 20px;
  --cx-space-6: 24px;
  --cx-space-7: 28px;
  --cx-space-8: 32px;
  --cx-space-10: 40px;
  --cx-space-12: 48px;
  --cx-space-16: 64px;
  --cx-card-pad-y: 26px;
  --cx-card-pad-x: 28px;
  --cx-gap: 12px;
  --cx-row-pad: 11px;
  --cx-h-header: 64px;
  --cx-h-header-compact: 48px;
  --cx-h-lg: 40px;
  --cx-h-input: 38px;
  --cx-h-md: 36px;
  --cx-h-sm: 32px;
  --cx-h-xs: 28px;
  --cx-side-w: 212px;
  --cx-side-rail: 64px;
  --cx-r-xs: 3px;
  --cx-r-tag: 8px;
  --cx-r-check: 7px;
  --cx-r-input: 12px;
  --cx-r-md: 14px;
  --cx-r-lg: 16px;
  --cx-r-card: 22px;
  --cx-r-modal: 24px;
  --cx-r-header: 32px;
  --cx-r-pill: 999px;
  --cx-dur-press: 70ms;
  --cx-dur-hover: 120ms;
  --cx-dur-button: 140ms;
  --cx-dur-in: 160ms;
  --cx-dur-out: 120ms;
  --cx-dur-tooltip: 180ms;
  --cx-dur-sidebar: 200ms;
  --cx-dur-rotate: 250ms;
  --cx-dur-expand: 260ms;
  --cx-dur-enter: 300ms;
  --cx-dur-spin: 700ms;
  --cx-dur-ai: 1200ms;
  --cx-dur-shimmer: 1400ms;
  --cx-dur-toast: 4500ms;
  --cx-ease: ease;
  --cx-ease-out: cubic-bezier(.2,.8,.2,1);
  --cx-ease-loop: linear;
  --cx-z-sticky: 10;
  --cx-z-header: 20;
  --cx-z-dropdown: 50;
  --cx-z-overlay: 100;
  --cx-z-tooltip: 200;
  --cx-z-toast: 300;
  --cx-bp-desktop: 1180px;
  --cx-bp-mobile: 900px;
  --cx-bp-phone: 600px;
  --cx-font-ui: 'Mulish', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --cx-font-display: 'Unbounded', 'Mulish', system-ui, sans-serif;
  --cx-ring: inset 0 0 0 1px var(--cx-border);
  --cx-ring-soft: inset 0 0 0 1px var(--cx-border-soft);
  --cx-focus: inset 0 0 0 1px var(--cx-text-3), 0 0 0 3px rgba(221,246,74,.45);
  --cx-focus-error: inset 0 0 0 1px var(--cx-critical), 0 0 0 3px rgba(192,80,63,.18);
  --cx-shadow-menu: 0 12px 32px rgba(23,24,28,.14), inset 0 0 0 1px var(--cx-line);
  --cx-shadow-drop: 0 16px 44px rgba(23,24,28,.18), inset 0 0 0 1px var(--cx-border-soft);
  --cx-shadow-modal: 0 30px 80px rgba(23,24,28,.35);
  --cx-shadow-toast: 0 12px 32px rgba(23,24,28,.3);
}
:root, [data-theme="light"] {
  color-scheme: light;
  --cx-bg: #f2f3f0;
  --cx-surface: #ffffff;
  --cx-surface-soft: #f4f5f1;
  --cx-surface-accent: #f5f9de;
  --cx-surface-hover: #f7f8f2;
  --cx-surface-pressed: #edeee7;
  --cx-surface-inverse: #17181c;
  --cx-surface-inverse-2: #2a2c31;
  --cx-surface-inverse-3: #26282d;
  --cx-line: #f0f1ec;
  --cx-border: #e3e4df;
  --cx-border-soft: #edeee8;
  --cx-scrollbar: #d9dad2;
  --cx-skeleton: #eff0eb;
  --cx-skeleton-hi: #f7f8f3;
  --cx-scrim: rgba(23,24,28,.45);
  --cx-text: #17181c;
  --cx-text-2: #6e7269;
  --cx-text-meta: #6c7163;
  --cx-text-label: #6c7163;
  --cx-text-3: #8b8f84;
  --cx-text-4: #a6aa9e;
  --cx-text-ghost: #c9cbc0;
  --cx-text-inverse: #ffffff;
  --cx-text-inverse-2: #b9bbb1;
  --cx-fill-strong: #17181c;
  --cx-fill-strong-hover: #2a2c31;
  --cx-on-strong: #ffffff;
  --cx-accent: #ddf64a;
  --cx-accent-hover: #d3ec40;
  --cx-accent-deep: #b9d40e;
  --cx-on-accent: #17181c;
  --cx-critical: #c0503f;
  --cx-fill-danger: #c0503f;
  --cx-critical-text: #a8432f;
  --cx-critical-bg: #fbedea;
  --cx-warn: #c08a1e;
  --cx-warn-bg: #f6eed9;
  --cx-warn-text: #8a6414;
  --cx-success: #12915e;
  --cx-success-text: #0d7a4e;
  --cx-success-bg: #e3f3ea;
  --cx-info: #3454b4;
  --cx-info-bg: #eaf0ff;
  --cx-tag-1: #b9d40e;
  --cx-tag-2: #d9a13e;
  --cx-tag-3: #7a5ae0;
  --cx-tag-4: #3454b4;
  --cx-tag-5: #e5604c;
  --cx-tag-6: #4ca6a8;
  --cx-tag-7: #d46ba3;
  --cx-tag-8: #8b8f84;
}
[data-theme="dark"] {
  color-scheme: dark;
  --cx-bg: #0f1012;
  --cx-surface: #18191d;
  --cx-surface-soft: #202126;
  --cx-surface-accent: #23271a;
  --cx-surface-hover: #1e1f24;
  --cx-surface-pressed: #2a2c31;
  --cx-surface-inverse: #24262b;
  --cx-surface-inverse-2: #2e3036;
  --cx-surface-inverse-3: #2a2c32;
  --cx-line: #24262b;
  --cx-border: #30323a;
  --cx-border-soft: #282a30;
  --cx-scrollbar: #3a3c43;
  --cx-skeleton: #212328;
  --cx-skeleton-hi: #2b2d33;
  --cx-scrim: rgba(0,0,0,.6);
  --cx-text: #f2f3ee;
  --cx-text-2: #a9ada2;
  --cx-text-meta: #a3a79b;
  --cx-text-label: #a3a79b;
  --cx-text-3: #80847a;
  --cx-text-4: #62665d;
  --cx-text-ghost: #44473f;
  --cx-text-inverse: #ffffff;
  --cx-text-inverse-2: #b9bbb1;
  --cx-fill-strong: #f2f3ee;
  --cx-fill-strong-hover: #ffffff;
  --cx-on-strong: #17181c;
  --cx-accent: #ddf64a;
  --cx-accent-hover: #e6fa6c;
  --cx-accent-deep: #b9d40e;
  --cx-on-accent: #17181c;
  --cx-critical: #ef7d6b;
  --cx-fill-danger: #c0503f;
  --cx-critical-text: #f2907f;
  --cx-critical-bg: #3a1f1b;
  --cx-warn: #e0ad45;
  --cx-warn-bg: #352b15;
  --cx-warn-text: #e8bc5d;
  --cx-success: #3cc68c;
  --cx-success-text: #4fd39b;
  --cx-success-bg: #13301f;
  --cx-info: #7b98f0;
  --cx-info-bg: #1a2240;
  --cx-tag-1: #c9e22a;
  --cx-tag-2: #e3b25a;
  --cx-tag-3: #9a80ee;
  --cx-tag-4: #7b98f0;
  --cx-tag-5: #ef7d6b;
  --cx-tag-6: #62bfc1;
  --cx-tag-7: #e389b8;
  --cx-tag-8: #9a9e93;
  --cx-focus: inset 0 0 0 1px var(--cx-text-3), 0 0 0 3px rgba(221,246,74,.35);
  --cx-shadow-menu: 0 12px 32px rgba(0,0,0,.5), inset 0 0 0 1px var(--cx-border);
  --cx-shadow-drop: 0 16px 44px rgba(0,0,0,.55), inset 0 0 0 1px var(--cx-border);
  --cx-shadow-modal: 0 30px 80px rgba(0,0,0,.6), inset 0 0 0 1px var(--cx-border-soft);
  --cx-shadow-toast: 0 12px 32px rgba(0,0,0,.55), inset 0 0 0 1px var(--cx-border);
}
@media (prefers-color-scheme: dark) {
  [data-theme="auto"] {
    color-scheme: dark;
    --cx-bg: #0f1012;
    --cx-surface: #18191d;
    --cx-surface-soft: #202126;
    --cx-surface-accent: #23271a;
    --cx-surface-hover: #1e1f24;
    --cx-surface-pressed: #2a2c31;
    --cx-surface-inverse: #24262b;
    --cx-surface-inverse-2: #2e3036;
    --cx-surface-inverse-3: #2a2c32;
    --cx-line: #24262b;
    --cx-border: #30323a;
    --cx-border-soft: #282a30;
    --cx-scrollbar: #3a3c43;
    --cx-skeleton: #212328;
    --cx-skeleton-hi: #2b2d33;
    --cx-scrim: rgba(0,0,0,.6);
    --cx-text: #f2f3ee;
    --cx-text-2: #a9ada2;
    --cx-text-meta: #a3a79b;
    --cx-text-label: #a3a79b;
    --cx-text-3: #80847a;
    --cx-text-4: #62665d;
    --cx-text-ghost: #44473f;
    --cx-text-inverse: #ffffff;
    --cx-text-inverse-2: #b9bbb1;
    --cx-fill-strong: #f2f3ee;
    --cx-fill-strong-hover: #ffffff;
    --cx-on-strong: #17181c;
    --cx-accent: #ddf64a;
    --cx-accent-hover: #e6fa6c;
    --cx-accent-deep: #b9d40e;
    --cx-on-accent: #17181c;
    --cx-critical: #ef7d6b;
    --cx-fill-danger: #c0503f;
    --cx-critical-text: #f2907f;
    --cx-critical-bg: #3a1f1b;
    --cx-warn: #e0ad45;
    --cx-warn-bg: #352b15;
    --cx-warn-text: #e8bc5d;
    --cx-success: #3cc68c;
    --cx-success-text: #4fd39b;
    --cx-success-bg: #13301f;
    --cx-info: #7b98f0;
    --cx-info-bg: #1a2240;
    --cx-tag-1: #c9e22a;
    --cx-tag-2: #e3b25a;
    --cx-tag-3: #9a80ee;
    --cx-tag-4: #7b98f0;
    --cx-tag-5: #ef7d6b;
    --cx-tag-6: #62bfc1;
    --cx-tag-7: #e389b8;
    --cx-tag-8: #9a9e93;
    --cx-focus: inset 0 0 0 1px var(--cx-text-3), 0 0 0 3px rgba(221,246,74,.35);
    --cx-shadow-menu: 0 12px 32px rgba(0,0,0,.5), inset 0 0 0 1px var(--cx-border);
    --cx-shadow-drop: 0 16px 44px rgba(0,0,0,.55), inset 0 0 0 1px var(--cx-border);
    --cx-shadow-modal: 0 30px 80px rgba(0,0,0,.6), inset 0 0 0 1px var(--cx-border-soft);
    --cx-shadow-toast: 0 12px 32px rgba(0,0,0,.55), inset 0 0 0 1px var(--cx-border);
  }
}
.cx-t-display { font-family: var(--cx-font-display); font-size: 28px; line-height: 1.2; font-weight: 600; letter-spacing: -0.01em; }
.cx-t-h1 { font-family: var(--cx-font-ui); font-size: 24px; line-height: 1.25; font-weight: 600; letter-spacing: -0.01em; }
.cx-t-h2 { font-family: var(--cx-font-ui); font-size: 19px; line-height: 1.3; font-weight: 600; letter-spacing: -0.005em; }
.cx-t-h3 { font-family: var(--cx-font-ui); font-size: 15.5px; line-height: 1.4; font-weight: 600; }
.cx-t-h4 { font-family: var(--cx-font-ui); font-size: 13.5px; line-height: 1.45; font-weight: 700; }
.cx-t-body { font-family: var(--cx-font-ui); font-size: 13.5px; line-height: 1.6; font-weight: 400; }
.cx-t-strong { font-family: var(--cx-font-ui); font-size: 13px; line-height: 1.5; font-weight: 600; }
.cx-t-small { font-family: var(--cx-font-ui); font-size: 12.5px; line-height: 1.6; font-weight: 400; }
.cx-t-caption { font-family: var(--cx-font-ui); font-size: 11.5px; line-height: 1.5; font-weight: 400; }
.cx-t-label { font-family: var(--cx-font-ui); font-size: 11px; line-height: 1.4; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
.cx-t-chip { font-family: var(--cx-font-ui); font-size: 11px; line-height: 1.5; font-weight: 600; }
.cx-t-metric { font-family: var(--cx-font-ui); font-size: 21px; line-height: 1.3; font-weight: 500; font-variant-numeric: tabular-nums; }
.cx-t-num { font-family: var(--cx-font-ui); font-size: 12px; line-height: 1.4; font-weight: 600; font-variant-numeric: tabular-nums; }
.cx-t-wordmark { font-family: var(--cx-font-display); font-size: 13.5px; line-height: 1.0; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; }
@font-face { font-family: 'Mulish'; src: url('../fonts/Mulish-Variable.woff2') format('woff2'); font-weight: 400 700; font-display: swap; }
@font-face { font-family: 'Unbounded'; src: url('../fonts/Unbounded-Variable.woff2') format('woff2'); font-weight: 500 600; font-display: swap; }
