/* Generated by packages/design-system/scripts/build.mjs from tokens/*.json. Do not edit. */

:root {
  --color-brand-50: #fef4f1;
  --color-brand-100: #ffe5dc;
  --color-brand-200: #ffccbb;
  --color-brand-300: #fead91;
  --color-brand-400: #ff855b;
  --color-brand-500: #ff6a32;
  --color-brand-600: #cc480c;
  --color-brand-700: #ae3900;
  --color-brand-800: #8a2b00;
  --color-brand-900: #681e00;
  --color-brand-950: #440f00;
  --color-calm-50: #e4fcff;
  --color-calm-100: #bdf7ff;
  --color-calm-200: #94eaf4;
  --color-calm-300: #75d6e1;
  --color-calm-400: #50bfcb;
  --color-calm-500: #0fa3b1;
  --color-calm-600: #05818c;
  --color-calm-700: #03747e;
  --color-calm-800: #005b64;
  --color-calm-900: #01434a;
  --color-calm-950: #002a2f;
  --color-gold-50: #fff6e5;
  --color-gold-100: #ffe8c0;
  --color-gold-200: #ffd27e;
  --color-gold-300: #f5b82e;
  --color-gold-400: #d9a224;
  --color-gold-500: #bd8c18;
  --color-gold-600: #a07507;
  --color-gold-700: #845f00;
  --color-gold-800: #684a00;
  --color-gold-900: #4d3600;
  --color-gold-950: #312100;
  --color-lime-50: #eaffdb;
  --color-lime-100: #c8ff9e;
  --color-lime-200: #aef079;
  --color-lime-300: #9be15d;
  --color-lime-400: #83c14a;
  --color-lime-500: #70a83d;
  --color-lime-600: #5c8e2e;
  --color-lime-700: #4a7420;
  --color-lime-800: #375c12;
  --color-lime-900: #264404;
  --color-lime-950: #152b00;
  --color-coral-50: #fff4f3;
  --color-coral-100: #ffe4e3;
  --color-coral-200: #fecac9;
  --color-coral-300: #feaaaa;
  --color-coral-400: #ff8084;
  --color-coral-500: #ff4d5e;
  --color-coral-600: #d73649;
  --color-coral-700: #b62539;
  --color-coral-800: #951028;
  --color-coral-900: #720019;
  --color-coral-950: #4b000d;
  --color-lavender-50: #f7f5ff;
  --color-lavender-100: #ece8fe;
  --color-lavender-200: #dbd2fe;
  --color-lavender-300: #c9b8ff;
  --color-lavender-400: #b498ff;
  --color-lavender-500: #9c83df;
  --color-lavender-600: #7d67b7;
  --color-lavender-700: #6b589e;
  --color-lavender-800: #54437f;
  --color-lavender-900: #3e3061;
  --color-lavender-950: #281a45;
  --color-neutral-50: #f5f8f9;
  --color-neutral-100: #e4e9eb;
  --color-neutral-200: #d2d7d9;
  --color-neutral-300: #bdc2c4;
  --color-neutral-400: #a4a9aa;
  --color-neutral-500: #8b9295;
  --color-neutral-600: #707b7f;
  --color-neutral-700: #58666c;
  --color-neutral-800: #3e5057;
  --color-neutral-900: #263c44;
  --color-neutral-950: #102a33;
  --color-white: #ffffff;
  --color-black: #000000;
  --space-0: 0px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-0-5: 2px;
  --size-icon-sm: 16px;
  --size-icon-md: 20px;
  --size-icon-lg: 24px;
  --size-icon-xl: 32px;
  --size-control-sm: 32px;
  --size-control-md: 40px;
  --size-control-lg: 48px;
  --size-touch-target: 44px;
  --size-avatar-sm: 24px;
  --size-avatar-md: 40px;
  --size-avatar-lg: 64px;
  --size-container-sm: 640px;
  --size-container-md: 960px;
  --size-container-lg: 1280px;
  --size-container-xl: 1536px;
  --radius-none: 0px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-2xl: 24px;
  --radius-full: 9999px;
  --border-width-hairline: 1px;
  --border-width-medium: 2px;
  --border-width-thick: 4px;
  --z-index-base: 0;
  --z-index-raised: 10;
  --z-index-sticky: 100;
  --z-index-dropdown: 1000;
  --z-index-overlay: 1100;
  --z-index-modal: 1200;
  --z-index-toast: 1300;
  --z-index-tooltip: 1400;
  --breakpoint-xs: 0px;
  --breakpoint-sm: 480px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
  --breakpoint-2xl: 1536px;
  --shadow-sm: 0px 1px 2px 0px rgba(20, 14, 10, 0.08);
  --shadow-md: 0px 2px 6px 0px rgba(20, 14, 10, 0.10), 0px 1px 2px 0px rgba(20, 14, 10, 0.06);
  --shadow-lg: 0px 8px 24px -4px rgba(20, 14, 10, 0.16), 0px 2px 6px 0px rgba(20, 14, 10, 0.08);
  --motion-duration-instant: 0ms;
  --motion-duration-fast: 120ms;
  --motion-duration-normal: 200ms;
  --motion-duration-slow: 320ms;
  --motion-duration-deliberate: 480ms;
  --motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);
  --motion-easing-enter: cubic-bezier(0, 0, 0, 1);
  --motion-easing-exit: cubic-bezier(0.4, 0, 1, 1);
  --motion-easing-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --typography-font-family-sans: Montserrat, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --typography-font-family-mono: "JetBrains Mono", SFMono-Regular, Menlo, Consolas, monospace;
  --typography-font-weight-regular: 400;
  --typography-font-weight-medium: 500;
  --typography-font-weight-semibold: 600;
  --typography-font-weight-bold: 700;
  --typography-font-size-xs: 12px;
  --typography-font-size-sm: 14px;
  --typography-font-size-md: 16px;
  --typography-font-size-lg: 18px;
  --typography-font-size-xl: 20px;
  --typography-font-size-2xl: 24px;
  --typography-font-size-3xl: 30px;
  --typography-font-size-4xl: 36px;
  --typography-font-size-5xl: 48px;
  --typography-line-height-tight: 1.2;
  --typography-line-height-snug: 1.35;
  --typography-line-height-normal: 1.5;
  --typography-line-height-relaxed: 1.65;
  --typography-letter-spacing-tight: -0.01em;
  --typography-letter-spacing-normal: 0;
  --typography-letter-spacing-wide: 0.02em;
  --typography-letter-spacing-caps: 0.06em;
}

/* Themes: light by default; dark when the system asks for it unless data-theme="light"; data-theme="dark" forces dark. */
:root, [data-theme="light"] {
  --theme-background: #f5f8f9;
  --theme-surface: #ffffff;
  --theme-surface-raised: #ffffff;
  --theme-surface-sunken: #e4e9eb;
  --theme-border: #d2d7d9;
  --theme-border-strong: #707b7f;
  --theme-text: #102a33;
  --theme-text-muted: #58666c;
  --theme-text-on-color: #ffffff;
  --theme-primary: #cc480c;
  --theme-primary-hover: #ae3900;
  --theme-primary-active: #8a2b00;
  --theme-primary-subtle: #fef4f1;
  --theme-accent: #ff6a32;
  --theme-secondary: #05818c;
  --theme-secondary-hover: #03747e;
  --theme-secondary-subtle: #e4fcff;
  --theme-calm: #0fa3b1;
  --theme-gold: #f5b82e;
  --theme-gold-strong: #845f00;
  --theme-lime: #9be15d;
  --theme-lime-strong: #4a7420;
  --theme-character: #c9b8ff;
  --theme-character-subtle: #f7f5ff;
  --theme-text-on-character: #102a33;
  --theme-focus: #102a33;
  --theme-focus-glow: #c9b8ff;
  --theme-success: #4a7420;
  --theme-success-subtle: #eaffdb;
  --theme-warning: #845f00;
  --theme-warning-subtle: #fff6e5;
  --theme-danger: #b62539;
  --theme-danger-action: #d73649;
  --theme-danger-subtle: #fff4f3;
  --theme-info: #03747e;
  --theme-info-subtle: #e4fcff;
  --theme-overlay: rgba(16, 42, 51, 0.6);
  --theme-link: #ae3900;
  --theme-text-calm: #03747e;
  --theme-border-input: #707b7f;
  --theme-primary-edge: #cc480c;
  --theme-shadow-color: rgba(16, 42, 51, 0.16);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --theme-background: #102a33;
    --theme-surface: #263c44;
    --theme-surface-raised: #3e5057;
    --theme-surface-sunken: #000000;
    --theme-border: #3e5057;
    --theme-border-strong: #8b9295;
    --theme-text: #f5f8f9;
    --theme-text-muted: #bdc2c4;
    --theme-text-on-color: #ffffff;
    --theme-primary: #cc480c;
    --theme-primary-hover: #ae3900;
    --theme-primary-active: #8a2b00;
    --theme-primary-subtle: #440f00;
    --theme-accent: #ff6a32;
    --theme-secondary: #05818c;
    --theme-secondary-hover: #03747e;
    --theme-secondary-subtle: #002a2f;
    --theme-calm: #50bfcb;
    --theme-gold: #f5b82e;
    --theme-gold-strong: #845f00;
    --theme-lime: #9be15d;
    --theme-lime-strong: #4a7420;
    --theme-character: #c9b8ff;
    --theme-character-subtle: #3e5057;
    --theme-text-on-character: #102a33;
    --theme-focus: #c9b8ff;
    --theme-focus-glow: #c9b8ff;
    --theme-success: #9be15d;
    --theme-success-subtle: #152b00;
    --theme-warning: #f5b82e;
    --theme-warning-subtle: #312100;
    --theme-danger: #feaaaa;
    --theme-danger-action: #d73649;
    --theme-danger-subtle: #4b000d;
    --theme-info: #75d6e1;
    --theme-info-subtle: #002a2f;
    --theme-overlay: rgba(0, 0, 0, 0.65);
    --theme-link: #fead91;
    --theme-text-calm: #75d6e1;
    --theme-border-input: #a4a9aa;
    --theme-primary-edge: #ff855b;
    --theme-shadow-color: rgba(0, 0, 0, 0.5);
  }
}
[data-theme="dark"] {
  --theme-background: #102a33;
  --theme-surface: #263c44;
  --theme-surface-raised: #3e5057;
  --theme-surface-sunken: #000000;
  --theme-border: #3e5057;
  --theme-border-strong: #8b9295;
  --theme-text: #f5f8f9;
  --theme-text-muted: #bdc2c4;
  --theme-text-on-color: #ffffff;
  --theme-primary: #cc480c;
  --theme-primary-hover: #ae3900;
  --theme-primary-active: #8a2b00;
  --theme-primary-subtle: #440f00;
  --theme-accent: #ff6a32;
  --theme-secondary: #05818c;
  --theme-secondary-hover: #03747e;
  --theme-secondary-subtle: #002a2f;
  --theme-calm: #50bfcb;
  --theme-gold: #f5b82e;
  --theme-gold-strong: #845f00;
  --theme-lime: #9be15d;
  --theme-lime-strong: #4a7420;
  --theme-character: #c9b8ff;
  --theme-character-subtle: #3e5057;
  --theme-text-on-character: #102a33;
  --theme-focus: #c9b8ff;
  --theme-focus-glow: #c9b8ff;
  --theme-success: #9be15d;
  --theme-success-subtle: #152b00;
  --theme-warning: #f5b82e;
  --theme-warning-subtle: #312100;
  --theme-danger: #feaaaa;
  --theme-danger-action: #d73649;
  --theme-danger-subtle: #4b000d;
  --theme-info: #75d6e1;
  --theme-info-subtle: #002a2f;
  --theme-overlay: rgba(0, 0, 0, 0.65);
  --theme-link: #fead91;
  --theme-text-calm: #75d6e1;
  --theme-border-input: #a4a9aa;
  --theme-primary-edge: #ff855b;
  --theme-shadow-color: rgba(0, 0, 0, 0.5);
}

/* Text roles */
.text-display {
  font-family: Montserrat, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.text-heading1 {
  font-family: Montserrat, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.text-heading2 {
  font-family: Montserrat, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0;
}
.text-heading3 {
  font-family: Montserrat, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0;
}
.text-title {
  font-family: Montserrat, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0;
}
.text-body {
  font-family: Montserrat, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}
.text-body-strong {
  font-family: Montserrat, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
}
.text-body-small {
  font-family: Montserrat, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}
.text-label {
  font-family: Montserrat, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.02em;
}
.text-caption {
  font-family: Montserrat, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.text-code {
  font-family: "JetBrains Mono", SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}

/* Breakpoints (min-width). CSS variables cannot be used in media queries; the values are listed here for reference. */
/* breakpoint.xs: 0px */
/* breakpoint.sm: 480px */
/* breakpoint.md: 768px */
/* breakpoint.lg: 1024px */
/* breakpoint.xl: 1280px */
/* breakpoint.2xl: 1536px */

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