/* Сгенерировано BINOM Design Code (npm run build). Не править вручную: источник — tokens/. */

:root {
  --brand-color-green: #62B32B;
  --brand-color-green-on-dark: #8AD468;
  --brand-color-white: #FFFFFF;
  --brand-mark-sprout: #7BC142;
  --brand-mark-sprout-mid: #5A9A2A;
  --brand-mark-sprout-deep: #3A6A18;
  --brand-mark-soil-light: #A08860;
  --brand-mark-soil: #7A6542;
  --brand-mark-soil-deep: #6B5B3E;
  --brand-mark-soil-dark: #5A4A30;
  --brand-mark-night-green: #121A0E;
  --brand-mark-night-green-glow: #1E2E14;
  --brand-mark-night-soil: #1E1A14;
  --brand-mark-night-soil-glow: #2A2218;
  --brand-mark-graphite: #1A1A1A;
  --brand-mark-graphite-deep: #141414;
  --illustration-grain-light: #F5D97A;
  --illustration-grain: #E3B341;
  --illustration-grain-lemon: #E8D44D;
  --illustration-grain-straw: #D9B86A;
  --illustration-grain-deep: #B8963E;
  --illustration-leaf: #4C7A34;
  --illustration-leaf-bright: #7BC142;
  --illustration-earth-light: #A08860;
  --illustration-earth: #7A6542;
  --illustration-earth-deep: #5A4A30;
  --illustration-beet: #B23A5A;
  --shadow-raised: 0px 6px 20px 0px #20291B1F;
  --shadow-overlay: 0px 6px 20px 0px #20291B40;
  --shadow-splash: 0px 10px 30px 0px #20291B2E;
  --z-index-base: 0;
  --z-index-raised: 1;
  --z-index-splash: 10;
  --z-index-scrim: 25;
  --z-index-drawer: 26;
  --z-index-sticky: 30;
  --z-index-overlay: 60;
  --icon-size-sm: 16px;
  --icon-size-md: 20px;
  --icon-size-lg: 24px;
  --icon-size-xl: 32px;
  --icon-stroke-width: 2px;
  --app-icon-raster-store: 1024px;
  --app-icon-raster-pwa-lg: 512px;
  --app-icon-raster-pwa: 192px;
  --app-icon-raster-small: 96px;
  --breakpoint-sm: 600px;
  --breakpoint-nav-native: 720px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 960px;
  --breakpoint-grid: 1100px;
  --breakpoint-xl: 1280px;
  --size-control: 40px;
  --size-control-md: 36px;
  --size-control-sm: 32px;
  --size-touch-target: 44px;
  --size-topbar: 60px;
  --size-bottom-nav: 64px;
  --size-sidebar: 232px;
  --size-drawer-max: 280px;
  --size-content-reading: 680px;
  --size-content-native: 720px;
  --size-content-max: 1440px;
  --size-dialog: 640px;
  --size-dialog-wide: 960px;
  --size-landing-card: 560px;
  --size-toast-max: 420px;
  --size-avatar: 28px;
  --size-brand-mark: 34px;
  --size-brand-mark-lg: 56px;
  --size-logo-height: 28px;
  --size-swatch: 26px;
  --size-theme-dot: 24px;
  --motion-duration-instant: 120ms;
  --motion-duration-fast: 150ms;
  --motion-duration-pop: 160ms;
  --motion-duration-base: 180ms;
  --motion-duration-moderate: 200ms;
  --motion-duration-slow: 300ms;
  --motion-duration-spin: 800ms;
  --motion-duration-shimmer: 1200ms;
  --motion-easing-standard: cubic-bezier(0.25, 0.1, 0.25, 1);
  --motion-easing-linear: cubic-bezier(0, 0, 1, 1);
  --motion-ambient-fps: 30;
  --opacity-disabled: 0.5;
  --opacity-disabled-nav: 0.45;
  --opacity-inactive-row: 0.55;
  --opacity-pressed: 0.8;
  --opacity-icon-muted: 0.8;
  --opacity-overlay-pressed: 0.1;
  --opacity-overlay-shadow: 0.13;
  --opacity-overlay-focus: 0.33;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-chip: 9px;
  --radius-control: 10px;
  --radius-card: 12px;
  --radius-lg: 16px;
  --radius-dialog: 18px;
  --radius-app-icon: 24px;
  --radius-pill: 999px;
  --border-width-hairline: 1px;
  --border-width-dashed: 1.5px;
  --border-width-focus: 2px;
  --border-width-stripe: 4px;
  --border-width-stripe-node: 5px;
  --border-style-default: solid;
  --border-style-placeholder: dashed;
  --focus-offset: 2px;
  --space-0: 0px;
  --space-1: 2px;
  --space-2: 4px;
  --space-3: 6px;
  --space-4: 8px;
  --space-5: 10px;
  --space-6: 12px;
  --space-7: 16px;
  --space-8: 20px;
  --space-9: 24px;
  --space-10: 32px;
  --space-11: 40px;
  --space-12: 48px;
  --space-13: 64px;
  --native-padding: 5px;
  --native-inner-padding: 9px;
  --font-family-display: Unbounded, "Golos Text", system-ui, -apple-system, sans-serif;
  --font-family-body: "Golos Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-family-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --font-family-serif: Georgia, "Times New Roman", "Noto Serif", serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-root-base: 16px;
  --font-root-md: 17px;
  --font-root-xl: 18px;
  --font-size-caption: 12px;
  --font-size-small: 13px;
  --font-size-body: 15px;
  --font-size-subtitle: 16px;
  --font-size-title-sm: 18px;
  --font-size-title: 22px;
  --font-size-heading: 24px;
  --font-size-value: 26px;
  --font-size-display: 32px;
  --font-line-height-tight: 1.15;
  --font-line-height-heading: 1.2;
  --font-line-height-snug: 1.3;
  --font-line-height-body: 1.55;
  --font-letter-spacing-display: 0em;
  --font-letter-spacing-heading: -0.01em;
  --font-letter-spacing-overline: 0.08em;
  --font-letter-spacing-table-head: 0.06em;
  --font-letter-spacing-brand-caps: 0.04em;
  --dataviz-categorical-0: #4C7A34;
  --dataviz-categorical-1: #2F6E8F;
  --dataviz-categorical-2: #B8641B;
  --dataviz-categorical-3: #6F7A63;
  --dataviz-categorical-4: #3A8A7A;
  --dataviz-categorical-5: #8A4C7A;
  --dataviz-status-ok: #4C7A34;
  --dataviz-status-warn: #B8641B;
  --dataviz-status-error: #A63D2F;
  --dataviz-status-info: #2F6E8F;
  --theme-accent-light-green: #4C7A34;
  --theme-accent-light-ochre: #B8641B;
  --theme-accent-light-sky: #2F6E8F;
  --theme-accent-light-red: #A63D2F;
  --theme-accent-light-teal: #3A8A7A;
  --theme-accent-light-plum: #8A4C7A;
  --theme-accent-dark-green: #8FBF6A;
  --theme-accent-dark-ochre: #DE9E5C;
  --theme-accent-dark-sky: #7FB6D4;
  --theme-accent-dark-red: #F09A8C;
  --theme-accent-dark-teal: #6CC4B0;
  --theme-accent-dark-plum: #D29AC2;
  --theme-brand-accent-light: #62B32B;
  --theme-brand-accent-dark: #8AD468;
  --theme-preset-sage-bg: #EFF2EA;
  --theme-preset-sage-surface: #FBFCF8;
  --theme-preset-sage-ink: #20291B;
  --theme-preset-paper-bg: #F6F1E6;
  --theme-preset-paper-surface: #FFFCF5;
  --theme-preset-paper-ink: #2B2418;
  --theme-preset-frost-bg: #EDF1F4;
  --theme-preset-frost-surface: #FFFFFF;
  --theme-preset-frost-ink: #1B2430;
  --theme-preset-night-bg: #14180F;
  --theme-preset-night-surface: #1D2217;
  --theme-preset-night-ink: #E8EDE1;
  --theme-preset-ink-bg: #101725;
  --theme-preset-ink-surface: #19212F;
  --theme-preset-ink-ink: #E4EAF4;
}

/* Шалфей (sage) */
:root, [data-preset="sage"] {
  color-scheme: light;
  --bg: #EFF2EA;
  --surface: #FBFCF8;
  --ink: #20291B;
  --ink2: #454D40;
  --muted: #62675E;
  --line: #DCDED9;
  --line2: #C2C5BF;
  --shade: #E3E6DE;
  --border: #8A8B88;
  --accent: #62B32B;
  --green: #436B2E;
  --green-soft: #D5DFCD;
  --ochre: #935016;
  --ochre-soft: #E6DBC9;
  --sky: #2B6684;
  --sky-soft: #D0DDDB;
  --red: #A23B2E;
  --red-soft: #E3D5CC;
  --on-accent: #FFFFFF;
  --on-green: #FFFFFF;
  --on-ochre: #FFFFFF;
  --on-sky: #FFFFFF;
  --on-red: #FFFFFF;
  --acc-h: #395B27;
  --acc-ink: #2A421D;
  --ok-line: #B6C8AA;
  --warn-line: #DCC0A2;
  --err-line: #D5B3A9;
  --info-line: #ACC4CA;
  --teal: #3A8A7A;
  --plum: #8A4C7A;
  --focus: #62B32B;
  --selection: #D5DFCD;
  --shadow: 0 6px 20px rgba(32,41,27,0.12);
  --shadow-strong: 0 6px 20px rgba(32,41,27,0.25);
  --scrim: rgba(32,41,27,0.35);
  --backdrop: rgba(32,41,27,0.45);
  --mm-fill: rgba(98,179,43,0.1);
}

/* Бумага (paper) */
[data-preset="paper"] {
  color-scheme: light;
  --bg: #F6F1E6;
  --surface: #FFFCF5;
  --ink: #2B2418;
  --ink2: #50493D;
  --muted: #6A655C;
  --line: #E1DED6;
  --line2: #C8C4BC;
  --shade: #EAE5DA;
  --border: #8D8B86;
  --accent: #62B32B;
  --green: #436B2E;
  --green-soft: #DBDECA;
  --ochre: #935016;
  --ochre-soft: #ECDAC6;
  --sky: #2B6684;
  --sky-soft: #D6DCD8;
  --red: #A23B2E;
  --red-soft: #E9D4C9;
  --on-accent: #FFFFFF;
  --on-green: #FFFFFF;
  --on-ochre: #FFFFFF;
  --on-sky: #FFFFFF;
  --on-red: #FFFFFF;
  --acc-h: #395B27;
  --acc-ink: #2A421D;
  --ok-line: #BBC7A8;
  --warn-line: #E0C09F;
  --err-line: #DAB2A6;
  --info-line: #B0C3C8;
  --teal: #3A8A7A;
  --plum: #8A4C7A;
  --focus: #62B32B;
  --selection: #DBDECA;
  --shadow: 0 6px 20px rgba(43,36,24,0.12);
  --shadow-strong: 0 6px 20px rgba(43,36,24,0.25);
  --scrim: rgba(43,36,24,0.35);
  --backdrop: rgba(43,36,24,0.45);
  --mm-fill: rgba(98,179,43,0.1);
}

/* Иней (frost) */
[data-preset="frost"] {
  color-scheme: light;
  --bg: #EDF1F4;
  --surface: #FFFFFF;
  --ink: #1B2430;
  --ink2: #414953;
  --muted: #5F656B;
  --line: #DFE0E2;
  --line2: #C4C6C9;
  --shade: #E0E5E8;
  --border: #868688;
  --accent: #62B32B;
  --green: #41682C;
  --green-soft: #D3DED5;
  --ochre: #8F4E15;
  --ochre-soft: #E5DAD1;
  --sky: #2A6381;
  --sky-soft: #CFDCE4;
  --red: #A23B2E;
  --red-soft: #E2D4D4;
  --on-accent: #FFFFFF;
  --on-green: #FFFFFF;
  --on-ochre: #FFFFFF;
  --on-sky: #FFFFFF;
  --on-red: #FFFFFF;
  --acc-h: #375825;
  --acc-ink: #28401B;
  --ok-line: #B5C7B1;
  --warn-line: #DAC0A8;
  --err-line: #D4B2AF;
  --info-line: #ABC3D1;
  --teal: #3A8A7A;
  --plum: #8A4C7A;
  --focus: #62B32B;
  --selection: #D3DED5;
  --shadow: 0 6px 20px rgba(27,36,48,0.12);
  --shadow-strong: 0 6px 20px rgba(27,36,48,0.25);
  --scrim: rgba(27,36,48,0.35);
  --backdrop: rgba(27,36,48,0.45);
  --mm-fill: rgba(98,179,43,0.1);
}

/* Ночь (night), тёмная */
[data-preset="night"] {
  color-scheme: dark;
  --bg: #14180F;
  --surface: #1D2217;
  --ink: #E8EDE1;
  --ink2: #C2C7BB;
  --muted: #8F9489;
  --line: #393E33;
  --line2: #52574C;
  --shade: #21251C;
  --border: #6B6E66;
  --accent: #8AD468;
  --green: #8FBF6A;
  --green-soft: #2F3D23;
  --ochre: #DE9E5C;
  --ochre-soft: #403520;
  --sky: #7FB6D4;
  --sky-soft: #2C3B3A;
  --red: #F09A8C;
  --red-soft: #44352B;
  --on-accent: #0E110B;
  --on-green: #0E110B;
  --on-ochre: #0E110B;
  --on-sky: #0E110B;
  --on-red: #0E110B;
  --acc-h: #9CC77C;
  --acc-ink: #AED194;
  --ok-line: #3F522F;
  --warn-line: #5B472A;
  --err-line: #61463B;
  --info-line: #394F54;
  --teal: #6CC4B0;
  --plum: #D29AC2;
  --focus: #8AD468;
  --selection: #2F3D23;
  --shadow: 0 6px 20px rgba(0,0,0,0.45);
  --shadow-strong: 0 6px 20px rgba(0,0,0,0.6);
  --scrim: rgba(232,237,225,0.35);
  --backdrop: rgba(232,237,225,0.45);
  --mm-fill: rgba(138,212,104,0.1);
}

/* Чернила (ink), тёмная */
[data-preset="ink"] {
  color-scheme: dark;
  --bg: #101725;
  --surface: #19212F;
  --ink: #E4EAF4;
  --ink2: #BEC4CF;
  --muted: #8B919D;
  --line: #353D4B;
  --line2: #4E5562;
  --shade: #1D2431;
  --border: #686E78;
  --accent: #8AD468;
  --green: #8FBF6A;
  --green-soft: #2C3C34;
  --ochre: #DE9E5C;
  --ochre-soft: #3D3531;
  --sky: #7FB6D4;
  --sky-soft: #283A4C;
  --red: #F09A8C;
  --red-soft: #41343C;
  --on-accent: #0B101A;
  --on-green: #0B101A;
  --on-ochre: #0B101A;
  --on-sky: #0B101A;
  --on-red: #0B101A;
  --acc-h: #9CC77C;
  --acc-ink: #AED194;
  --ok-line: #3C523D;
  --warn-line: #584638;
  --err-line: #5E4549;
  --info-line: #374F62;
  --teal: #6CC4B0;
  --plum: #D29AC2;
  --focus: #8AD468;
  --selection: #2C3C34;
  --shadow: 0 6px 20px rgba(0,0,0,0.45);
  --shadow-strong: 0 6px 20px rgba(0,0,0,0.6);
  --scrim: rgba(228,234,244,0.35);
  --backdrop: rgba(228,234,244,0.45);
  --mm-fill: rgba(138,212,104,0.1);
}

/* Псевдонимы ролей (совместимость с BINOM evosoil) */
:root {
  --surface2: var(--shade);
  --mut: var(--muted);
  --acc: var(--green);
  --acc-soft: var(--green-soft);
  --ok: var(--green);
  --ok-bg: var(--green-soft);
  --warn: var(--ochre);
  --warn-bg: var(--ochre-soft);
  --err: var(--red);
  --err-bg: var(--red-soft);
  --info: var(--sky);
  --info-bg: var(--sky-soft);
  --fg0: var(--green);
  --fg1: var(--sky);
  --fg2: var(--ochre);
  --fg3: var(--muted);
  --fg4: var(--teal);
  --fg5: var(--plum);
  --r: var(--radius-card);
  --r-sm: var(--radius-control);
  --control: var(--size-control);
  --sidebar: var(--size-sidebar);
  --topbar: var(--size-topbar);
  --font-display: var(--font-family-display);
  --font-body: var(--font-family-body);
  --mono: var(--font-family-mono);
}

/* Стили текста */
.dc-text-display { font-family: Unbounded, "Golos Text", system-ui, -apple-system, sans-serif; font-weight: 700; font-size: 1.8823529411764706rem; line-height: 1.2; letter-spacing: 0em; }
.dc-text-heading { font-family: Unbounded, "Golos Text", system-ui, -apple-system, sans-serif; font-weight: 700; font-size: 1.411764705882353rem; line-height: 1.2; letter-spacing: 0em; }
.dc-text-title { font-family: Unbounded, "Golos Text", system-ui, -apple-system, sans-serif; font-weight: 500; font-size: 1.0588235294117647rem; line-height: 1.2; letter-spacing: 0em; }
.dc-text-value { font-family: Unbounded, "Golos Text", system-ui, -apple-system, sans-serif; font-weight: 500; font-size: 1.5294117647058822rem; line-height: 1.2; letter-spacing: 0em; }
.dc-text-body { font-family: "Golos Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; font-weight: 400; font-size: 0.8823529411764706rem; line-height: 1.55; letter-spacing: 0em; }
.dc-text-label { font-family: "Golos Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; font-weight: 500; font-size: 0.7647058823529411rem; line-height: 1.3; letter-spacing: 0em; }
.dc-text-caption { font-family: "Golos Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; font-weight: 600; font-size: 0.7058823529411765rem; line-height: 1.3; letter-spacing: 0em; }
.dc-text-overline { font-family: "Golos Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; font-weight: 600; font-size: 0.7058823529411765rem; line-height: 1.3; letter-spacing: 0.08em; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
