/* Cascade colour. 60 / 30 / 10:
   60 — light bone ground and its panel tints.
   30 — one pillar colour per scope (canary / verdigris), graphic use only.
   10 — azure accent, CTAs and key interface only.
   Anchor and the cool neutral scale carry every piece of type.

   The pairing that does the work is canary against azure, with verdigris
   holding the second pillar. Nothing warm-red appears in the system. */

:root {
  /* --- 60 · Base ground --- */
  --c-ground: #FAF6EC;          /* light bone — the page */
  --c-panel: #F2EBDA;           /* cards, wells, rails */
  --c-panel-deep: #E9E0CB;      /* nested wells, table zebra */

  /* --- Anchor + neutral scale. All type comes from here. Ratios on ground. --- */
  --c-ink: #111A26;             /* anchor — cool near-black · 16.2:1 */
  --c-ink-soft: #33404F;        /* secondary prose · 9.8:1 */
  --c-muted: #5C6875;           /* captions, labels, table meta · 5.3:1 */
  --c-muted-light: #7A8794;     /* 3.4:1 — large text (>=24px / 19px bold) and rules only */
  --c-hairline: rgba(17, 26, 38, 0.16);
  --c-overlay: rgba(17, 26, 38, 0.55);

  /* --- 30 · Pillar: Origins (canary). Technical / financial register. --- */
  --c-origins-fill: #F0C22B;    /* fields, rules, blocks, section markers */
  --c-origins-deep: #14243A;    /* dark diagram element, pressed fill — navy, not gold:
                                   canary cannot darken without going brown */
  --c-origins-tint: #FDF0C6;    /* wash behind Origin figures */

  /* --- 30 · Pillar: Landscape (verdigris). Spatial / geospatial register. --- */
  --c-landscape-fill: #2FBBA7;
  --c-landscape-deep: #0E6D62;
  --c-landscape-tint: #DBF2EE;

  /* --- 10 · Accent. CTAs, key interface, pop-ups. Never decoration. --- */
  --c-accent: #1B5FA8;          /* azure — 6.0:1 on ground, so it may also carry type */
  --c-accent-deep: #144A82;     /* hover / pressed */
  --c-accent-type: #1B5FA8;

  /* --- Flag. Threshold breaches only, never branding. --- */
  --c-flag: #F2703A;            /* orange · 2.9:1, so fill, rule and mark only */
  --c-flag-wash: #F8CDB8;       /* the flagged row itself; anchor on it is 12.0:1 */
  --c-flag-type: #CE3A14;       /* the dark step, for breach text · 4.6:1 */

  /* --- Semantic. UI only. --- */
  --c-danger: #CE3A14;
  --c-success: #0E6D62;
  --c-warning: #F0C22B;
  --c-disabled-bg: #EFE9DB;
  --c-disabled-ink: #A7A9AD;

  /* --- Skeleton (loading rows, lightest last) --- */
  --c-skeleton-1: #E5DCC7;
  --c-skeleton-2: #EDE5D3;
  --c-skeleton-3: #F4EEE1;

  /* --- Data visualisation: categorical, in order. Six series maximum.
         The flag red is never a series — it only marks a breach. --- */
  --c-series-1: #111A26;
  --c-series-2: #1B5FA8;
  --c-series-3: #2FBBA7;
  --c-series-4: #F0C22B;
  --c-series-5: #5C6875;
  --c-series-6: #86AFD6;

  /* --- Sequential: Origin ramp (azure). Canary is Origin's flat brand fill; its
         sequential ramp is blue, because yellow browns as it darkens. --- */
  --c-ramp-origins-1: #E4EDF7;
  --c-ramp-origins-2: #C0D6EC;
  --c-ramp-origins-3: #86AFD6;
  --c-ramp-origins-4: #4A87BE;
  --c-ramp-origins-5: #1B5FA8;
  --c-ramp-origins-6: #0F3B6B;

  /* --- Sequential: Landscape ramp (verdigris) --- */
  --c-ramp-landscape-1: #DBF2EE;
  --c-ramp-landscape-2: #AEE3DB;
  --c-ramp-landscape-3: #6FCEC0;
  --c-ramp-landscape-4: #2FBBA7;
  --c-ramp-landscape-5: #189184;
  --c-ramp-landscape-6: #0B5A52;

  /* --- Semantic aliases --- */
  --surface-page: var(--c-ground);
  --surface-card: var(--c-panel);
  --surface-inverse: var(--c-ink);
  --surface-disabled: var(--c-disabled-bg);
  --text-body: var(--c-ink);
  --text-secondary: var(--c-ink-soft);
  --text-muted: var(--c-muted);
  --text-inverse: var(--c-ground);
  --text-link: var(--c-accent);
  --text-link-hover: var(--c-ink);
  --text-disabled: var(--c-disabled-ink);
  --border-hairline: var(--c-hairline);
  --border-strong: var(--c-ink);

  /* --- Active pillar. Set data-pillar on a scope to retheme a whole subtree.
         --pillar-type is the anchor in every scope: type never takes a pillar hue.
         Both pillar fills take anchor type, so --pillar-on-fill is constant. --- */
  --pillar-fill: var(--c-origins-fill);
  --pillar-deep: var(--c-origins-deep);
  --pillar-tint: var(--c-origins-tint);
  --pillar-type: var(--c-ink);
  --pillar-active: var(--c-origins-deep);
  --pillar-on-fill: var(--c-ink);
}

[data-pillar='origins'] {
  --pillar-fill: var(--c-origins-fill);
  --pillar-deep: var(--c-origins-deep);
  --pillar-tint: var(--c-origins-tint);
  --pillar-type: var(--c-ink);
  --pillar-active: var(--c-origins-deep);
  --pillar-on-fill: var(--c-ink);      /* anchor on canary · 10.3:1 */
  --b-rule: 2px solid var(--c-origins-fill);
  --b-band: 8px solid var(--c-origins-fill);
}

[data-pillar='landscape'] {
  --pillar-fill: var(--c-landscape-fill);
  --pillar-deep: var(--c-landscape-deep);
  --pillar-tint: var(--c-landscape-tint);
  --pillar-type: var(--c-ink);
  --pillar-active: var(--c-landscape-deep);
  --pillar-on-fill: var(--c-ink);      /* anchor on verdigris · 7.3:1 */
  --b-rule: 2px solid var(--c-landscape-fill);
  --b-band: 8px solid var(--c-landscape-fill);
}
