/* ============================================================================
   AEOptim — GLOBAL COLOR TOKENS. The single source of truth for every surface:
   the site pages, the check + result pages, the kit storefront, and the
   worker-rendered reports. Locked per docs/site-build/BRAND-LOCK.md — never
   invent a hex in page code; if a color isn't here, it doesn't ship.

   PALETTE = CLAY & SAND (locked by Kenny 2026-07-19, replacing the royal-blue
   system; blue is retired). Var names are historic — "--royal" now means THE
   brand clay, "--ink"/"--navy-2" are the espresso darks. Names kept so every
   consumer keeps working.
   ============================================================================ */
:root{
  /* the clay ramp: one clay, ten stops. 600 is THE brand clay. */
  --royal-50:#FBF6F0; --royal-100:#F6EADF; --royal-200:#EFD9C7; --royal-300:#E9C6AC;
  --royal-400:#E0A87F; --royal-500:#C4693F; --royal-600:#AD5236; --royal-700:#8A3F27;
  --royal-800:#6D311E; --royal-900:#522517;
  /* canonical aliases (existing names keep working) */
  --royal:var(--royal-600); --royal-dark:var(--royal-700); --royal-lt:var(--royal-400);
  /* the espresso stack: layered dark surfaces, darkest to raised */
  --ink:#2A1E17; --navy-2:#241912; --ink-2:#38291F; --line-dark:#523E2F;
  /* neutrals (warm) */
  --slate:#6B5B4E; --slate-lt:#A5988A; --dot:#232323;
  --bg:#F8F2E9; --tint:var(--royal-100); --line:#E8DCCB; --white:#fff;
  /* semantic roles: meaning only, never decoration */
  --good:#1A9D6B; --good-lt:#7BE0B0; --good-bg:#E5F6EF;
  --bad:#C0466A; --bad-lt:#FF9BB8; --bad-text:#B3324A; --bad-bg:#FDEEF0; --bad-line:#F3C9D1;
  --warn:#B87514; --warn-bg:#FCF3E8;
  /* the amber whisper (was cyan): aurora + accents only, never UI chrome */
  --cyan:#D98E32;
}
