/*
 * @urbicon-ui/blocks – Neutral Theme
 *
 * Desaturated grayscale palette for content-focused interfaces.
 * Removes color from primary/secondary intents, letting content
 * and status colors (success/warning/danger) stand out.
 *
 * Import AFTER the base styles:
 *
 *   @import '@urbicon-ui/blocks/style/index.css';
 *   @import '@urbicon-ui/blocks/style/themes/neutral.css';
 */

@theme {
  --color-primary-50: oklch(0.96 0.003 240);
  --color-primary-100: oklch(0.92 0.005 240);
  --color-primary-200: oklch(0.84 0.008 240);
  --color-primary-300: oklch(0.76 0.01 240);
  --color-primary-400: oklch(0.65 0.012 240);
  /* L 0.58, not the 0.53 this ramp's spacing would suggest: primary-500 is the
     dark-mode `--color-primary` fill, and dark mode carries dark text on it
     (`--color-text-on-primary`). At 0.53 this grey measured 3.74:1 against
     neutral-900 — the one intent fill in the whole system that missed AA after
     the on-color became mode-aware, because a desaturated mid-grey is the
     hardest case: no lightness clears AA against BOTH white and neutral-900
     (proved in style/contrast.test.ts). 0.58 is the lowest step on this
     ramp's 0.01 grid that clears it (4.59:1; the true crossing is 0.574 =
     4.50:1, i.e. no margin at all). Monotonicity holds (0.65 > 0.58 > 0.43). */
  --color-primary-500: oklch(0.58 0.012 240);
  --color-primary-600: oklch(0.43 0.012 240);
  --color-primary-700: oklch(0.36 0.01 240);
  --color-primary-800: oklch(0.29 0.008 240);
  --color-primary-900: oklch(0.22 0.005 240);
  --color-primary-950: oklch(0.15 0.003 240);

  --color-secondary-50: oklch(0.96 0.003 240);
  --color-secondary-100: oklch(0.92 0.005 240);
  --color-secondary-200: oklch(0.84 0.008 240);
  --color-secondary-300: oklch(0.76 0.01 240);
  --color-secondary-400: oklch(0.65 0.012 240);
  --color-secondary-500: oklch(0.53 0.012 240);
  --color-secondary-600: oklch(0.43 0.012 240);
  --color-secondary-700: oklch(0.36 0.01 240);
  --color-secondary-800: oklch(0.29 0.008 240);
  --color-secondary-900: oklch(0.22 0.005 240);
  --color-secondary-950: oklch(0.15 0.003 240);

  /*
   * Chassis neutral ramp — pure grayscale (chroma 0). The library default
   * neutral carries a faint cool tint (Hue 240, chroma ~0.01); this theme
   * strips it entirely so surfaces, text and borders read as a true,
   * temperature-free grayscale — the most content-focused chassis the system
   * ships. Lightness matches the foundation ramp one-to-one, so WCAG
   * contrast stays unchanged. surface-*, text-* and border-* pick this up
   * automatically through semantic.css.
   */
  --color-neutral-25: oklch(0.985 0 0);
  --color-neutral-50: oklch(0.965 0 0);
  --color-neutral-100: oklch(0.95 0 0);
  --color-neutral-200: oklch(0.89 0 0);
  --color-neutral-300: oklch(0.83 0 0);
  --color-neutral-400: oklch(0.7 0 0);
  --color-neutral-500: oklch(0.55 0 0);
  --color-neutral-600: oklch(0.42 0 0);
  --color-neutral-650: oklch(0.38 0 0);
  --color-neutral-700: oklch(0.32 0 0);
  --color-neutral-750: oklch(0.28 0 0);
  --color-neutral-800: oklch(0.23 0 0);
  --color-neutral-850: oklch(0.18 0 0);
  --color-neutral-900: oklch(0.15 0 0);
  --color-neutral-950: oklch(0.08 0 0);
}
