/* ============================================================
   Question Pilot — canonical design tokens
   ------------------------------------------------------------
   This file is the SINGLE SOURCE OF TRUTH for the shared
   cool-neutral colour, radius, and shadow system across both
   product surfaces (apps/website and apps/app).

   - Website pages <link> this file directly (cache-busted).
   - The app (apps/app/index.html) cannot link it (separate
     Netlify publish root), so scripts/sync-app-tokens.mjs reads
     this file and regenerates the comment-delimited :root block
     inside the app's index.html. The audits run that script in
     --check mode to verify the delimited block's structure; value
     drift is reported but not failed until QUE-29 runs --write.

   Humans never hand-sync tokens. Edit values here only.

   Constraint: no color-mix() / oklch() — they fail silently on
   older enterprise browsers (B2B audience). Alpha variants are
   precomputed rgba() values.
   ============================================================ */

:root {
  /* --- Surfaces ------------------------------------------- */
  --qp-bg: #fbfdfd;
  --qp-bg-tint: #f4f9f8;
  --qp-surface: #f8fbfb;
  --qp-surface-deep: #e7eeee;
  --qp-card: #feffff;
  --qp-card-muted: var(--qp-surface);

  /* --- Ink ------------------------------------------------ */
  --qp-ink: #1d1d1f;
  --qp-ink-soft: #424245;
  --qp-muted: #6e6e73;
  --qp-muted-light: #9b9ba1;
  --qp-on-dark: #f9fffe;

  /* --- Brand accent --------------------------------------- */
  --qp-accent: #2a5c59;
  --qp-accent-hover: #3a7673;
  --qp-accent-strong: #1f4745;
  --qp-accent-soft: rgba(42, 92, 89, 0.12);
  --qp-accent-mint: #6ecfcb;

  /* --- Borders / rules ------------------------------------ */
  --qp-border: rgba(0, 0, 0, 0.08);
  --qp-border-strong: rgba(0, 0, 0, 0.14);
  --qp-rule: rgba(0, 0, 0, 0.1);

  /* --- Semantic status ------------------------------------ */
  --qp-danger: #b91c1c;
  --qp-danger-bg: #fef2f2;
  --qp-danger-border: #fecaca;
  --qp-warning: #92400e;
  --qp-warning-bg: #fef3c7;
  --qp-warning-border: #fcd34d;
  --qp-success: #166534;
  --qp-success-bg: #f0fdf4;
  --qp-success-border: #86efac;

  /* --- Radius scale --------------------------------------- */
  --qp-radius-sm: 6px;
  --qp-radius-md: 8px;
  --qp-radius-lg: 12px;
  --qp-radius-xl: 18px;
  --qp-radius-pill: 999px;

  /* --- Shadow scale --------------------------------------- */
  --qp-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
  --qp-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.045);
  --qp-shadow-lg: 0 18px 50px rgba(0, 0, 0, 0.08);
  --qp-shadow-card:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 1px 2px rgba(0, 0, 0, 0.035),
    0 12px 32px -14px rgba(0, 0, 0, 0.16);

  /* --- Typography (family only; scales are surface-local) - */
  --font-sans: Geist, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "Geist Mono", "SFMono-Regular", Consolas, monospace;
}
