/* ============================================================================
   DESIGN TOKENS — the single source of visual truth.

   Every customisable surface reads from these custom properties, and NOTHING
   else hard-codes a colour, font, or radius. That is what makes the platform
   white-labelable: a venue theme overrides these same variables (at runtime via
   core/theme.js, or by scoping under a [data-tenant] block) and every surface
   re-skins automatically. The values below are the PLATFORM DEFAULT theme — the
   "Root Domain field journal" — used whenever a surface has no tenant override.

   Override contract for tenant themes: set any of the --rd-* variables. Treat
   the rest as the inherited default. Do not introduce raw literals downstream.
   ============================================================================ */
:root {
  /* ── Type (families are overridable; the stacks keep a self-hosted default + system fallback) ── */
  --rd-font-display: "Fraunces", Georgia, "Times New Roman", serif;   /* headings, names, figures */
  --rd-font-body:    "Alegreya", Georgia, serif;                      /* running text */
  --rd-font-mono:    "Courier Prime", ui-monospace, "Cascadia Mono", Consolas, monospace; /* labels */

  /* ── Paper (surfaces) ── */
  --rd-paper:   #EAE0BE;   /* app background */
  --rd-paper-2: #E0D3A4;   /* recessed / inset */
  --rd-card:    #F2EBD2;   /* raised card fill */
  --rd-worn:    #CDBD90;   /* tracks, wells */

  /* ── Ink (text, from strongest to faintest) ── */
  --rd-ink:   #27190B;
  --rd-ink-2: #46361F;
  --rd-ink-3: #6E5C3E;
  --rd-ink-4: #988459;
  --rd-rule:  #B5A476;     /* hairlines / frames */

  /* ── Working inks (the three contextual accents) ── */
  --rd-leaf:     #4E6E27;  /* member / "me" surface */
  --rd-sienna:   #9A4A1E;  /* venue / plaza surface */
  --rd-prussian: #2E4A66;  /* platform / admin surface */

  /* ── Status inks ── */
  --rd-ok:    var(--rd-leaf);
  --rd-warn:  #8C5A1A;
  --rd-error: var(--rd-sienna);

  /* ── Semantic accent — resolves per surface (see below) and per tenant ── */
  --rd-accent:      var(--rd-leaf);
  --rd-accent-soft: rgba(78, 110, 39, .13);

  /* ── Shape & rhythm ── */
  --rd-radius: 2px;
  --rd-frame: 0 0 0 3px var(--rd-paper), 0 0 0 4px var(--rd-rule),
              .15rem .25rem .8rem -.4rem rgba(60, 35, 5, .25); /* the "specimen" double-rule frame */
  --rd-space: .85rem;
}

/* ── Per-surface accent. The router sets data-surface on <body>; tenant themes can still override
   --rd-accent outright to win over these. Default (me / signin) is leaf. ── */
body[data-surface="plaza"] { --rd-accent: var(--rd-sienna);   --rd-accent-soft: rgba(154, 74, 30, .12); }
body[data-surface="admin"] { --rd-accent: var(--rd-prussian); --rd-accent-soft: rgba(46, 74, 102, .12); }
