/* Artifact colour system.
   Values taken from the brand's official colour sheet (hex / RGB / CMYK / PMS).
   These are authoritative — do not re-derive them from the CMYK builds. */
:root{
  /* ---- Inks ---- */
  --ink-black:#000000;      /* C50 M50 Y50 K100 */
  --ink-white:#ffffff;      /* C0  M0  Y0  K0   */
  --ink-blue:#2243e2;       /* C95 M50 Y0   K0  · PMS 285C / 2175U */
  --ink-ochre:#c4820f;      /* C20 M45 Y100 K0  · PMS 1245C / 7550U */
  --ink-red:#fb3d16;        /* C0  M90 Y100 K0  · PMS 2347C / 2347U */
  --ink-marine:#264044;     /* C80 M40 Y40  K40 · PMS 7477C / 309U */
  --ink-green:#3ec166;      /* C80 M0  Y70  K0  · PMS 2414C / 7480U */

  /* ---- Grounds (tinted papers) ---- */
  --ground-ice:#e0eae5;     /* C10 M5  Y10 K0 · PMS 538C / 538U */
  --ground-beige:#efe8c9;   /* C10 M10 Y20 K0 · PMS 7527C / 7527U */
  --ground-caramel:#e4bf8d; /* C10 M25 Y40 K0 · PMS 726C / 726U */
  --ground-gray:#d1d1d1;    /* C15 M15 Y15 K0 · PMS Cool Gray 4C / 4U */
  --ground-khaki:#d1d8bd;   /* C25 M10 Y30 K0 · PMS 5665C / 5665U */

  /* ---- Neutral ramp (UI chrome only, not brand colour) ---- */
  --gray-100:#f2f2f2;
  --gray-200:#e6e6e6;
  --gray-300:#cccccc;
  --gray-400:#b3b3b3;
  --gray-500:#999999;
  --gray-600:#808080;
  --gray-700:#666666;
  --gray-800:#4d4d4d;
  --gray-900:#333333;
  --gray-950:#1a1a1a;

  /* ---- Semantic aliases ---- */
  --surface-page:#ffffff;
  --surface-raised:#ffffff;
  --surface-sunken:var(--gray-100);
  --surface-inverse:var(--ink-black);
  --surface-accent:var(--ink-marine);

  --text-primary:var(--ink-black);
  --text-secondary:var(--gray-700);
  --text-muted:var(--gray-600);
  --text-inverse:#ffffff;
  --text-accent:var(--ink-red);
  --text-link:var(--ink-blue);
  --text-link-hover:var(--ink-marine);

  --border-hairline:var(--gray-300);
  --border-rule:var(--ink-black);
  --border-inverse:rgba(255,255,255,.28);

  --accent-primary:var(--ink-red);
  --accent-secondary:var(--ink-ochre);
  --accent-tertiary:var(--ink-blue);

  /* Approved pattern pairings (fg / ground) */
  --pair-blue-on-ochre-fg:var(--ink-blue);
  --pair-blue-on-ochre-bg:var(--ink-ochre);
  --pair-green-on-ice-fg:var(--ink-green);
  --pair-green-on-ice-bg:var(--ground-ice);
  --pair-marine-on-beige-fg:var(--ink-marine);
  --pair-marine-on-beige-bg:var(--ground-beige);
  --pair-marine-on-green-fg:var(--ink-marine);
  --pair-marine-on-green-bg:var(--ink-green);
  --pair-ochre-on-beige-fg:var(--ink-ochre);
  --pair-ochre-on-beige-bg:var(--ground-beige);
  --pair-red-on-caramel-fg:var(--ink-red);
  --pair-red-on-caramel-bg:var(--ink-ochre);
}
[data-theme="dark"],.artifact-inverse{
  --surface-page:var(--ink-black);
  --surface-raised:var(--gray-950);
  --surface-sunken:#000000;
  --text-primary:#ffffff;
  --text-secondary:var(--gray-400);
  --text-muted:var(--gray-500);
  --text-inverse:var(--ink-black);
  --border-hairline:rgba(255,255,255,.24);
  --border-rule:#ffffff;
  --text-link:#7f95ee;
}
