/* ─────────────────────────────────────────────────────────────
   theLoroX · COLOUR SYSTEM
   v5.3 LOCKED palette · 7 web tokens · one gold everywhere
   No raw hex in product code — reference these vars only.
   ───────────────────────────────────────────────────────────── */

:root {
  /* ── Base palette · the 8 locked tokens ── */
  --deep:     #111616;   /* teal-black · the floor · no surface goes darker      */
  --stone:    #1F2828;   /* teal-slate · card surfaces                           */
  --mid:      #222929;   /* teal-raised · hover states only                      */
  --cashmere: #F3F6F9;   /* cool light · text on dark                            */
  --paper:    #F9F9F5;   /* paper white · brightest light surface · near-neutral */
  --linen:    #EDE7D9;   /* warm ivory · editorial light (Who Attends, Advisory) */
  --gold:     #ba9933;   /* THE accent · one gold for everything in CSS          */
  --graphite: #4A4949;   /* neutral charcoal · the one non-teal grey · rules·UI  */
  --private:  #202505;   /* olive-black · AIO grounds + gate bands ONLY          */

  /* ── Forum dark grounds · per-forum floor · same near-black value as --deep,
        one subtle hue shift each. BILS = --deep (teal). AIO = --private (olive).
        Use as the page floor for that forum; everything else (gold, type,
        cards) stays identical across the Circle. ── */
  --ground-bils: #111616;   /* teal-black   · reference build  */
  --ground-cgti: #0F1419;   /* steel-black  · cool blue cast   */
  --ground-ddif: #151313;   /* warm-black   · neutral graphite */
  --ground-mevo: #15111A;   /* aubergine-black · faint violet  */
  --ground-aio:  #202505;   /* olive-black  · = --private      */
  --ground-scis: #0E1714;   /* pine-black   · deep green cast  */

  /* ── Derived gold tones ── */
  --g2: rgba(186,153,51,0.236);  /* hairlines, borders   */
  --g3: rgba(186,153,51,0.07);   /* gold wash            */
  --gold-hover: #cda861;         /* gold link hover only */

  /* ── Derived text tones (on dark) ── */
  --dim:  rgba(243,246,249,0.72);  /* body copy on dark      */
  --dim2: rgba(243,246,249,0.52);  /* secondary text on dark */
  --dim3: rgba(243,246,249,0.28);  /* tertiary / footer      */

  /* ── Institutional ink (on --linen only) ── */
  --ink:      #141414;             /* headings on light       */
  --ink-body: rgba(17,22,22,0.72); /* body on light           */
  --ink-dim:  rgba(17,22,22,0.36); /* secondary on light      */

  /* ─────────────────────────────────────────────────
     SEMANTIC ALIASES · prefer these in components
     ───────────────────────────────────────────────── */
  --surface-floor:   var(--deep);     /* page background, darkest      */
  --surface-card:    var(--stone);    /* cards, panels                 */
  --surface-raised:  var(--mid);      /* hover state of a card         */
  --surface-light:   var(--linen);    /* institutional light register  */
  --surface-paper:   var(--paper);    /* paper-white · brightest light surface */
  --surface-neutral: var(--graphite); /* neutral charcoal · non-teal grey      */
  --surface-private: var(--private);  /* AIO grounds only              */

  /* ─────────────────────────────────────────────────
     WEBSITE BACKGROUND RULE · every page is one register
     dark  → deep-dark (#111616) · the default
     light → cashmere  (#F3F6F9) · the light register
     ───────────────────────────────────────────────── */
  --bg-dark:   var(--deep);      /* deep-dark page background (default) */
  --bg-light:  var(--cashmere);  /* cashmere page background (light)    */

  --text-primary:    var(--cashmere); /* text on dark                  */
  --text-body:       var(--dim);      /* body copy on dark             */
  --text-secondary:  var(--dim2);     /* secondary on dark             */
  --text-on-light:   var(--ink);      /* headings on linen             */

  --accent:          var(--gold);     /* the one accent                */
  --hairline:        var(--g2);       /* 0.5px rules + borders         */
  --gold-wash:       var(--g3);       /* faint gold fill               */
}
