/* Vendored verbatim from @fikar/design@0.4.0 by scripts/fetch-design.sh; do not edit. */
/* @fikar/design — Ink design tokens. THE single source of truth.
   HSL triplets (no hsl() wrapper) so consumers compose them: hsl(var(--primary) / .5).
   Two parts: (1) raw --fk-* ramp (theme-independent), (2) shadcn semantic roles (:root + .dark).
   docs-site (Docusaurus) imports this and aliases its own --ifm-* vars to the --fk-* ramp;
   it does NOT use the .dark block (Docusaurus toggles [data-theme='dark']).
   Mirrors docs/design-language.md. Direction = Ink. */

:root {
  /* ── raw ramp: cool-gray neutrals (hue ~220) ── */
  --fk-n0: 0 0% 100%;
  --fk-n50: 220 20% 98%;
  --fk-n100: 220 16% 96%;
  --fk-n200: 220 14% 91%;
  --fk-n300: 220 12% 84%;
  --fk-n400: 220 9% 64%;
  --fk-n500: 220 8% 46%;
  --fk-n600: 220 11% 34%;
  --fk-n700: 221 14% 24%;
  --fk-n800: 222 18% 15%;
  --fk-n900: 222 22% 10%;
  --fk-n950: 222 26% 6%;
  /* brand blue — full 10-step spec ramp (design-language.md §3.2) */
  --fk-blue50: 214 100% 97%;
  --fk-blue100: 214 96% 93%;
  --fk-blue200: 213 95% 86%;
  --fk-blue300: 212 93% 76%;
  --fk-blue400: 213 90% 64%;
  --fk-blue500: 214 88% 54%;
  --fk-blue600: 215 88% 48%;
  --fk-blue700: 216 84% 40%;
  --fk-blue800: 217 78% 33%;
  --fk-blue900: 217 70% 27%;
  /* semantic */
  --fk-success: 152 55% 38%;
  --fk-warning: 33 92% 46%;
  --fk-error: 2 72% 48%;
  /* data viz */
  --fk-chart1: 214 88% 54%;
  --fk-chart2: 258 68% 62%;
  --fk-chart3: 178 58% 40%;
  --fk-chart4: 33 90% 52%;

  /* ── shadcn semantic roles (light) — full superset the apps reference ── */
  --background: var(--fk-n50);
  --foreground: var(--fk-n800);
  --card: var(--fk-n0);
  --card-foreground: var(--fk-n800);
  --popover: var(--fk-n0);
  --popover-foreground: var(--fk-n800);
  --primary: var(--fk-blue600);
  --primary-foreground: var(--fk-n0);
  --secondary: var(--fk-n100);
  --secondary-foreground: var(--fk-n800);
  --muted: var(--fk-n100);
  --muted-foreground: var(--fk-n500);
  --accent: var(--fk-blue50);
  --accent-foreground: var(--fk-blue700);
  --destructive: var(--fk-error);
  --destructive-foreground: var(--fk-n0);
  --success: var(--fk-success);
  --success-foreground: var(--fk-n0);
  --warning: var(--fk-warning);
  --warning-foreground: var(--fk-n0);
  --info: var(--fk-blue600);
  --info-foreground: var(--fk-n0);
  --border: var(--fk-n200);
  --input: var(--fk-n300);
  --ring: var(--fk-blue500);

  /* shape — --radius is shadcn's base (lg). md = -2px = 6px controls, sm = -4px. */
  --radius: 0.5rem;
  --r-sm: 6px;
  --r-md: 8px;
  --r-lg: 12px;

  /* depth + motion */
  --shadow-sm: 0 2px 8px -2px hsl(var(--fk-n950) / 0.1);
  --shadow-md: 0 8px 24px -6px hsl(var(--fk-n950) / 0.14);
  --fast: 150ms;
  --base: 200ms;
  --ease: cubic-bezier(0.2, 0, 0, 1);
}

/* ── dark (Tailwind `class` strategy — the 5 apps). docs-site does NOT use this. ── */
.dark {
  --background: var(--fk-n900);
  --foreground: var(--fk-n50);
  --card: var(--fk-n800);
  --card-foreground: var(--fk-n50);
  --popover: var(--fk-n800);
  --popover-foreground: var(--fk-n50);
  --primary: var(--fk-blue500);
  --primary-foreground: var(--fk-n950);
  --secondary: 222 16% 18%;
  --secondary-foreground: var(--fk-n50);
  --muted: 222 16% 18%;
  --muted-foreground: var(--fk-n400);
  --accent: 216 60% 18%;
  --accent-foreground: 214 96% 93%;
  --destructive: 2 78% 62%;
  --destructive-foreground: var(--fk-n950);
  --success: 152 50% 52%;
  --success-foreground: var(--fk-n950);
  --warning: 36 90% 58%;
  --warning-foreground: var(--fk-n950);
  --info: var(--fk-blue500);
  --info-foreground: var(--fk-n950);
  --border: 222 14% 22%;
  --input: 222 14% 26%;
  --ring: var(--fk-blue500);
  --shadow-sm: 0 2px 10px -2px hsl(0 0% 0% / 0.45);
  --shadow-md: 0 8px 28px -4px hsl(0 0% 0% / 0.5);
}
