/* CloudHedge design tokens — the single source of truth for brand colour and shape.
 *
 * SELECTOR-FREE ON PURPOSE. Nothing but :root{} lives here, so this file can be
 * linked into any document — including the server-rendered gated pages (/admin/*,
 * /shared/, /reports/, /view/, /watch/), which are Cloudflare Pages Functions and
 * never pass through 11ty. Linking shared.css into those would be unsafe: it carries
 * bare nav{} / section{} / a{} rules and its own .card, which collide with the gated
 * pages' .card / .stat / .tabs.
 *
 * Extracted out of shared.css so there is ONE palette, not two. The gated Functions
 * previously hardcoded their own — and, tellingly, hardcoded #03050f, which is not
 * even this site's background (#0f0c1d). They were carrying the starter kit's colours,
 * so CloudHedge's own admin pages didn't match CloudHedge.
 *
 * functions/_lib/theme-config.js MAPS the gated pages' --rp-* tokens onto these
 * variables. Change a value here and it reaches the marketing site AND the admin
 * tools AND the report chrome, with no second copy to keep in step.
 *
 * Load order matters: tokens.css BEFORE shared.css.
 */

:root{
  --bg:#0f0c1d;--bg2:#161128;
  --surface:rgba(22,17,40,0.7);--surface2:#1d1833;
  --blue:#6222ff;--blue-dim:#2020a0;--blue-light:#a78bfa;
  --magenta:#ff0bf9;--cyan:#22d3ee;
  --green:#34d399;--red:#ef4444;--orange:#fb923c;--yellow:#fbbf24;
  --text:#eef2ff;--muted:#a6b2d6;--dim:#8191b6;
  --border:rgba(255,255,255,0.07);--border-blue:rgba(98,34,255,0.2);
  --radius:12px;--radius-lg:16px;

  /* Surfaces the gated admin needs but the marketing site never named. Derived from
   * the palette above (lifts off --bg), not invented: rows, inputs and pressed states
   * need three distinct elevations and the site only ever defined two. */
  --surface3:#241d3f;
  --rule:#1a1530;
  --border2:#2f2750;
}
