/* Ziran design tokens — "The Sunlit Workbench".
   Contrast pairs are verified by tools/contrast.mjs; keep both in sync. */

:root {
  color-scheme: light;

  /* Color — daylight neutrals, one hot signal. */
  --desk: oklch(0.955 0.004 352);
  --surface: oklch(1 0 0);
  --panel: oklch(0.972 0.0035 352);
  --panel-deep: oklch(0.945 0.005 352);
  --ink: oklch(0.205 0.012 352);
  --ink-muted: oklch(0.46 0.015 352);
  --ink-faint: oklch(0.62 0.012 352); /* disabled only, never information */
  --line: oklch(0.885 0.006 352);
  --line-soft: oklch(0.925 0.005 352);

  /* The Hot Signal. Fills carry white text (4.84:1); the full-chroma anchor
     is reserved for strokes, dots, and small non-text marks. */
  --signal: oklch(0.58 0.22 352);
  --signal-hover: oklch(0.54 0.21 352);
  --signal-strong: oklch(0.647 0.263 352);
  --signal-ink: oklch(0.5 0.21 352);
  --signal-tint: oklch(0.965 0.02 352);
  --signal-tint-strong: oklch(0.93 0.045 352);

  --danger: oklch(0.5 0.19 27);
  --danger-tint: oklch(0.965 0.018 27);
  --on-signal: oklch(1 0 0);

  /* The home base wears the ink banner; these carry text on it. */
  --on-ink: oklch(1 0 0);
  --on-ink-muted: oklch(0.75 0.012 352);

  /* Type — one tuned system sans; documents carry their own voice. */
  --font-ui: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --font-doc-serif: 'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif;
  --font-mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

  --text-xs: 0.6875rem;   /* 11 — tracked caps micro-labels only */
  --text-sm: 0.8125rem;   /* 13 — secondary UI, metadata */
  --text-ui: 0.875rem;    /* 14 — default UI */
  --text-md: 1rem;        /* 16 — emphasized UI, doc body floor */
  --text-lg: 1.1875rem;   /* 19 — window/section titles */
  --text-xl: 1.4375rem;   /* 23 — base-window greeting */

  --w-regular: 400;
  --w-medium: 500;
  --w-semibold: 600;

  /* Space — 4pt scale. */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;

  /* Shape */
  --r-sm: 6px;
  --r-md: 10px;
  --r-full: 999px;

  /* Depth — flat at rest; shadow answers state (focus, drag, transient). */
  --shadow-window: 0 1px 2px oklch(0.2 0.02 352 / 0.05);
  --shadow-window-focus:
    0 2px 6px oklch(0.2 0.02 352 / 0.07),
    0 14px 36px oklch(0.2 0.02 352 / 0.13);
  --shadow-drag:
    0 4px 10px oklch(0.2 0.02 352 / 0.1),
    0 24px 56px oklch(0.2 0.02 352 / 0.2);
  --shadow-pop:
    0 2px 6px oklch(0.2 0.02 352 / 0.08),
    0 12px 32px oklch(0.2 0.02 352 / 0.16);

  /* Motion — responsive, never choreographed. */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --t-fast: 120ms;
  --t-med: 200ms;
  --t-slow: 300ms;

  /* Z — semantic scale. Desk windows live in 10–499, managed by the store. */
  --z-drag: 500;
  --z-popover: 600;
  --z-toast: 700;
}
