/* AZ Design System — Color tokens
   Source of truth: az-site-system/assets/css/az-components.css :root
   Three-layer model: primitives → tokens → semantic aliases.
   Editorial palette: near-black ink on white, with Jewish Museum cobalt blue
   (primary) and a sparing magenta accent. */

:root {
  /* ---- Primitives ---- */
  --az-primitive-text: #15111a;            /* near-black reading ink */
  --az-primitive-neutral-muted: #57505d;   /* muted body / captions — ≥7:1 on white (WCAG AAA) */
  --az-primitive-neutral-line: #aaa4b7;    /* hairline rules */
  --az-primitive-neutral-soft: #ece8f3;    /* soft neutral fill */
  --az-primitive-violet-primary: #0047ab;  /* primary signal — Jewish Museum cobalt blue (Sagmeister & Walsh) */
  --az-primitive-blue-support: #006edb;    /* support signal */
  --az-primitive-blue-support-bright: #3d94f6; /* support signal on inverse — 5.6:1 on surface-inverse (WCAG AA) */
  --az-primitive-magenta-accent: #b3138d;  /* sparing accent */
  --az-primitive-violet-soft: #e6edfb;     /* soft primary (cobalt-tinted) surface */
  --az-primitive-blue-soft: #e8f5ff;       /* soft blue surface */
  --az-primitive-magenta-soft: #fce8f6;    /* soft magenta surface */
  --az-primitive-success: #246b45;
  --az-primitive-warning: #8a5a00;
  --az-primitive-danger: #c62828;

  /* ---- Tokens (resolved roles) ---- */
  --az-token-text: var(--az-primitive-text);
  --az-token-text-muted: var(--az-primitive-neutral-muted);
  --az-token-border: color-mix(in srgb, var(--az-primitive-neutral-line) 78%, transparent);
  --az-token-border-strong: color-mix(in srgb, var(--az-primitive-text) 36%, var(--az-primitive-neutral-line) 64%);
  --az-token-surface: #ffffff;
  --az-token-surface-subtle: color-mix(in srgb, var(--az-primitive-violet-soft) 62%, var(--az-token-surface) 38%);
  --az-token-surface-band: color-mix(in srgb, var(--az-primitive-blue-soft) 68%, var(--az-token-surface) 32%);
  --az-token-surface-accent: color-mix(in srgb, var(--az-primitive-magenta-soft) 52%, var(--az-primitive-violet-soft) 48%);
  --az-token-surface-inverse: #01183f;     /* bold dark band — deep cobalt, not neutral black */
  --az-token-surface-inverse-panel: color-mix(in srgb, #ffffff 9%, var(--az-token-surface-inverse) 91%);
  --az-token-signal-primary: var(--az-primitive-violet-primary);
  --az-token-signal-support: var(--az-primitive-blue-support);
  --az-token-signal-support-inverse: var(--az-primitive-blue-support-bright);
  --az-token-accent: var(--az-primitive-magenta-accent);

  /* ---- Action tokens ---- */
  --az-token-action-primary-bg: var(--az-token-signal-primary);
  --az-token-action-primary-text: var(--az-token-surface);
  --az-token-action-secondary-border: color-mix(in srgb, var(--az-token-signal-primary) 30%, var(--az-primitive-neutral-line) 70%);
  --az-token-action-secondary-text: var(--az-token-signal-primary);
  --az-token-action-disabled-bg: color-mix(in srgb, var(--az-token-surface-subtle) 88%, var(--az-token-surface) 12%);
  --az-token-action-disabled-border: var(--az-token-border);
  --az-token-action-disabled-text: var(--az-token-text-muted);
  --az-token-focus-color: color-mix(in srgb, var(--az-token-signal-primary) 68%, var(--az-token-signal-support) 32%);
  --az-token-focus: 2px solid var(--az-token-focus-color);
  /* Action elevation — intentionally flat (parity with plugin :root). */
  --az-token-action-shadow-rest: none;
  --az-token-action-shadow-hover: none;
  --az-token-action-shadow-pressed: none;

  /* ---- Semantic aliases (author-facing) ---- */
  --az-color-text: var(--az-token-text);
  --az-color-bg: var(--az-token-surface);
  --az-color-muted: var(--az-token-text-muted);
  --az-color-accent: var(--az-token-signal-primary);
  --az-color-accent-support: var(--az-token-signal-support);
  --az-color-accent-support-inverse: var(--az-token-signal-support-inverse);
  --az-color-accent-pink: var(--az-token-accent);
  --az-color-violet-soft: var(--az-primitive-violet-soft);
  --az-color-neutral-soft: var(--az-primitive-neutral-soft);
  --az-color-neutral-line: var(--az-primitive-neutral-line);
  --az-color-neutral-muted: var(--az-token-text-muted);
  --az-color-border: var(--az-token-border);
  --az-color-border-strong: var(--az-token-border-strong);
  --az-color-panel: var(--az-token-surface-subtle);
  --az-color-band: var(--az-token-surface-band);
  --az-color-surface: var(--az-token-surface);
  --az-color-inverse: var(--az-token-surface-inverse);
  --az-color-inverse-panel: var(--az-token-surface-inverse-panel);
  --az-color-accent-band: var(--az-token-surface-accent);
  --az-color-success: var(--az-primitive-success);
  --az-color-success-bg: #edf8f1;
  --az-color-warning: var(--az-primitive-warning);
  --az-color-warning-bg: #fff6df;
  --az-color-danger: var(--az-primitive-danger);
  --az-color-danger-bg: #fceeee;
  --az-color-neutral-bg: #f4f2f8;

  /* ---- Preview / archive card roles (parity with plugin :root) ---- */
  --az-preview-card-bg: var(--az-token-surface-subtle);
  --az-preview-card-border: var(--az-token-border-strong);
  --az-preview-card-accent: var(--az-token-signal-support);
}
