/* ============================================================================
   Purple Ruler proposals: shared brand token layer.      /_assets/pr.css
   ----------------------------------------------------------------------------
   HOW THIS WORKS, AND WHY IT IS SAFE

   This file is loaded FIRST, BEFORE each page's own <style> block. That makes it
   a DEFAULT PROVIDER, not an override. A page that declares its own value for a
   token still wins. Nothing here can change a page that has already made a
   deliberate choice.

   That is the whole design:
     - a page that declares nothing inherits the house brand
     - a page that declares something keeps its variation
     - a VI update = edit this file once

   For a VI change to reach an existing page, that page must not be re-declaring
   the token with the identical value. Those redundant copies are what
   `dedupe_tokens.py` strips: it removes a local declaration ONLY when it is
   byte-identical to the canonical value below, so genuine variation is never
   touched. Run the audit afterwards.

   ADDING A TOKEN: safe, no page declares it yet, so every page picks it up.
   CHANGING A TOKEN: changes every page that inherits it. Check the blast radius
   first:  python3 proposal_conformance.py --check inherits

   DO NOT put component styles in here. Tokens only. A component rule would have
   to out-specify 277 pages of inline CSS, and the ones it lost to would look
   half-migrated. Components belong in the page, per PROPOSAL_STANDARD.md.
   ============================================================================ */

:root {
  /* purple ramp ---------------------------------------------------------- */
  --p4: #9a4fd0;
  --p5: #822fbf;
  --p6: #6b21a8;
  --p7: #4a1a6e;
  --p8: #3a1366;
  --p9: #2c0d4f;
  --purple-400: #9a4fd0;
  --purple-500: #822fbf;
  --purple-600: #6b21a8;
  --purple-700: #4a1a6e;
  --purple-800: #3a1366;
  --purple-900: #2c0d4f;

  /* accents -------------------------------------------------------------- */
  --gold: #ffc629;
  --gold-deep: #f3ad00;
  --orange: #f0682a;
  --orange-deep: #d8521a;
  --teal: #15bdbd;
  --blue: #2e5fe8;
  --green: #1f9d57;
  --red: #e0556b;
  --amber: #f0a32a;

  /* neutrals / surfaces --------------------------------------------------- */
  --ink: #1c1230;
  --soft: #5a5070;
  --faint: #8a82a0;
  --ink-faint: #8a82a0;
  --paper: #f7f3fc;
  --card: #fff;
  --line: #e6def2;
  --lav: #f3ecfa;
  --lav-100: #f3ecfa;
  --lav2: #e7d8f6;

  /* elevation ------------------------------------------------------------- */
  --sh: 0 18px 48px -22px rgba(60, 20, 110, .45);
  --shadow: 0 18px 48px -22px rgba(60, 20, 110, .45);
  --shs: 0 8px 24px -14px rgba(60, 20, 110, .4);

  /* layout ---------------------------------------------------------------- */
  --maxw: 1080px;

  /* type: new tokens, no existing page declares these, so they are additive */
  --font-head: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body: 'Mulish', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
