/* Kacti AI Design System — canonical tokens (light + explicit dark).
 * GENERATED FILE — DO NOT EDIT.
 * Source:    .kacti/design/tokens/*.json
 * Generator: packages/kacti-ds/scripts/generate.mjs  (npm run build -w packages/kacti-ds)
 * Contains ZERO Tailwind directives by design — see the package README. */


:root {
  color-scheme: light;
  --ds-gray-100: #F2F2F2;
  --ds-gray-200: #EBEBEB;
  --ds-gray-300: #E6E6E6;
  --ds-gray-400: #EAEAEA;
  --ds-gray-500: #C9C9C9;
  --ds-gray-600: #A8A8A8;
  --ds-gray-700: #8F8F8F;
  --ds-gray-800: #7D7D7D;
  --ds-gray-900: #404040;
  --ds-gray-1000: #171717;
  --ds-gray-alpha-100: #0000000D;
  --ds-gray-alpha-200: #00000015;
  --ds-gray-alpha-300: #0000001A;
  --ds-gray-alpha-400: #00000014;
  --ds-gray-alpha-500: #00000036;
  --ds-gray-alpha-600: #00000057;
  --ds-gray-alpha-700: #00000070;
  --ds-gray-alpha-800: #00000082;
  --ds-gray-alpha-900: #0000009A;
  --ds-gray-alpha-1000: #000000E8;
  --ds-blue-100: #F0F7FF;
  --ds-blue-200: #EDF6FF;
  --ds-blue-300: #E1F0FF;
  --ds-blue-400: #CDE7FF;
  --ds-blue-500: #99CEFF;
  --ds-blue-600: #52AEFF;
  --ds-blue-700: #0070F3;
  --ds-blue-800: #0060D1;
  --ds-blue-900: #0067D6;
  --ds-blue-1000: #00254D;
  --ds-red-100: #FFF0F0;
  --ds-red-200: #FFEBEB;
  --ds-red-300: #FFE5E5;
  --ds-red-400: #FDD8D8;
  --ds-red-500: #F8BABA;
  --ds-red-600: #F87274;
  --ds-red-700: #E5484D;
  --ds-red-800: #DA3036;
  --ds-red-900: #CA2A30;
  --ds-red-1000: #381316;
  --ds-amber-100: #FFF6E5;
  --ds-amber-200: #FFF4D5;
  --ds-amber-300: #FEF0CD;
  --ds-amber-400: #FFDD8F;
  --ds-amber-500: #FFC96B;
  --ds-amber-600: #F5B047;
  --ds-amber-700: #FFB224;
  --ds-amber-800: #FF990A;
  --ds-amber-900: #A35200;
  --ds-amber-1000: #4E2009;
  --ds-green-100: #EFFBEF;
  --ds-green-200: #EAFAEA;
  --ds-green-300: #DCF6DC;
  --ds-green-400: #C8F1C9;
  --ds-green-500: #99E59F;
  --ds-green-600: #6CDA76;
  --ds-green-700: #46A758;
  --ds-green-800: #388E4A;
  --ds-green-900: #297C3B;
  --ds-green-1000: #1B311E;
  --ds-teal-100: #EEFCF9;
  --ds-teal-200: #E6FAF6;
  --ds-teal-300: #D5F7F1;
  --ds-teal-400: #BEF4EB;
  --ds-teal-500: #86EAD9;
  --ds-teal-600: #45DEC4;
  --ds-teal-700: #12A594;
  --ds-teal-800: #0D8C7D;
  --ds-teal-900: #067A6F;
  --ds-teal-1000: #063A32;
  --ds-purple-100: #F9F0FF;
  --ds-purple-200: #F9F1FE;
  --ds-purple-300: #F3E7FC;
  --ds-purple-400: #EDDBF9;
  --ds-purple-500: #D6B1F1;
  --ds-purple-600: #BE89EC;
  --ds-purple-700: #8E4EC6;
  --ds-purple-800: #763DA9;
  --ds-purple-900: #793AAF;
  --ds-purple-1000: #2B0E44;
  --ds-pink-100: #FFEBF5;
  --ds-pink-200: #FEE7F1;
  --ds-pink-300: #FED7EA;
  --ds-pink-400: #FCD5E7;
  --ds-pink-500: #F8A5CB;
  --ds-pink-600: #F476AB;
  --ds-pink-700: #E93D82;
  --ds-pink-800: #DE2670;
  --ds-pink-900: #C01B5D;
  --ds-pink-1000: #3D0D1D;
  --ds-background-1: #FFFFFF;
  --ds-background-2: #F9FAFB;
  --ds-background-1-alpha-80: #FFFFFFCC;
  --ds-background-1-alpha-60: #FFFFFF99;
  --ds-background-elevated-1: #FFFFFF;
  --ds-background-elevated-2: #FFFFFF;
}

/* Explicit dark pin. OS-driven dark is opt-in — import kacti-ds-system-dark.css. */
[data-theme="dark"] {
  color-scheme: dark;
  --ds-gray-100: #1A1A1A;
  --ds-gray-200: #1A1A1A;
  --ds-gray-300: #292929;
  --ds-gray-400: #2E2E2E;
  --ds-gray-500: #454545;
  --ds-gray-600: #878787;
  --ds-gray-700: #8F8F8F;
  --ds-gray-800: #7D7D7D;
  --ds-gray-900: #A0A0A0;
  --ds-gray-1000: #EDEDED;
  --ds-gray-alpha-100: #FFFFFF11;
  --ds-gray-alpha-200: #FFFFFF16;
  --ds-gray-alpha-300: #FFFFFF20;
  --ds-gray-alpha-400: #FFFFFF25;
  --ds-gray-alpha-500: #FFFFFF3D;
  --ds-gray-alpha-600: #FFFFFF81;
  --ds-gray-alpha-700: #FFFFFF8A;
  --ds-gray-alpha-800: #FFFFFF78;
  --ds-gray-alpha-900: #FFFFFF9C;
  --ds-gray-alpha-1000: #FFFFFFEB;
  --ds-blue-100: #0F1B2D;
  --ds-blue-200: #10243E;
  --ds-blue-300: #0F3058;
  --ds-blue-400: #0D3868;
  --ds-blue-500: #0A4481;
  --ds-blue-600: #0091FF;
  --ds-blue-700: #0070F3;
  --ds-blue-800: #0060D1;
  --ds-blue-900: #52A9FF;
  --ds-blue-1000: #EAF6FF;
  --ds-red-100: #2A1314;
  --ds-red-200: #3D1719;
  --ds-red-300: #551A1E;
  --ds-red-400: #671E22;
  --ds-red-500: #822025;
  --ds-red-600: #E5484D;
  --ds-red-700: #E5484D;
  --ds-red-800: #DA3036;
  --ds-red-900: #FF6369;
  --ds-red-1000: #FEECEE;
  --ds-amber-100: #271700;
  --ds-amber-200: #341C00;
  --ds-amber-300: #4A2900;
  --ds-amber-400: #573300;
  --ds-amber-500: #693F05;
  --ds-amber-600: #E79C13;
  --ds-amber-700: #FFB224;
  --ds-amber-800: #FF990A;
  --ds-amber-900: #F1A10D;
  --ds-amber-1000: #FEF3DD;
  --ds-green-100: #0B2211;
  --ds-green-200: #0F2C17;
  --ds-green-300: #11351B;
  --ds-green-400: #0C461B;
  --ds-green-500: #126427;
  --ds-green-600: #1A9338;
  --ds-green-700: #46A758;
  --ds-green-800: #388E4A;
  --ds-green-900: #63C174;
  --ds-green-1000: #E5FBEB;
  --ds-teal-100: #04201B;
  --ds-teal-200: #062923;
  --ds-teal-300: #083A33;
  --ds-teal-400: #053C34;
  --ds-teal-500: #085E53;
  --ds-teal-600: #0C9784;
  --ds-teal-700: #12A594;
  --ds-teal-800: #0D8C7D;
  --ds-teal-900: #0AC5B3;
  --ds-teal-1000: #E1FAF4;
  --ds-purple-100: #221527;
  --ds-purple-200: #432155;
  --ds-purple-300: #432155;
  --ds-purple-400: #4E2667;
  --ds-purple-500: #5F2D84;
  --ds-purple-600: #8E4EC6;
  --ds-purple-700: #8E4EC6;
  --ds-purple-800: #763DA9;
  --ds-purple-900: #BF7AF0;
  --ds-purple-1000: #F7ECFC;
  --ds-pink-100: #27141C;
  --ds-pink-200: #3C1827;
  --ds-pink-300: #4F1C31;
  --ds-pink-400: #541B33;
  --ds-pink-500: #6C1E3F;
  --ds-pink-600: #B21A57;
  --ds-pink-700: #E93D82;
  --ds-pink-800: #DE2670;
  --ds-pink-900: #F76190;
  --ds-pink-1000: #FEECF4;
  --ds-background-1: #0A0A0A;
  --ds-background-2: #000000;
  --ds-background-1-alpha-80: #0A0A0ACC;
  --ds-background-1-alpha-60: #0A0A0A99;
  --ds-background-elevated-1: #181818;
  --ds-background-elevated-2: #222222;
}

/* Derived tokens. Defined in terms of the theme variables above, so one definition
 * is correct in both themes. */
:root,
[data-theme="dark"] {
  --ds-primary-text: var(--ds-gray-1000);
  --ds-secondary-text: var(--ds-gray-900);
  --ds-icon-bg: transparent;
  --ds-icon-stroke: var(--ds-primary-text);
  --ds-icon-stroke-secondary: var(--ds-secondary-text);
  --ds-background: var(--ds-background-1);
  --ds-background-hover: var(--ds-gray-100);
  --ds-background-active: var(--ds-gray-200);
  --ds-border: var(--ds-gray-400);
  --ds-border-hover: var(--ds-gray-500);
  --ds-border-active: var(--ds-gray-600);
  --ds-border-editable: var(--ds-gray-700);
  --ds-inverted-background: var(--ds-primary-text);
  --ds-inverted-background-hover: var(--ds-secondary-text);
  --ds-inverted-text: var(--ds-background-1);
  --ds-shadow-sm: var(--ds-gray-alpha-100);
  --ds-shadow-focus: var(--ds-gray-alpha-500);
  --ds-font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
  --ds-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --ds-font-serif: "Newsreader", ui-serif, Georgia, serif;
  --ds-font-size-xs: 0.75rem;
  --ds-font-size-sm: 0.875rem;
  --ds-font-size-base: 1rem;
  --ds-font-size-lg: 1.125rem;
  --ds-font-size-xl: 1.25rem;
  --ds-font-size-2xl: 1.5rem;
  --ds-font-size-3xl: 1.875rem;
  --ds-font-size-4xl: 2.25rem;
  --ds-font-weight-regular: 400;
  --ds-font-weight-medium: 500;
  --ds-font-weight-semibold: 600;
  --ds-font-weight-bold: 700;
  --ds-radius-none: 0px;
  --ds-radius-sm: 4px;
  --ds-radius-md: 6px;
  --ds-radius-lg: 8px;
  --ds-radius-xl: 12px;
  --ds-radius-2xl: 16px;
  --ds-radius-full: 9999px;
  --ds-space-0: 0;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-10: 2.5rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-space-20: 5rem;
}
