/* Сгенерировано design/generate.py из design/tokens.json — не править вручную. */
:root {
  color-scheme: dark;
  --c-bg: #0B0D10;
  --c-surface: #11141A;
  --c-raised: #171B22;
  --c-overlay: #1D222B;
  --c-border: #232933;
  --c-outline: #657287;
  --c-text: #E9EDF2;
  --c-text-2: #A5AEBB;
  --c-text-3: #8A93A2;
  --c-brand: #3DDC97;
  --c-brand-hover: #5BE5AA;
  --c-on-brand: #06150E;
  --c-brand-subtle: #12261E;
  --c-info: #6BA8FF;
  --c-info-subtle: #14223A;
  --c-warning: #F4B544;
  --c-warning-subtle: #2B2112;
  --c-danger: #FF7A7A;
  --c-danger-solid: #D13438;
  --c-on-danger: #FFFFFF;
  --c-danger-subtle: #2E1618;
  --c-success: #52D68A;
  --c-success-subtle: #122419;
  --c-focus: #8AB8FF;
  --c-nozzle: #FF8A7A;
  --c-bed: #6BA8FF;
  --c-chamber: #3DDC97;
  --scrim: rgba(5, 7, 10, 0.72);
  --shadow-1: 0 1px 2px rgba(0, 0, 0, 0.32);
  --shadow-2: 0 8px 24px rgba(0, 0, 0, 0.36), 0 0 0 1px rgba(255, 255, 255, 0.04);
  --shadow-3: 0 24px 64px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.05);
  --glass: rgba(17, 20, 26, 0.72);
  --hairline: rgba(255, 255, 255, 0.06);
  --s-1: 0.25rem;
  --s-2: 0.5rem;
  --s-3: 0.75rem;
  --s-4: 1rem;
  --s-5: 1.25rem;
  --s-6: 1.5rem;
  --s-7: 2rem;
  --s-8: 2.5rem;
  --s-9: 3rem;
  --s-10: 4rem;
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-xl: 20px;
  --font-sans: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;
  --fs-display: 2rem;
  --lh-display: 2.5rem;
  --fw-display: 650;
  --ls-display: -0.02em;
  --fs-h1: 1.5rem;
  --lh-h1: 2rem;
  --fw-h1: 650;
  --ls-h1: -0.015em;
  --fs-h2: 1.25rem;
  --lh-h2: 1.75rem;
  --fw-h2: 620;
  --ls-h2: -0.01em;
  --fs-h3: 1.0625rem;
  --lh-h3: 1.5rem;
  --fw-h3: 600;
  --ls-h3: -0.005em;
  --fs-title: 0.9375rem;
  --lh-title: 1.25rem;
  --fw-title: 600;
  --ls-title: 0em;
  --fs-body-lg: 1rem;
  --lh-body-lg: 1.5rem;
  --fw-body-lg: 450;
  --ls-body-lg: 0em;
  --fs-body: 0.875rem;
  --lh-body: 1.25rem;
  --fw-body: 450;
  --ls-body: 0em;
  --fs-caption: 0.75rem;
  --lh-caption: 1rem;
  --fw-caption: 450;
  --ls-caption: 0.005em;
  --fs-label: 0.75rem;
  --lh-label: 1rem;
  --fw-label: 560;
  --ls-label: 0.01em;
  --fs-button: 0.875rem;
  --lh-button: 1.25rem;
  --fw-button: 600;
  --ls-button: 0em;
  --fs-metric: 1.75rem;
  --lh-metric: 2rem;
  --fw-metric: 620;
  --ls-metric: -0.02em;
  --d-fast: 120ms;
  --d-base: 180ms;
  --d-slow: 250ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-decelerate: cubic-bezier(0, 0, 0, 1);
  --ease-accelerate: cubic-bezier(0.3, 0, 1, 1);
  --l-sidebar: 248px;
  --l-rail: 72px;
  --l-bottom-nav: 64px;
  --l-top-bar: 56px;
  --l-content-max: 1440px;
  --l-touch: 44px;
}

:root[data-theme="light"] {
  color-scheme: light;
  --c-bg: #F3F4F7;
  --c-surface: #FBFBFD;
  --c-raised: #FFFFFF;
  --c-overlay: #FFFFFF;
  --c-border: #E2E5EB;
  --c-outline: #848D9D;
  --c-text: #14181F;
  --c-text-2: #485160;
  --c-text-3: #646E7D;
  --c-brand: #0B7A5A;
  --c-brand-hover: #096B4F;
  --c-on-brand: #FFFFFF;
  --c-brand-subtle: #DDF3EA;
  --c-info: #1D5FD1;
  --c-info-subtle: #E3ECFC;
  --c-warning: #8A5300;
  --c-warning-subtle: #FFF1D6;
  --c-danger: #C42B2B;
  --c-danger-solid: #C42B2B;
  --c-on-danger: #FFFFFF;
  --c-danger-subtle: #FCE6E6;
  --c-success: #11794A;
  --c-success-subtle: #DFF3E8;
  --c-focus: #1D5FD1;
  --c-nozzle: #C2410C;
  --c-bed: #1D5FD1;
  --c-chamber: #0B7A5A;
  --scrim: rgba(15, 18, 24, 0.5);
  --shadow-1: 0 1px 2px rgba(16, 24, 40, 0.06);
  --shadow-2: 0 8px 24px rgba(16, 24, 40, 0.12), 0 0 0 1px rgba(16, 24, 40, 0.04);
  --shadow-3: 0 24px 64px rgba(16, 24, 40, 0.2), 0 0 0 1px rgba(16, 24, 40, 0.05);
  --glass: rgba(251, 251, 253, 0.78);
  --hairline: rgba(16, 24, 40, 0.07);
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    color-scheme: light;
    --c-bg: #F3F4F7;
    --c-surface: #FBFBFD;
    --c-raised: #FFFFFF;
    --c-overlay: #FFFFFF;
    --c-border: #E2E5EB;
    --c-outline: #848D9D;
    --c-text: #14181F;
    --c-text-2: #485160;
    --c-text-3: #646E7D;
    --c-brand: #0B7A5A;
    --c-brand-hover: #096B4F;
    --c-on-brand: #FFFFFF;
    --c-brand-subtle: #DDF3EA;
    --c-info: #1D5FD1;
    --c-info-subtle: #E3ECFC;
    --c-warning: #8A5300;
    --c-warning-subtle: #FFF1D6;
    --c-danger: #C42B2B;
    --c-danger-solid: #C42B2B;
    --c-on-danger: #FFFFFF;
    --c-danger-subtle: #FCE6E6;
    --c-success: #11794A;
    --c-success-subtle: #DFF3E8;
    --c-focus: #1D5FD1;
    --c-nozzle: #C2410C;
    --c-bed: #1D5FD1;
    --c-chamber: #0B7A5A;
    --scrim: rgba(15, 18, 24, 0.5);
    --shadow-1: 0 1px 2px rgba(16, 24, 40, 0.06);
    --shadow-2: 0 8px 24px rgba(16, 24, 40, 0.12), 0 0 0 1px rgba(16, 24, 40, 0.04);
    --shadow-3: 0 24px 64px rgba(16, 24, 40, 0.2), 0 0 0 1px rgba(16, 24, 40, 0.05);
    --glass: rgba(251, 251, 253, 0.78);
    --hairline: rgba(16, 24, 40, 0.07);
  }
}

@media (prefers-reduced-motion: reduce) {
  :root { --d-fast: 0ms; --d-base: 0ms; --d-slow: 0ms; }
}
