/* == Darwin design tokens ================================================== *
 * Copied verbatim from darwin-policy-wizard/public/index.html lines 11–49.
 * That :root block IS the Darwin design system — there is no upstream token
 * package. Keep this file byte-identical to it so the two products stay in
 * family; add product-specific values in components.css, never here.
 *
 * Three layers: primitive ramps -> semantic aliases -> component use.
 * Only ever reference the SEMANTIC layer from components.
 * ========================================================================== */
:root{
  /* Primitives — COMPLETE ramp, mirrors Darwin DS colors_and_type.css */
  --primary-50:#E6E6EA; --primary-100:#CECED3; --primary-200:#A0A0AC; --primary-300:#707080; --primary-400:#45454F; --primary-500:#1B1B1F; --primary-600:#151519;
  --gray-50:#FDFEFE; --gray-100:#F6F8F9; --gray-200:#ECF0F1; --gray-300:#CCD1D1; --gray-400:#B2BBBC; --gray-500:#7E8C8D; --gray-600:#657071; --gray-700:#4D5656; --gray-800:#323839; --gray-900:#1B1D1E;
  --blue-100:#F3FCFC; --blue-200:#EAF9FA; --blue-300:#DEF7F7; --blue-400:#D3F4F3; --blue-500:#C8F2F2; --blue-600:#7FE1E1; --blue-700:#3AD0D1; --blue-800:#229090; --blue-900:#104646;
  --green-100:#F3FDDE; --green-200:#E6F8BC; --green-300:#DCF8A0; --green-400:#D0F57F; --green-500:#C3F35D; --green-600:#ADEE20; --green-700:#86BE0E; --green-800:#577B09; --green-900:#2C3D05;
  --red-100:#FADAD6; --red-200:#F6B8B2; --red-300:#F09389; --red-400:#E56F62; --red-500:#E74B3C; --red-600:#D12C1A; --red-700:#9B2112; --red-800:#68160D; --red-900:#320B06;
  --orange-100:#FEE7D3; --orange-200:#FCD0A5; --orange-300:#FBBB7F; --orange-400:#F9A352; --orange-500:#F88B25; --orange-600:#DE6F08; --orange-700:#A85305; --orange-800:#6D3603; --orange-900:#361B03;
  --yellow-100:#FEFDEB; --yellow-200:#FEFCD7; --yellow-300:#FCFAC4; --yellow-400:#FDF9B0; --yellow-500:#FCF79C; --yellow-600:#FAF14D; --yellow-700:#EEE20A; --yellow-800:#9E9705; --yellow-900:#4F4B02;
  --purple-50:#F9F5FF; --purple-100:#E3D7F4; --purple-200:#C7AFE9; --purple-300:#A883DD; --purple-400:#8C5AD2; --purple-500:#7035C4; --purple-600:#5A2A9D; --purple-700:#432074; --purple-800:#2E1650; --purple-900:#170C28;
  --white:#FFFFFF; --black:#000000;
  /* Semantic surfaces */
  --bg-canvas:var(--gray-50); --bg-surface:var(--white); --bg-muted:var(--gray-100); --bg-sunken:var(--gray-200);
  --border-subtle:var(--gray-200); --border-muted:var(--gray-300); --border-strong:var(--gray-600);
  --text-title:var(--primary-500); --text-body:var(--primary-500); --text-subtitle:var(--gray-700); --text-caption:var(--gray-600); --text-disabled:var(--gray-400); --text-on-dark:var(--gray-50); --text-link:var(--blue-800);
  /* Semantic status */
  --success-text:var(--green-800); --success-bg:var(--green-200); --success-border:var(--green-300);
  --warning-text:var(--orange-600); --warning-bg:var(--orange-100); --warning-border:var(--orange-200);
  --error-text:var(--red-600); --error-bg:var(--red-100); --error-border:var(--red-200);
  --info-text:var(--purple-700); --info-bg:var(--purple-100); --info-border:var(--purple-200);
  /* Secondary / accent = PURPLE (chosen direction) */
  --accent-surface:var(--purple-500); --accent-hover:var(--purple-600); --accent-press:var(--purple-700);
  --accent-on-dark:var(--purple-300); --accent-bg:var(--purple-100); --accent-border:var(--purple-200); --accent-text:var(--purple-700);
  /* Radii — tighter DS scale: regular 2 · small 4 · medium 6 · large 8 */
  --radius-xs:1px; --radius-sm:2px; --radius-md:4px; --radius-lg:6px; --radius-xl:8px; --radius-pill:999px;
  /* Elevation — cool-ink drop shadows */
  --shadow-xs:0 1px 2px rgba(27,27,31,.04);
  --shadow-sm:0 1px 2px rgba(27,27,31,.06),0 1px 3px rgba(27,27,31,.05);
  --shadow-md:0 4px 8px rgba(27,27,31,.06),0 2px 4px rgba(27,27,31,.04);
  --shadow-lg:0 12px 24px rgba(27,27,31,.10),0 4px 8px rgba(27,27,31,.04);
  --shadow-xl:0 24px 48px rgba(27,27,31,.14),0 8px 16px rgba(27,27,31,.06);
  --shadow-focus:0 0 0 3px rgba(58,208,209,.35); /* teal focus ring */
  /* Motion */
  --ease-standard:cubic-bezier(.2,0,0,1); --ease-emphasize:cubic-bezier(.3,0,0,1); --ease-in-out:cubic-bezier(.4,0,.2,1);
  --ease:var(--ease-standard); --dur-fast:120ms; --dur-med:200ms; --dur-slow:360ms;
  --font-title:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;
  --font-body:"Inter",ui-sans-serif,system-ui,sans-serif;
  --font-code:"IBM Plex Mono",ui-monospace,monospace;

  /* ---- Additions this product needs that the upstream block lacks ---------
   * Policy-wizard has no spacing scale and no named type sizes; its values are
   * literal but follow a 4px base with a strong 8px rhythm. Naming them here
   * keeps the same rhythm without inventing new numbers. */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px;
  --space-6:24px; --space-8:32px; --space-10:40px; --space-12:48px; --space-14:56px; --space-16:64px;
  --measure-prose:62ch;
  --page-max:1100px;
}
