/* Generated by brand/tokens/build.mjs from tokens.json v1.1.0. Do not edit by hand. */

:root {
  color-scheme: light;
  --cx-color-navy-50: #f2f7fc;
  --cx-color-navy-100: #e4eef7;
  --cx-color-navy-200: #cedfee;
  --cx-color-navy-300: #b0cbe2;
  --cx-color-navy-400: #8db5d6;
  --cx-color-navy-500: #669dc9;
  --cx-color-navy-600: #3f86bd;
  --cx-color-navy-700: #0b6eab;
  --cx-color-navy-800: #005688;
  --cx-color-navy-900: #003459;
  --cx-color-navy-950: #002641;
  --cx-color-leaf-50: #f2faec;
  --cx-color-leaf-100: #e3f3d8;
  --cx-color-leaf-200: #cbe7b7;
  --cx-color-leaf-300: #add68c;
  --cx-color-leaf-400: #8cc35a;
  --cx-color-leaf-500: #6bac1b;
  --cx-color-leaf-600: #55a400;
  --cx-color-leaf-700: #487900;
  --cx-color-leaf-800: #375e01;
  --cx-color-leaf-900: #264400;
  --cx-color-leaf-950: #172b01;
  --cx-color-sand-50: #fdf5ed;
  --cx-color-sand-100: #f3ebe3;
  --cx-color-sand-200: #e3dbd3;
  --cx-color-sand-300: #cdc6be;
  --cx-color-sand-400: #b5aea6;
  --cx-color-sand-500: #9d958e;
  --cx-color-sand-600: #867f77;
  --cx-color-sand-700: #6e6860;
  --cx-color-sand-800: #565049;
  --cx-color-sand-900: #3f3933;
  --cx-color-sand-950: #28231d;
  --cx-color-harvest-50: #fef5ea;
  --cx-color-harvest-100: #fdeacf;
  --cx-color-harvest-200: #f8d7a9;
  --cx-color-harvest-300: #efbe79;
  --cx-color-harvest-400: #dfa345;
  --cx-color-harvest-500: #c8880c;
  --cx-color-harvest-600: #ab7304;
  --cx-color-harvest-700: #8b5f13;
  --cx-color-harvest-800: #684b21;
  --cx-color-harvest-900: #473822;
  --cx-color-harvest-950: #2a2319;
  --cx-color-soil-50: #fcf5f1;
  --cx-color-soil-100: #f6eae1;
  --cx-color-soil-200: #edd8c8;
  --cx-color-soil-300: #e0c1a8;
  --cx-color-soil-400: #cfa685;
  --cx-color-soil-500: #bb8b64;
  --cx-color-soil-600: #a6744a;
  --cx-color-soil-700: #8b5d37;
  --cx-color-soil-800: #6c482a;
  --cx-color-soil-900: #4d3420;
  --cx-color-soil-950: #2f2014;
  --cx-color-sky-50: #f0f8fe;
  --cx-color-sky-100: #deeffe;
  --cx-color-sky-200: #bfe1fe;
  --cx-color-sky-300: #a1cdf2;
  --cx-color-sky-400: #87b5dc;
  --cx-color-sky-500: #719cbf;
  --cx-color-sky-600: #6285a1;
  --cx-color-sky-700: #546c80;
  --cx-color-sky-800: #445360;
  --cx-color-sky-900: #343c42;
  --cx-color-sky-950: #212528;
  --cx-color-crimson-50: #fdf4f3;
  --cx-color-crimson-100: #fce7e5;
  --cx-color-crimson-200: #fad1cd;
  --cx-color-crimson-300: #f7b4ad;
  --cx-color-crimson-400: #f1918a;
  --cx-color-crimson-500: #e36e67;
  --cx-color-crimson-600: #ce514d;
  --cx-color-crimson-700: #ae3d3b;
  --cx-color-crimson-800: #86312e;
  --cx-color-crimson-900: #5d2725;
  --cx-color-crimson-950: #381a18;
  --cx-color-white: #ffffff;
  --cx-color-black: #000000;
  --cx-color-bg: #fdf5ed;
  --cx-color-bg-raised: #ffffff;
  --cx-color-bg-sunken: #f3ebe3;
  --cx-color-bg-inverse: #003459;
  --cx-color-fg: #28231d;
  --cx-color-fg-muted: #6e6860;
  --cx-color-fg-subtle: #867f77;
  --cx-color-fg-inverse: #fdf5ed;
  --cx-color-brand: #003459;
  --cx-color-brand-strong: #002641;
  --cx-color-accent: #55a400;
  --cx-color-accent-hover: #6bac1b;
  --cx-color-accent-fg: #002641;
  --cx-color-accent-soft: #e3f3d8;
  --cx-color-border: #e3dbd3;
  --cx-color-border-strong: #b5aea6;
  --cx-color-link: #0b6eab;
  --cx-color-success: #375e01;
  --cx-color-warning: #8b5f13;
  --cx-color-danger: #ae3d3b;
  --cx-color-info: #546c80;
  --cx-color-chart-1: #0b6eab;
  --cx-color-chart-2: #487900;
  --cx-color-chart-3: #ab7304;
  --cx-color-chart-4: #6285a1;
  --cx-color-chart-5: #a6744a;
  --cx-color-chart-6: #ce514d;
  --cx-font-family-sans: "Montserrat", system-ui, "Segoe UI", sans-serif;
  --cx-font-family-cjk:
    "Montserrat", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --cx-font-family-cjk-hant:
    "Montserrat", "Noto Sans TC", "Noto Sans HK", "PingFang TC", "PingFang HK", "Hiragino Sans CNS",
    "Microsoft JhengHei", sans-serif;
  --cx-font-family-ja:
    "Montserrat", "Noto Sans JP", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  --cx-font-family-ko:
    "Montserrat", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  --cx-font-family-arabic: "Montserrat", "Noto Sans Arabic", "IBM Plex Sans Arabic", sans-serif;
  --cx-font-family-devanagari: "Montserrat", "Noto Sans Devanagari", sans-serif;
  --cx-font-family-thai: "Montserrat", "Noto Sans Thai", sans-serif;
  --cx-font-family-mono: "JetBrains Mono", "IBM Plex Mono", "SF Mono", "Menlo", monospace;
  --cx-font-size-2xs: 0.6875rem;
  --cx-font-size-xs: 0.8rem;
  --cx-font-size-sm: 0.875rem;
  --cx-font-size-md: 1rem;
  --cx-font-size-lg: 1.25rem;
  --cx-font-size-xl: 1.5625rem;
  --cx-font-size-2xl: 1.9375rem;
  --cx-font-size-3xl: 2.4375rem;
  --cx-font-size-4xl: 3.0625rem;
  --cx-font-size-5xl: 3.8125rem;
  --cx-font-weight-regular: 400;
  --cx-font-weight-medium: 500;
  --cx-font-weight-semibold: 600;
  --cx-font-weight-bold: 700;
  --cx-line-height-2xs: 1.4;
  --cx-line-height-xs: 1.45;
  --cx-line-height-sm: 1.5;
  --cx-line-height-md: 1.6;
  --cx-line-height-lg: 1.5;
  --cx-line-height-xl: 1.3;
  --cx-line-height-2xl: 1.2;
  --cx-line-height-3xl: 1.15;
  --cx-line-height-4xl: 1.1;
  --cx-line-height-5xl: 1.05;
  --cx-line-height-cjk-2xs: 1.75;
  --cx-line-height-cjk-xs: 1.75;
  --cx-line-height-cjk-sm: 1.75;
  --cx-line-height-cjk-md: 1.75;
  --cx-line-height-cjk-lg: 1.75;
  --cx-line-height-cjk-xl: 1.3;
  --cx-line-height-cjk-2xl: 1.3;
  --cx-line-height-cjk-3xl: 1.3;
  --cx-line-height-cjk-4xl: 1.3;
  --cx-line-height-cjk-5xl: 1.3;
  --cx-line-height-vi-2xs: 1.7;
  --cx-line-height-vi-xs: 1.7;
  --cx-line-height-vi-sm: 1.7;
  --cx-line-height-vi-md: 1.7;
  --cx-line-height-vi-lg: 1.7;
  --cx-line-height-vi-xl: 1.3;
  --cx-line-height-vi-2xl: 1.2;
  --cx-line-height-vi-3xl: 1.15;
  --cx-line-height-vi-4xl: 1.1;
  --cx-line-height-vi-5xl: 1.05;
  --cx-letter-spacing-body: 0em;
  --cx-letter-spacing-heading: -0.01em;
  --cx-letter-spacing-caps: 0.08em;
  --cx-space-0: 0rem;
  --cx-space-1: 0.25rem;
  --cx-space-2: 0.5rem;
  --cx-space-3: 0.75rem;
  --cx-space-4: 1rem;
  --cx-space-5: 1.25rem;
  --cx-space-6: 1.5rem;
  --cx-space-8: 2rem;
  --cx-space-10: 2.5rem;
  --cx-space-12: 3rem;
  --cx-space-16: 4rem;
  --cx-space-20: 5rem;
  --cx-space-24: 6rem;
  --cx-space-32: 8rem;
  --cx-radius-none: 0px;
  --cx-radius-xs: 2px;
  --cx-radius-sm: 4px;
  --cx-radius-md: 8px;
  --cx-radius-lg: 12px;
  --cx-radius-xl: 16px;
  --cx-radius-2xl: 24px;
  --cx-radius-full: 9999px;
  --cx-radius-icon: 22%;
  --cx-shadow-sm: 0 1px 2px oklch(0.26 0.065 245 / 0.08);
  --cx-shadow-md: 0 4px 12px oklch(0.26 0.065 245 / 0.1);
  --cx-shadow-lg: 0 12px 32px oklch(0.26 0.065 245 / 0.14);
  --cx-border-width-hairline: 1px;
  --cx-border-width-thin: 1.5px;
  --cx-border-width-thick: 2px;
  --cx-container-lg: 1200px;
  --cx-container-xl: 1440px;
  --cx-container-gutter: 24px;
  --cx-container-margin-sm: 16px;
  --cx-container-margin-md: 32px;
  --cx-container-margin-lg: 48px;
  --cx-container-columns: 12;
  --cx-breakpoint-sm: 640px;
  --cx-breakpoint-md: 768px;
  --cx-breakpoint-lg: 1024px;
  --cx-breakpoint-xl: 1280px;
  --cx-breakpoint-2xl: 1536px;
  --cx-z-base: 0;
  --cx-z-raised: 10;
  --cx-z-sticky: 100;
  --cx-z-overlay: 1000;
  --cx-z-modal: 1100;
  --cx-z-toast: 1200;
  --cx-motion-duration-fast: 120ms;
  --cx-motion-duration-base: 200ms;
  --cx-motion-duration-slow: 320ms;
  --cx-motion-duration-enter: 400ms;
  --cx-motion-duration-logo-draw: 600ms;
  --cx-motion-duration-logo-fill: 400ms;
  --cx-motion-duration-logo-fade: 200ms;
  --cx-motion-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --cx-motion-ease-enter: cubic-bezier(0, 0, 0, 1);
  --cx-motion-ease-exit: cubic-bezier(0.4, 0, 1, 1);
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --cx-color-bg: #002641;
  --cx-color-bg-raised: #003459;
  --cx-color-bg-sunken: #001b2f;
  --cx-color-bg-inverse: #fdf5ed;
  --cx-color-fg: #fdf5ed;
  --cx-color-fg-muted: #cdc6be;
  --cx-color-fg-subtle: #9d958e;
  --cx-color-fg-inverse: #002641;
  --cx-color-brand: #b0cbe2;
  --cx-color-brand-strong: #cedfee;
  --cx-color-accent: #6bac1b;
  --cx-color-accent-hover: #8cc35a;
  --cx-color-accent-fg: #002641;
  --cx-color-accent-soft: #264400;
  --cx-color-border: #005688;
  --cx-color-border-strong: #3f86bd;
  --cx-color-link: #a1cdf2;
  --cx-color-success: #8cc35a;
  --cx-color-warning: #dfa345;
  --cx-color-danger: #f1918a;
  --cx-color-info: #a1cdf2;
  --cx-color-chart-1: #8db5d6;
  --cx-color-chart-2: #8cc35a;
  --cx-color-chart-3: #dfa345;
  --cx-color-chart-4: #a1cdf2;
  --cx-color-chart-5: #cfa685;
  --cx-color-chart-6: #f1918a;
  --cx-shadow-sm: 0 1px 2px oklch(0.26 0.065 245 / 0.16);
  --cx-shadow-md: 0 4px 12px oklch(0.26 0.065 245 / 0.2);
  --cx-shadow-lg: 0 12px 32px oklch(0.26 0.065 245 / 0.28);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --cx-color-bg: #002641;
    --cx-color-bg-raised: #003459;
    --cx-color-bg-sunken: #001b2f;
    --cx-color-bg-inverse: #fdf5ed;
    --cx-color-fg: #fdf5ed;
    --cx-color-fg-muted: #cdc6be;
    --cx-color-fg-subtle: #9d958e;
    --cx-color-fg-inverse: #002641;
    --cx-color-brand: #b0cbe2;
    --cx-color-brand-strong: #cedfee;
    --cx-color-accent: #6bac1b;
    --cx-color-accent-hover: #8cc35a;
    --cx-color-accent-fg: #002641;
    --cx-color-accent-soft: #264400;
    --cx-color-border: #005688;
    --cx-color-border-strong: #3f86bd;
    --cx-color-link: #a1cdf2;
    --cx-color-success: #8cc35a;
    --cx-color-warning: #dfa345;
    --cx-color-danger: #f1918a;
    --cx-color-info: #a1cdf2;
    --cx-color-chart-1: #8db5d6;
    --cx-color-chart-2: #8cc35a;
    --cx-color-chart-3: #dfa345;
    --cx-color-chart-4: #a1cdf2;
    --cx-color-chart-5: #cfa685;
    --cx-color-chart-6: #f1918a;
    --cx-shadow-sm: 0 1px 2px oklch(0.26 0.065 245 / 0.16);
    --cx-shadow-md: 0 4px 12px oklch(0.26 0.065 245 / 0.2);
    --cx-shadow-lg: 0 12px 32px oklch(0.26 0.065 245 / 0.28);
  }
}

/* Base rules: font stacks follow the writing system (decisions.md §4). */
html {
  font-family: var(--cx-font-family-sans);
  font-variant-numeric: tabular-nums;
}

:lang(zh) {
  font-family: var(--cx-font-family-cjk);
}

:lang(zh-Hant),
:lang(zh-TW),
:lang(zh-HK) {
  font-family: var(--cx-font-family-cjk-hant);
}

:lang(ja) {
  font-family: var(--cx-font-family-ja);
}

:lang(ko) {
  font-family: var(--cx-font-family-ko);
}

:lang(ar),
:lang(fa) {
  font-family: var(--cx-font-family-arabic);
}

:lang(hi) {
  font-family: var(--cx-font-family-devanagari);
}

:lang(th) {
  font-family: var(--cx-font-family-thai);
}

code,
kbd,
pre,
samp {
  font-family: var(--cx-font-family-mono);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --cx-motion-duration-fast: 0ms;
    --cx-motion-duration-base: 0ms;
    --cx-motion-duration-slow: 0ms;
    --cx-motion-duration-enter: 0ms;
    --cx-motion-duration-logo-draw: 0ms;
    --cx-motion-duration-logo-fill: 0ms;
    --cx-motion-duration-logo-fade: 0ms;
  }
}
