/* RustFS Design System tokens · generated from tokens/tokens.json by scripts/build-tokens.mjs. Do not edit by hand. */

:root {
  --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: var(--color-blue-500);
  --color-oxide: var(--color-oxide-500);
  --color-ink: var(--color-neutral-950);
  --color-steel: var(--color-neutral-500);
  --color-paper: var(--color-neutral-50);
  --color-dataviz-1: var(--color-blue-500);
  --color-dataviz-2: var(--color-oxide-500);
  --color-dataviz-3: var(--color-teal-500);
  --color-dataviz-4: var(--color-violet-500);
  --color-dataviz-5: var(--color-amber-500);
  --color-dataviz-6: var(--color-sky-500);
  --color-dataviz-7: var(--color-green-500);
  --color-dataviz-8: var(--color-neutral-400);
  --color-syntax-background: var(--color-neutral-950);
  --color-syntax-foreground: var(--color-neutral-100);
  --color-syntax-comment: var(--color-neutral-500);
  --color-syntax-punctuation: var(--color-neutral-400);
  --color-syntax-keyword: var(--color-blue-400);
  --color-syntax-function: var(--color-blue-300);
  --color-syntax-property: var(--color-blue-200);
  --color-syntax-string: #6BDFCA;
  --color-syntax-number: var(--color-oxide-400);
  --font-display: Archivo, "HarmonyOS Sans SC", "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-sans: Geist, "HarmonyOS Sans SC", "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --font-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: 0px;
  --radius-none: 0px;
  --radius-full: 9999px;
  --duration-instant: 80ms;
  --duration-fast: 150ms;
  --duration-base: 240ms;
  --duration-slow: 420ms;
  --duration-scene: 720ms;
  --duration-stagger: 40ms;
  --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;
  --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);
  color-scheme: light;
}

.dark,
[data-theme="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;
  color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
  :root:not(.light):not([data-theme="light"]) {
    --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;
    color-scheme: dark;
  }
}
