/* GENERATED by scripts/design/tokens.mjs from design/tokens.json (v2). Do not edit: change the tokens and run `node scripts/design/tokens.mjs`. */

@font-face {
  font-family: "Onest";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/fonts/onest-cyrillic-wght-normal.woff2") format("woff2");
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

@font-face {
  font-family: "Onest";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/fonts/onest-latin-wght-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: "JetBrains Mono";
  font-style: normal;
  font-display: swap;
  font-weight: 100 800;
  src: url("/fonts/jetbrains-mono-cyrillic-wght-normal.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-style: normal;
  font-display: swap;
  font-weight: 100 800;
  src: url("/fonts/jetbrains-mono-latin-wght-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 {
  --font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Onest", system-ui, sans-serif;
  --font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Onest", system-ui, sans-serif;
  --font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;
  --space-1: 2px;
  --space-2: 4px;
  --space-3: 8px;
  --space-4: 12px;
  --space-5: 16px;
  --space-6: 20px;
  --space-7: 24px;
  --space-8: 32px;
  --space-9: 40px;
  --space-10: 48px;
  --space-11: 64px;
  --radius-xs: 6px;
  --radius-s: 10px;
  --radius-m: 14px;
  --radius-l: 20px;
  --radius-xl: 28px;
  --radius-full: 9999px;
  --motion-fast: 150ms;
  --motion-base: 250ms;
  --motion-slow: 400ms;
  --motion-easing: cubic-bezier(0.25, 0.1, 0.25, 1);
  --ease-standard: cubic-bezier(0.25, 0.1, 0.25, 1);
  --ease-sheet: cubic-bezier(0.32, 0.72, 0, 1);
  --glass-filter: blur(24px) saturate(180%);
  --glass-filter-thick: blur(32px) saturate(180%);
  --glass-bg: var(--material-regular);
  --glass-bg-thick: var(--material-thick);
  --sidebar-width: 248px;
  --rail-width: 84px;
  --content-max: 1320px;
  --tabbar-height: 56px;
  --gutter: 16px;
  --ink: var(--text-primary);
  --accent: var(--action-primary);
  --muted: var(--text-muted);
  --border: var(--border-default);
  --paper: var(--bg-surface);
  --sidebar: var(--sidebar-width);
  --control-height: 40px;
  --row-height: 44px;
  --density-text: 0.9375rem;
  --density-line: 1.25rem;
  --type-large-title: 700 1.875rem/2.25rem var(--font-sans);
  --type-title-1: 700 1.5rem/1.875rem var(--font-sans);
  --type-title-2: 700 1.25rem/1.625rem var(--font-sans);
  --type-title-3: 600 1.0625rem/1.375rem var(--font-sans);
  --type-headline: 600 0.9375rem/1.25rem var(--font-sans);
  --type-body: 400 0.9375rem/1.25rem var(--font-sans);
  --type-callout: 400 0.875rem/1.1875rem var(--font-sans);
  --type-subheadline: 400 0.8125rem/1.125rem var(--font-sans);
  --type-footnote: 400 0.75rem/1rem var(--font-sans);
  --type-caption: 500 0.75rem/1rem var(--font-sans);
  --type-mono: 500 0.8125rem/1.125rem var(--font-mono);
}

:root,
:root[data-theme="light"] {
  color-scheme: light;
  --bg-app: #F2F2F7;
  --bg-surface: #FFFFFF;
  --bg-raised: #FFFFFF;
  --bg-sunken: #EEEEF0;
  --bg-inverse: #1C1C1E;
  --bg-media: #1C1C1E;
  --border-subtle: #E5E5EA;
  --border-default: #C6C6C8;
  --border-control: #86868B;
  --border-focus: #0E7A5F;
  --text-primary: #1D1D1F;
  --text-secondary: #5E5E63;
  --text-muted: #6C6C70;
  --text-placeholder: #6C6C70;
  --text-inverse: #FFFFFF;
  --text-link: #0E7A5F;
  --action-primary: #0E7A5F;
  --action-primary-hover: #0C6B54;
  --action-primary-pressed: #0A5A46;
  --action-on-primary: #FFFFFF;
  --action-secondary-hover: #E1F1EB;
  --action-danger: #D70015;
  --action-on-danger: #FFFFFF;
  --action-danger-tinted: #FDE7E7;
  --signal-confirmed: #248A3D;
  --signal-sending: #0040DD;
  --signal-draft: #6C6C70;
  --signal-unknown: #C93400;
  --signal-rejected: #D70015;
  --signal-ai: #8944AB;
  --status-positive-fg: #1D7A36;
  --status-positive-bg: #E3F4E7;
  --status-info-fg: #0045C8;
  --status-info-bg: #E6EEFF;
  --status-warning-fg: #A33A00;
  --status-warning-bg: #FFEEDD;
  --status-danger-fg: #C2001A;
  --status-danger-bg: #FFE8E8;
  --status-ai-fg: #7E3BA3;
  --status-ai-bg: #F3E8FA;
  --status-neutral-fg: #545458;
  --status-neutral-bg: #EBEBEF;
  --nav-bg: #F7F7F9;
  --nav-text: #1D1D1F;
  --nav-muted: #5E5E63;
  --nav-active: #E1F1EB;
  --overlay-scrim: rgba(0, 0, 0, 0.32);
  --focus-halo: rgba(14, 122, 95, 0.28);
  --fill-primary: rgba(120, 120, 128, 0.20);
  --fill-secondary: rgba(120, 120, 128, 0.16);
  --fill-tertiary: rgba(118, 118, 128, 0.12);
  --material-regular: rgba(255, 255, 255, 0.72);
  --material-thick: rgba(255, 255, 255, 0.88);
  --material-stroke: rgba(0, 0, 0, 0.08);
  --material-highlight: rgba(255, 255, 255, 0.8);
  --material-opaque: #F7F7F9;
  --elevation-1: 0 1px 2px rgba(0, 0, 0, 0.06), 0 1px 1px rgba(0, 0, 0, 0.04);
  --elevation-2: 0 8px 24px rgba(0, 0, 0, 0.10), 0 2px 6px rgba(0, 0, 0, 0.06);
  --elevation-3: 0 24px 64px rgba(0, 0, 0, 0.18), 0 4px 12px rgba(0, 0, 0, 0.08);
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --bg-app: #000000;
  --bg-surface: #1C1C1E;
  --bg-raised: #2C2C2E;
  --bg-sunken: #2A2A2D;
  --bg-inverse: #F5F5F7;
  --bg-media: #000000;
  --border-subtle: #2C2C2E;
  --border-default: #38383A;
  --border-control: #7C7C80;
  --border-focus: #3DD6A3;
  --text-primary: #F5F5F7;
  --text-secondary: #AEAEB2;
  --text-muted: #98989F;
  --text-placeholder: #98989F;
  --text-inverse: #000000;
  --text-link: #3DD6A3;
  --action-primary: #3DD6A3;
  --action-primary-hover: #5FE0B5;
  --action-primary-pressed: #2EBF8F;
  --action-on-primary: #002A1E;
  --action-secondary-hover: #123A2E;
  --action-danger: #D62F26;
  --action-on-danger: #FFFFFF;
  --action-danger-tinted: #3A1513;
  --signal-confirmed: #30DB5B;
  --signal-sending: #409CFF;
  --signal-draft: #AEAEB2;
  --signal-unknown: #FFB340;
  --signal-rejected: #FF6961;
  --signal-ai: #DA8FFF;
  --status-positive-fg: #4BE077;
  --status-positive-bg: #0F3319;
  --status-info-fg: #6CB2FF;
  --status-info-bg: #0A2547;
  --status-warning-fg: #FFBE5C;
  --status-warning-bg: #3A2508;
  --status-danger-fg: #FF7F78;
  --status-danger-bg: #3E1210;
  --status-ai-fg: #DEA0FF;
  --status-ai-bg: #321A47;
  --status-neutral-fg: #C7C7CC;
  --status-neutral-bg: #2C2C2E;
  --nav-bg: #1C1C1E;
  --nav-text: #F5F5F7;
  --nav-muted: #AEAEB2;
  --nav-active: #123A2E;
  --overlay-scrim: rgba(0, 0, 0, 0.56);
  --focus-halo: rgba(61, 214, 163, 0.34);
  --fill-primary: rgba(120, 120, 128, 0.36);
  --fill-secondary: rgba(120, 120, 128, 0.32);
  --fill-tertiary: rgba(118, 118, 128, 0.24);
  --material-regular: rgba(37, 37, 40, 0.68);
  --material-thick: rgba(44, 44, 46, 0.86);
  --material-stroke: rgba(255, 255, 255, 0.10);
  --material-highlight: rgba(255, 255, 255, 0.14);
  --material-opaque: #1C1C1E;
  --elevation-1: 0 1px 2px rgba(0, 0, 0, 0.5);
  --elevation-2: 0 8px 24px rgba(0, 0, 0, 0.5), 0 2px 6px rgba(0, 0, 0, 0.4);
  --elevation-3: 0 24px 64px rgba(0, 0, 0, 0.6), 0 4px 12px rgba(0, 0, 0, 0.4);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark;
    --bg-app: #000000;
    --bg-surface: #1C1C1E;
    --bg-raised: #2C2C2E;
    --bg-sunken: #2A2A2D;
    --bg-inverse: #F5F5F7;
    --bg-media: #000000;
    --border-subtle: #2C2C2E;
    --border-default: #38383A;
    --border-control: #7C7C80;
    --border-focus: #3DD6A3;
    --text-primary: #F5F5F7;
    --text-secondary: #AEAEB2;
    --text-muted: #98989F;
    --text-placeholder: #98989F;
    --text-inverse: #000000;
    --text-link: #3DD6A3;
    --action-primary: #3DD6A3;
    --action-primary-hover: #5FE0B5;
    --action-primary-pressed: #2EBF8F;
    --action-on-primary: #002A1E;
    --action-secondary-hover: #123A2E;
    --action-danger: #D62F26;
    --action-on-danger: #FFFFFF;
    --action-danger-tinted: #3A1513;
    --signal-confirmed: #30DB5B;
    --signal-sending: #409CFF;
    --signal-draft: #AEAEB2;
    --signal-unknown: #FFB340;
    --signal-rejected: #FF6961;
    --signal-ai: #DA8FFF;
    --status-positive-fg: #4BE077;
    --status-positive-bg: #0F3319;
    --status-info-fg: #6CB2FF;
    --status-info-bg: #0A2547;
    --status-warning-fg: #FFBE5C;
    --status-warning-bg: #3A2508;
    --status-danger-fg: #FF7F78;
    --status-danger-bg: #3E1210;
    --status-ai-fg: #DEA0FF;
    --status-ai-bg: #321A47;
    --status-neutral-fg: #C7C7CC;
    --status-neutral-bg: #2C2C2E;
    --nav-bg: #1C1C1E;
    --nav-text: #F5F5F7;
    --nav-muted: #AEAEB2;
    --nav-active: #123A2E;
    --overlay-scrim: rgba(0, 0, 0, 0.56);
    --focus-halo: rgba(61, 214, 163, 0.34);
    --fill-primary: rgba(120, 120, 128, 0.36);
    --fill-secondary: rgba(120, 120, 128, 0.32);
    --fill-tertiary: rgba(118, 118, 128, 0.24);
    --material-regular: rgba(37, 37, 40, 0.68);
    --material-thick: rgba(44, 44, 46, 0.86);
    --material-stroke: rgba(255, 255, 255, 0.10);
    --material-highlight: rgba(255, 255, 255, 0.14);
    --material-opaque: #1C1C1E;
    --elevation-1: 0 1px 2px rgba(0, 0, 0, 0.5);
    --elevation-2: 0 8px 24px rgba(0, 0, 0, 0.5), 0 2px 6px rgba(0, 0, 0, 0.4);
    --elevation-3: 0 24px 64px rgba(0, 0, 0, 0.6), 0 4px 12px rgba(0, 0, 0, 0.4);
  }
}

:root[data-density="office"] {
  --control-height: 40px;
  --row-height: 44px;
  --density-text: 0.9375rem;
  --density-line: 1.25rem;
  --type-large-title: 700 1.875rem/2.25rem var(--font-sans);
  --type-title-1: 700 1.5rem/1.875rem var(--font-sans);
  --type-title-2: 700 1.25rem/1.625rem var(--font-sans);
  --type-title-3: 600 1.0625rem/1.375rem var(--font-sans);
  --type-headline: 600 0.9375rem/1.25rem var(--font-sans);
  --type-body: 400 0.9375rem/1.25rem var(--font-sans);
  --type-callout: 400 0.875rem/1.1875rem var(--font-sans);
  --type-subheadline: 400 0.8125rem/1.125rem var(--font-sans);
  --type-footnote: 400 0.75rem/1rem var(--font-sans);
  --type-caption: 500 0.75rem/1rem var(--font-sans);
  --type-mono: 500 0.8125rem/1.125rem var(--font-mono);
}

:root[data-density="hall"] {
  --control-height: 48px;
  --row-height: 56px;
  --density-text: 1.0625rem;
  --density-line: 1.375rem;
  --type-large-title: 700 2.125rem/2.5625rem var(--font-sans);
  --type-title-1: 700 1.75rem/2.125rem var(--font-sans);
  --type-title-2: 700 1.375rem/1.75rem var(--font-sans);
  --type-title-3: 600 1.25rem/1.5625rem var(--font-sans);
  --type-headline: 600 1.0625rem/1.375rem var(--font-sans);
  --type-body: 400 1.0625rem/1.375rem var(--font-sans);
  --type-callout: 400 1rem/1.3125rem var(--font-sans);
  --type-subheadline: 400 0.9375rem/1.25rem var(--font-sans);
  --type-footnote: 400 0.8125rem/1.125rem var(--font-sans);
  --type-caption: 500 0.75rem/1rem var(--font-sans);
  --type-mono: 500 0.9375rem/1.25rem var(--font-mono);
}

@media (pointer: coarse) {
  :root[data-density="office"] {
    --control-height: 44px;
  }
}

:root[data-density="kitchen"] {
  --control-height: 64px;
  --row-height: 72px;
  --density-text: 1.375rem;
  --density-line: 1.75rem;
  --type-large-title: 700 2.75rem/3.25rem var(--font-sans);
  --type-title-1: 700 2.25rem/2.75rem var(--font-sans);
  --type-title-2: 700 1.875rem/2.25rem var(--font-sans);
  --type-title-3: 600 1.625rem/2rem var(--font-sans);
  --type-headline: 600 1.375rem/1.75rem var(--font-sans);
  --type-body: 500 1.375rem/1.75rem var(--font-sans);
  --type-callout: 500 1.25rem/1.625rem var(--font-sans);
  --type-subheadline: 500 1.125rem/1.5rem var(--font-sans);
  --type-footnote: 500 1rem/1.375rem var(--font-sans);
  --type-caption: 600 0.9375rem/1.25rem var(--font-sans);
  --type-mono: 600 1.125rem/1.5rem var(--font-mono);
  --glass-filter: none;
  --glass-filter-thick: none;
  --glass-bg: var(--material-opaque);
  --glass-bg-thick: var(--material-opaque);
}

@media (prefers-reduced-transparency: reduce) {
  :root {
    --glass-filter: none;
    --glass-filter-thick: none;
    --glass-bg: var(--material-opaque);
    --glass-bg-thick: var(--material-opaque);
  }
}

@media (min-width: 600px) {
  :root {
    --gutter: 20px;
  }
}

@media (min-width: 1024px) {
  :root {
    --gutter: 24px;
  }
}

@media (min-width: 1440px) {
  :root {
    --sidebar-width: 256px;
  }
}

:root dialog::backdrop,
:root[data-theme="light"] dialog::backdrop {
  --overlay-scrim: rgba(0, 0, 0, 0.32);
}

:root[data-theme="dark"] dialog::backdrop {
  --overlay-scrim: rgba(0, 0, 0, 0.56);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) dialog::backdrop {
    --overlay-scrim: rgba(0, 0, 0, 0.56);
  }
}

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

@media print {
  :root:not([data-theme]),
  :root[data-theme] {
    color-scheme: light;
    --bg-app: #F2F2F7;
    --bg-surface: #FFFFFF;
    --bg-raised: #FFFFFF;
    --bg-sunken: #EEEEF0;
    --bg-inverse: #1C1C1E;
    --bg-media: #1C1C1E;
    --border-subtle: #E5E5EA;
    --border-default: #C6C6C8;
    --border-control: #86868B;
    --border-focus: #0E7A5F;
    --text-primary: #1D1D1F;
    --text-secondary: #5E5E63;
    --text-muted: #6C6C70;
    --text-placeholder: #6C6C70;
    --text-inverse: #FFFFFF;
    --text-link: #0E7A5F;
    --action-primary: #0E7A5F;
    --action-primary-hover: #0C6B54;
    --action-primary-pressed: #0A5A46;
    --action-on-primary: #FFFFFF;
    --action-secondary-hover: #E1F1EB;
    --action-danger: #D70015;
    --action-on-danger: #FFFFFF;
    --action-danger-tinted: #FDE7E7;
    --signal-confirmed: #248A3D;
    --signal-sending: #0040DD;
    --signal-draft: #6C6C70;
    --signal-unknown: #C93400;
    --signal-rejected: #D70015;
    --signal-ai: #8944AB;
    --status-positive-fg: #1D7A36;
    --status-positive-bg: #E3F4E7;
    --status-info-fg: #0045C8;
    --status-info-bg: #E6EEFF;
    --status-warning-fg: #A33A00;
    --status-warning-bg: #FFEEDD;
    --status-danger-fg: #C2001A;
    --status-danger-bg: #FFE8E8;
    --status-ai-fg: #7E3BA3;
    --status-ai-bg: #F3E8FA;
    --status-neutral-fg: #545458;
    --status-neutral-bg: #EBEBEF;
    --nav-bg: #F7F7F9;
    --nav-text: #1D1D1F;
    --nav-muted: #5E5E63;
    --nav-active: #E1F1EB;
    --overlay-scrim: rgba(0, 0, 0, 0.32);
    --focus-halo: rgba(14, 122, 95, 0.28);
    --fill-primary: rgba(120, 120, 128, 0.20);
    --fill-secondary: rgba(120, 120, 128, 0.16);
    --fill-tertiary: rgba(118, 118, 128, 0.12);
    --material-regular: rgba(255, 255, 255, 0.72);
    --material-thick: rgba(255, 255, 255, 0.88);
    --material-stroke: rgba(0, 0, 0, 0.08);
    --material-highlight: rgba(255, 255, 255, 0.8);
    --material-opaque: #F7F7F9;
    --elevation-1: 0 1px 2px rgba(0, 0, 0, 0.06), 0 1px 1px rgba(0, 0, 0, 0.04);
    --elevation-2: 0 8px 24px rgba(0, 0, 0, 0.10), 0 2px 6px rgba(0, 0, 0, 0.06);
    --elevation-3: 0 24px 64px rgba(0, 0, 0, 0.18), 0 4px 12px rgba(0, 0, 0, 0.08);
  }
}
