/* crib notes — color system
   Rest, without the rulebook. Paper carries ~70% of any layout, ink ~20%,
   slate blue ~7% (primary accent), olive ~3% (asides/labels/callouts only). */
:root {
  /* --- core four (authoritative brand palette) --- */
  --paper: #F1F0EA;        /* backgrounds, ~70% */
  --ink: #23303A;          /* text, ~20% */
  --slate-blue: #46657A;   /* primary accent, ~7% */
  --olive: #6B7A4E;        /* asides, labels, callouts only, ~3% */

  /* --- extended palette (from the brand brief, use sparingly) --- */
  --warm-sand: #E5E1D4;    /* secondary surface / quiet fills */
  --pale-sage: #EEF1E8;    /* olive-tinted surface for asides */
  --dusty-blue: #8FA6BA;   /* muted slate-blue tint, hairlines, meta */
  --clay: #A85C4A;         /* rare warm signal, "go in" / attention */

  /* --- neutrals derived from ink, for hairlines and muted text --- */
  --ink-70: #55606A;       /* muted / secondary text */
  --ink-45: #8A929A;       /* captions, disabled, placeholder */
  --rule: #D8D5CA;         /* hairline rules on paper */
  --rule-soft: #E4E1D6;    /* softest divider */

  /* --- semantic surface aliases --- */
  --surface-page: var(--paper);
  --surface-raised: #F7F6F1;   /* card / raised paper, a touch lighter */
  --surface-sunken: var(--warm-sand);
  --surface-aside: var(--pale-sage);

  /* --- semantic text aliases --- */
  --text-body: var(--ink);
  --text-muted: var(--ink-70);
  --text-faint: var(--ink-45);
  --text-accent: var(--slate-blue);
  --text-label: var(--olive);
  --text-on-slate: var(--paper);

  /* --- semantic line / accent aliases --- */
  --border-hairline: var(--rule);
  --border-strong: var(--ink);
  --accent: var(--slate-blue);
  --accent-quiet: var(--dusty-blue);
  --mark: var(--slate-blue);   /* the ✶ */
}
