/* RustFS Design System tokens · generated from tokens/tokens.json by scripts/build-tokens.mjs. Do not edit by hand. */
/* Usage in a Tailwind v4 project:  @import "tailwindcss";  @import "./tailwind.css"; */

@custom-variant dark (&:is(.dark *));

@theme static {
  --color-blue-50: #F1F6FE;
  --color-blue-100: #E0ECFE;
  --color-blue-200: #C3DBFE;
  --color-blue-300: #96BFFF;
  --color-blue-400: #5C99FF;
  --color-blue-500: #0062FF;
  --color-blue-600: #014FDD;
  --color-blue-700: #043EB5;
  --color-blue-800: #062F8C;
  --color-blue-900: #072163;
  --color-blue-950: #051540;
  --color-oxide-50: #FEF5EE;
  --color-oxide-100: #FFE8D9;
  --color-oxide-200: #FFD2B7;
  --color-oxide-300: #FEB38D;
  --color-oxide-400: #FE8F5D;
  --color-oxide-500: #FF5E14;
  --color-oxide-600: #D9480F;
  --color-oxide-700: #B33A10;
  --color-oxide-800: #8D2E12;
  --color-oxide-900: #692311;
  --color-oxide-950: #47180D;
  --color-neutral-0: #FFFFFF;
  --color-neutral-25: #FAFBFD;
  --color-neutral-50: #F4F6F9;
  --color-neutral-100: #EAEDF2;
  --color-neutral-200: #DCE0E6;
  --color-neutral-300: #C4C9D2;
  --color-neutral-400: #9AA0AC;
  --color-neutral-500: #757C88;
  --color-neutral-600: #5A616D;
  --color-neutral-700: #424853;
  --color-neutral-800: #2B313A;
  --color-neutral-850: #1E232B;
  --color-neutral-900: #13171E;
  --color-neutral-950: #0B0E14;
  --color-neutral-1000: #06070B;
  --color-green-500: #02A855;
  --color-green-700: #037E3F;
  --color-amber-500: #F7AE0C;
  --color-amber-700: #A06604;
  --color-red-400: #FF6B78;
  --color-red-500: #E42E41;
  --color-red-700: #C51B32;
  --color-teal-500: #00AEAE;
  --color-violet-500: #7D5BE6;
  --color-sky-500: #61C3F9;
  --color-signal: #0062FF;
  --color-oxide: #FF5E14;
  --color-ink: #0B0E14;
  --color-steel: #757C88;
  --color-paper: #F4F6F9;
  --color-dataviz-1: #0062FF;
  --color-dataviz-2: #FF5E14;
  --color-dataviz-3: #00AEAE;
  --color-dataviz-4: #7D5BE6;
  --color-dataviz-5: #F7AE0C;
  --color-dataviz-6: #61C3F9;
  --color-dataviz-7: #02A855;
  --color-dataviz-8: #9AA0AC;
  --color-syntax-background: #0B0E14;
  --color-syntax-foreground: #EAEDF2;
  --color-syntax-comment: #757C88;
  --color-syntax-punctuation: #9AA0AC;
  --color-syntax-keyword: #5C99FF;
  --color-syntax-function: #96BFFF;
  --color-syntax-property: #C3DBFE;
  --color-syntax-string: #6BDFCA;
  --color-syntax-number: #FE8F5D;

  --font-display: var(--font-archivo, "Archivo"), "HarmonyOS Sans SC", "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-sans: var(--font-geist-sans, "Geist"), "HarmonyOS Sans SC", "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --font-mono: var(--font-geist-mono, "Geist Mono"), "SF Mono", ui-monospace, Menlo, Consolas, "PingFang SC", monospace;

  --text-display-2xl: 128px;
  --text-display-2xl--line-height: 0.92;
  --text-display-2xl--letter-spacing: -0.03em;
  --text-display-2xl--font-weight: 800;
  --text-display-xl: 96px;
  --text-display-xl--line-height: 0.94;
  --text-display-xl--letter-spacing: -0.025em;
  --text-display-xl--font-weight: 800;
  --text-display-lg: 72px;
  --text-display-lg--line-height: 0.96;
  --text-display-lg--letter-spacing: -0.02em;
  --text-display-lg--font-weight: 800;
  --text-display-md: 56px;
  --text-display-md--line-height: 1;
  --text-display-md--letter-spacing: -0.02em;
  --text-display-md--font-weight: 800;
  --text-headline-lg: 40px;
  --text-headline-lg--line-height: 1.08;
  --text-headline-lg--letter-spacing: -0.01em;
  --text-headline-lg--font-weight: 750;
  --text-headline-md: 30px;
  --text-headline-md--line-height: 1.15;
  --text-headline-md--letter-spacing: -0.01em;
  --text-headline-md--font-weight: 700;
  --text-headline-sm: 22px;
  --text-headline-sm--line-height: 1.3;
  --text-headline-sm--letter-spacing: -0.005em;
  --text-headline-sm--font-weight: 600;
  --text-title: 18px;
  --text-title--line-height: 1.4;
  --text-title--letter-spacing: 0em;
  --text-title--font-weight: 600;
  --text-body-lg: 18px;
  --text-body-lg--line-height: 1.7;
  --text-body-lg--letter-spacing: 0em;
  --text-body-lg--font-weight: 400;
  --text-body-md: 16px;
  --text-body-md--line-height: 1.7;
  --text-body-md--letter-spacing: 0em;
  --text-body-md--font-weight: 400;
  --text-body-sm: 14px;
  --text-body-sm--line-height: 1.6;
  --text-body-sm--letter-spacing: 0em;
  --text-body-sm--font-weight: 400;
  --text-caption: 12px;
  --text-caption--line-height: 1.5;
  --text-caption--letter-spacing: 0em;
  --text-caption--font-weight: 400;
  --text-label-md: 12px;
  --text-label-md--line-height: 1.3;
  --text-label-md--letter-spacing: 0.08em;
  --text-label-md--font-weight: 500;
  --text-label-sm: 11px;
  --text-label-sm--line-height: 1.3;
  --text-label-sm--letter-spacing: 0.08em;
  --text-label-sm--font-weight: 500;
  --text-code: 14px;
  --text-code--line-height: 1.65;
  --text-code--letter-spacing: 0em;
  --text-code--font-weight: 400;
  --text-numeral: 48px;
  --text-numeral--line-height: 1;
  --text-numeral--letter-spacing: -0.02em;
  --text-numeral--font-weight: 800;

  --radius-xs: 0px;
  --radius-sm: 0px;
  --radius-md: 0px;
  --radius-lg: 0px;
  --radius-xl: 0px;
  --radius-2xl: 0px;
  --radius-3xl: 0px;
  --radius-4xl: 0px;

  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-emphasized: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --shadow-overlay: 0px 24px 48px -16px #0B0E1447;
}

@theme inline {
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --color-card: var(--card);
  --color-card-foreground: var(--card-foreground);
  --color-popover: var(--popover);
  --color-popover-foreground: var(--popover-foreground);
  --color-primary: var(--primary);
  --color-primary-foreground: var(--primary-foreground);
  --color-secondary: var(--secondary);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-muted: var(--muted);
  --color-muted-foreground: var(--muted-foreground);
  --color-accent: var(--accent);
  --color-accent-foreground: var(--accent-foreground);
  --color-destructive: var(--destructive);
  --color-destructive-foreground: var(--destructive-foreground);
  --color-border: var(--border);
  --color-input: var(--input);
  --color-ring: var(--ring);
  --color-chart-1: var(--chart-1);
  --color-chart-2: var(--chart-2);
  --color-chart-3: var(--chart-3);
  --color-chart-4: var(--chart-4);
  --color-chart-5: var(--chart-5);
  --color-sidebar: var(--sidebar);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-ring: var(--sidebar-ring);
  --color-brand: var(--brand);
  --color-brand-foreground: var(--brand-foreground);
  --color-link: var(--link);
  --color-parity: var(--parity);
  --color-parity-foreground: var(--parity-foreground);
  --color-parity-text: var(--parity-text);
  --color-subtle: var(--subtle);
  --color-faint: var(--faint);
  --color-strong: var(--strong);
  --color-surface: var(--surface);
  --color-surface-2: var(--surface-2);
  --color-success: var(--success);
  --color-warning: var(--warning);
  --color-danger: var(--danger);
  --color-info: var(--info);
  --color-stage: var(--stage);
  --color-stage-foreground: var(--stage-foreground);
  --color-selection: var(--selection);
}

:root {
  --radius: 0rem;
  --duration-instant: 80ms;
  --duration-fast: 150ms;
  --duration-base: 240ms;
  --duration-slow: 420ms;
  --duration-scene: 720ms;
  --duration-stagger: 40ms;
  --background: var(--color-neutral-0);
  --foreground: var(--color-neutral-950);
  --card: var(--color-neutral-0);
  --card-foreground: var(--color-neutral-950);
  --popover: var(--color-neutral-0);
  --popover-foreground: var(--color-neutral-950);
  --primary: var(--color-blue-500);
  --primary-foreground: var(--color-neutral-0);
  --secondary: var(--color-neutral-100);
  --secondary-foreground: var(--color-neutral-950);
  --muted: var(--color-neutral-50);
  --muted-foreground: var(--color-neutral-600);
  --accent: var(--color-neutral-100);
  --accent-foreground: var(--color-neutral-950);
  --destructive: var(--color-red-700);
  --destructive-foreground: var(--color-neutral-0);
  --border: var(--color-neutral-200);
  --input: var(--color-neutral-300);
  --ring: var(--color-blue-500);
  --chart-1: #0062FF;
  --chart-2: #FF5E14;
  --chart-3: #00AEAE;
  --chart-4: #7D5BE6;
  --chart-5: #F7AE0C;
  --sidebar: var(--color-neutral-0);
  --sidebar-foreground: var(--color-neutral-950);
  --sidebar-primary: var(--color-blue-500);
  --sidebar-primary-foreground: var(--color-neutral-0);
  --sidebar-accent: var(--color-neutral-50);
  --sidebar-accent-foreground: var(--color-neutral-950);
  --sidebar-border: var(--color-neutral-200);
  --sidebar-ring: var(--color-blue-500);
  --brand: var(--color-blue-500);
  --brand-foreground: var(--color-neutral-0);
  --link: var(--color-blue-600);
  --parity: var(--color-oxide-500);
  --parity-foreground: var(--color-neutral-950);
  --parity-text: var(--color-oxide-700);
  --subtle: var(--color-neutral-700);
  --faint: var(--color-neutral-500);
  --strong: var(--color-neutral-300);
  --surface: var(--color-neutral-50);
  --surface-2: var(--color-neutral-100);
  --success: var(--color-green-700);
  --warning: var(--color-amber-700);
  --danger: var(--color-red-700);
  --info: var(--color-blue-600);
  --stage: var(--color-neutral-950);
  --stage-foreground: var(--color-neutral-0);
  --selection: var(--color-blue-100);
}

.dark {
  --background: var(--color-neutral-950);
  --foreground: var(--color-neutral-50);
  --card: var(--color-neutral-900);
  --card-foreground: var(--color-neutral-50);
  --popover: var(--color-neutral-900);
  --popover-foreground: var(--color-neutral-50);
  --primary: var(--color-blue-500);
  --primary-foreground: var(--color-neutral-0);
  --secondary: var(--color-neutral-850);
  --secondary-foreground: var(--color-neutral-50);
  --muted: var(--color-neutral-900);
  --muted-foreground: var(--color-neutral-400);
  --accent: var(--color-neutral-850);
  --accent-foreground: var(--color-neutral-50);
  --destructive: var(--color-red-400);
  --destructive-foreground: var(--color-neutral-950);
  --border: var(--color-neutral-800);
  --input: var(--color-neutral-700);
  --ring: var(--color-blue-400);
  --chart-1: #0062FF;
  --chart-2: #FF5E14;
  --chart-3: #00AEAE;
  --chart-4: #7D5BE6;
  --chart-5: #F7AE0C;
  --sidebar: var(--color-neutral-950);
  --sidebar-foreground: var(--color-neutral-50);
  --sidebar-primary: var(--color-blue-500);
  --sidebar-primary-foreground: var(--color-neutral-0);
  --sidebar-accent: var(--color-neutral-900);
  --sidebar-accent-foreground: var(--color-neutral-50);
  --sidebar-border: var(--color-neutral-800);
  --sidebar-ring: var(--color-blue-400);
  --brand: var(--color-blue-500);
  --brand-foreground: var(--color-neutral-0);
  --link: var(--color-blue-400);
  --parity: var(--color-oxide-500);
  --parity-foreground: var(--color-neutral-950);
  --parity-text: var(--color-oxide-400);
  --subtle: var(--color-neutral-300);
  --faint: var(--color-neutral-500);
  --strong: var(--color-neutral-700);
  --surface: var(--color-neutral-900);
  --surface-2: var(--color-neutral-850);
  --success: var(--color-green-500);
  --warning: var(--color-amber-500);
  --danger: var(--color-red-400);
  --info: var(--color-blue-400);
  --stage: var(--color-neutral-1000);
  --stage-foreground: var(--color-neutral-0);
  --selection: #0062FF59;
}

@utility type-display-2xl {
  font-family: var(--font-display);
  font-size: var(--text-display-2xl);
  line-height: var(--text-display-2xl--line-height);
  letter-spacing: var(--text-display-2xl--letter-spacing);
  font-weight: var(--text-display-2xl--font-weight);
  font-stretch: 125%;
}
@utility type-display-xl {
  font-family: var(--font-display);
  font-size: var(--text-display-xl);
  line-height: var(--text-display-xl--line-height);
  letter-spacing: var(--text-display-xl--letter-spacing);
  font-weight: var(--text-display-xl--font-weight);
  font-stretch: 125%;
}
@utility type-display-lg {
  font-family: var(--font-display);
  font-size: var(--text-display-lg);
  line-height: var(--text-display-lg--line-height);
  letter-spacing: var(--text-display-lg--letter-spacing);
  font-weight: var(--text-display-lg--font-weight);
  font-stretch: 125%;
}
@utility type-display-md {
  font-family: var(--font-display);
  font-size: var(--text-display-md);
  line-height: var(--text-display-md--line-height);
  letter-spacing: var(--text-display-md--letter-spacing);
  font-weight: var(--text-display-md--font-weight);
  font-stretch: 125%;
}
@utility type-headline-lg {
  font-family: var(--font-display);
  font-size: var(--text-headline-lg);
  line-height: var(--text-headline-lg--line-height);
  letter-spacing: var(--text-headline-lg--letter-spacing);
  font-weight: var(--text-headline-lg--font-weight);
  font-stretch: 112%;
}
@utility type-headline-md {
  font-family: var(--font-display);
  font-size: var(--text-headline-md);
  line-height: var(--text-headline-md--line-height);
  letter-spacing: var(--text-headline-md--letter-spacing);
  font-weight: var(--text-headline-md--font-weight);
  font-stretch: 112%;
}
@utility type-headline-sm {
  font-family: var(--font-sans);
  font-size: var(--text-headline-sm);
  line-height: var(--text-headline-sm--line-height);
  letter-spacing: var(--text-headline-sm--letter-spacing);
  font-weight: var(--text-headline-sm--font-weight);
}
@utility type-title {
  font-family: var(--font-sans);
  font-size: var(--text-title);
  line-height: var(--text-title--line-height);
  letter-spacing: var(--text-title--letter-spacing);
  font-weight: var(--text-title--font-weight);
}
@utility type-body-lg {
  font-family: var(--font-sans);
  font-size: var(--text-body-lg);
  line-height: var(--text-body-lg--line-height);
  letter-spacing: var(--text-body-lg--letter-spacing);
  font-weight: var(--text-body-lg--font-weight);
}
@utility type-body-md {
  font-family: var(--font-sans);
  font-size: var(--text-body-md);
  line-height: var(--text-body-md--line-height);
  letter-spacing: var(--text-body-md--letter-spacing);
  font-weight: var(--text-body-md--font-weight);
}
@utility type-body-sm {
  font-family: var(--font-sans);
  font-size: var(--text-body-sm);
  line-height: var(--text-body-sm--line-height);
  letter-spacing: var(--text-body-sm--letter-spacing);
  font-weight: var(--text-body-sm--font-weight);
}
@utility type-caption {
  font-family: var(--font-sans);
  font-size: var(--text-caption);
  line-height: var(--text-caption--line-height);
  letter-spacing: var(--text-caption--letter-spacing);
  font-weight: var(--text-caption--font-weight);
}
@utility type-label-md {
  font-family: var(--font-mono);
  font-size: var(--text-label-md);
  line-height: var(--text-label-md--line-height);
  letter-spacing: var(--text-label-md--letter-spacing);
  font-weight: var(--text-label-md--font-weight);
  text-transform: uppercase;
}
@utility type-label-sm {
  font-family: var(--font-mono);
  font-size: var(--text-label-sm);
  line-height: var(--text-label-sm--line-height);
  letter-spacing: var(--text-label-sm--letter-spacing);
  font-weight: var(--text-label-sm--font-weight);
  text-transform: uppercase;
}
@utility type-code {
  font-family: var(--font-mono);
  font-size: var(--text-code);
  line-height: var(--text-code--line-height);
  letter-spacing: var(--text-code--letter-spacing);
  font-weight: var(--text-code--font-weight);
}
@utility type-numeral {
  font-family: var(--font-display);
  font-size: var(--text-numeral);
  line-height: var(--text-numeral--line-height);
  letter-spacing: var(--text-numeral--letter-spacing);
  font-weight: var(--text-numeral--font-weight);
  font-stretch: 125%;
  font-feature-settings: "tnum" 1;
}
