/* tokens.css — the only file that values a colour, size, space, radius,
   duration or easing. Every value is the plugin's own (solvedagain-wordpress/
   assets/tokens.css, ADR WP-10) or derived from it and measured. */

:root {
  /* @scope paper — the marketing ground, fixed, never theme-flips */
  --paper: #ffffff;          /* the reference's ground: pure white is the anchor (G3), not the violation */
  --surface: #ffffff;
  --sunk: #f3f1fc;           /* the wash band: OKLCH L 96, C 0.03 — a violet-tinted second ground, the reference's #F2F7FD re-tempered */
  --wash: #f3f1fc;
  --wash-deep: #e9e5f9;
  --line: #e4e2ef;
  --line-soft: #eeecf6;
  --line-strong: #6f7889;
  --ink: #1b2141;            /* 15.6:1 on white */
  --band: #5b21c9;           /* the hero band: the accent as ground */
  --band-deep: #4a1ba6;
  --band-ink: #ffffff;
  --band-ink-soft: #e6dcff;  /* 9.4:1 on band */
  --ink-soft: #465163;       /* 7.6:1 */
  --ink-faint: #5a6172;      /* 5.9:1 */
  --accent: #5b21c9;         /* signal violet, C 0.21 — 7.9:1 on paper, text-legal */
  --accent-deep: #4a1ba6;
  --accent-bright: #7c3aed;  /* decorative only on paper (4.4:1) */
  --accent-wash: #efeaff;
  --accent-wash-strong: #ddd3ff;
  --accent-ink: #f4f0ff;     /* ink on an accent fill */
  --pass-ink: #0b6b3a;  --pass-bg: #dff5e7;
  --warn-ink: #7a4d00;  --warn-bg: #fdf0d3;
  --fail-ink: #a52a1c;  --fail-bg: #fbe7e4;
  --mute-ink: #535c6b;  --mute-bg: #eceef2;   /* "could not measure": colourless by design */
  --dots: #dfe3ee;
  /* the shop tiles: the ground under each illustration, sampled from the art itself
     so the band never flashes white before the image lands. The art carries the colour;
     these are its exact grounds, not a designer's guess. */
  --tile-free: #0a5c3b;
  --tile-founders: #411895;
  --tile-commerce: #0b5f51;
  --tile-premier: #38107f;
  --tile-ribbon-bg: #fff3b0;        /* the reference's badge yellow; 13.6:1 under --ink */
  --tile-ribbon-ink: #1b2141;
  --d-breathe: 9s;                  /* the ambient drift on a tile's art */
  --focus: #5b21c9;
  --selection: #ddd3ff;

  /* @scope slate — the instrument ground; applied by .slate */
  --slate: #1d2440;          /* OKLCH L 24, C 0.06 */
  --slate-sunk: #151b30;
  --slate-surface: #242b47;
  --slate-line: #364060;
  --slate-line-soft: #2d3550;
  --slate-ink: #e8ebf5;      /* 12.9:1 on slate */
  --slate-ink-soft: #aab3c5; /* 7.1:1 */
  --slate-ink-faint: #9aa3b5;
  --needle: #3fe8a6;         /* the plugin's dark-scheme accent — lives only on slate */
  --needle-deep: #2fd191;
/* the five engines wear their own marks in the hero — the one place on this site where a
   colour is not ours to choose. Each is lightened until it clears 3:1 on the band. */
--engine-chatgpt: #86bfb0;
--engine-gemini: #8ab4f8;
--engine-claude: #e8927c;
--engine-grok: #ffffff;
--engine-perplexity: #35c6d9;
--t-engine: 24px;
  --slate-fail: #ff9e8f;
  --slate-warn: #f0c86a;
  --slate-pass: #7ee2a8;

  /* type — nine steps */
  --font-display: "Bricolage Grotesque", "Archivo", ui-sans-serif, system-ui, sans-serif;
  --font-body: "Geist", ui-sans-serif, system-ui, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  --t-display: clamp(38px, 4vw, 56px);   /* G2 middle zone, on purpose: the reference's 42px consumer scale, declared T10 */
  --t-h1: clamp(32px, 3.4vw, 44px);
  --t-h2: 36px;
  --t-h3: 24px;
  --t-h4: 20px;
  --t-body: 17px;
  --t-small: 15px;
  --t-label: 13px;
  --t-tick: 12px;
  --w-display: 620;
  --w-body: 420;
  --w-strong: 560;
  --w-mono: 500;
  --track-display: -0.02em;
  --track-label: 0.08em;
  --lh-display: 1.12;
  --lh-head: 1.2;
  --lh-body: 1.65;
  --measure: 64ch;

  /* space, 8px base */
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px; --s-6: 32px;
  --s-7: 48px; --s-8: 64px; --s-9: 96px; --s-10: 128px;
  --content: 1200px;
  --margin: clamp(20px, 8.3vw, 120px);
  --gutter: 24px;
  --dot-pitch: 8px;

  /* radius */
  --r: 4px; --r-lg: 10px; --r-xl: 16px; --r-round: 999px;

  /* elevation — instruments only */
  --shadow-1: 0 1px 2px rgba(26,34,51,.06), 0 1px 1px rgba(26,34,51,.04);
  --shadow-2: 0 2px 10px rgba(0,0,0,.1), 0 0 2px rgba(0,0,0,.2);   /* the reference's card shadow, verbatim */
  --shadow-3: 0 4px 16px rgba(0,0,0,.1);
  --shadow-instrument: 0 24px 64px rgba(27,33,65,.22), 0 4px 12px rgba(27,33,65,.12);

  /* motion */
  --motion: 1;
  --d-fast: 150ms; --d-quick: 180ms; --d-move: 260ms; --d-dial: 700ms; --d-chart: 900ms;
  --ease-out: cubic-bezier(.2, 0, 0, 1);
  --ease-in-out: cubic-bezier(.45, 0, .15, 1);
  --ease-settle: linear(0, .32 8%, .6 16%, .84 24%, 1.02 34%, 1.06 44%, 1.03 56%, 1 70%, 1);
  --heave: 12px;
  --stagger: 60ms;
  --blink: 1.06s;
  --tick: 6s;
}

@media (prefers-reduced-motion: reduce) {
  :root { --motion: 0; --d-fast: 0ms; --d-quick: 0ms; --d-move: 0ms; --d-dial: 0ms; --d-chart: 0ms; --heave: 0px; --stagger: 0ms; }
}
