/* ============================================================
   Cost of Thought — color tokens
   GEORGIA LIGHT, FLORIDA WATER. A forest you walk through in the
   sun: the greens painted from the LIT side of the leaf (not the
   shadow), warmed by a real sunset — marigold, ember, clay — for
   everything that is neither green nor blue. The ocean (Florida
   deep water) is spent rarely: a single cool glint at the budget's
   deep end, the shore you drain toward. Forest is home; the sunset
   is the warmth in the air; the ocean is the rare reward.

   Promoted 2026-06-11 from the "Brighter greens + sunset & clay"
   study (see v0-archive/georgia-light-florida-water.html), every
   color sampled from Alex's own photographs of Georgia (Piedmont
   Park, backlit canopy) and Florida (offshore, sunset on the line).

   ACCESSIBILITY — every value contrast-audited (WCAG 2.1) against
   the three light grounds (--bg #fcfcf6, --paper #fff, --loam
   #ebe8d6): body/UI text tokens pass AA or AAA; faint tokens pass
   AA (data-faint, ink-faint, data-soft) or AA-large (ink-very-faint,
   non-essential labels only). --live and --warn pass as graphic /
   large-text marks; the blue pulse dot (--ocean) is AAA on every ground.
   --leaf (the sunlit-leaf glint) and --quote-rule (the gold rule)
   are FILL / LARGE / DECORATIVE only — never body text. The prior
   "Birch & bark" palette this replaced is recorded in readme.md.
   ============================================================ */

:root {
  /* ---- paper & bark ink — the voice register ----------------
     Paper that still remembers the forest: a light warm-white, lifted
     so the page feels crisp (white text fails on it — a good contrast
     sign), with white cards that nearly-but-never dissolve into it. */
  --bg:             #fcfcf6;   /* warm paper floor — everything sits on it */
  --paper:          #ffffff;   /* card / raised birch-bright surface */
  --ink:            #16180f;   /* bark near-black — primary prose (AAA) */
  --ink-soft:       #3b4031;   /* secondary prose, links (AAA) */
  --ink-faint:      #615f4f;   /* captions, asides (AA) */
  --ink-very-faint: #7d7a66;   /* empty states, hairline labels (AA-large; non-essential) */

  /* ---- data ramp (forest, lit) — the substrate register ------
     The recorded woods, lifted off the shadow floor toward the sun
     but kept dark enough for type. Metadata, counts, tool output. */
  --data:           #2b4a30;   /* AAA */
  --data-soft:      #4d6a4a;   /* AA on every ground */
  --data-faint:     #586d50;   /* AA on every ground — small mono labels */

  /* ---- rules & grounds -------------------------------------- */
  --rule:           #e6e4d3;   /* hairline divider */
  --rule-soft:      #f0eee0;   /* faintest divider / inset fill */
  --ground-warm:    #f0ead8;   /* a sunlit clearing — warm call-to-action wash */
  --ground-cool:    #eef0ea;   /* a cool hollow — the host's frame wash */
  --loam:           #ebe8d6;   /* the forest floor — deeper ground for RAISED panels
                                  (layered depth: page = birch, panel = loam, card = paper) */

  /* ---- the sunlit greens — life in the leaf ------------------
     The bright side of the canopy. --leaf is the glint: sunlight
     transmitted through a leaf. FILL / LARGE / glint only — never
     body text. */
  --leaf:           #9bc53d;   /* sunlit-leaf glint — decorative spark, fills/large only */

  /* ---- the sunset accents (spent when something is in motion)
     Pulled from a real sunset: marigold light, an ember glow, a
     clay that grounds them. The ember and gold are for the respond
     voice and large labels, not body prose. (The live PULSE is no
     longer ember — it is --ocean now; see below.) */
  --live:           #c56f26;   /* respond voice, caret, warm marks (large/graphic) */
  --quote-rule:     #b58a3e;   /* predecessor-memory left rule, dappled gold (rule/large) */
  --warn:           #a84a24;   /* hallucinated tool marker, clay-rust (AA) */

  /* ---- the ocean — the pulse (felt, not seen) ---------------
     Florida deep water. The decision (2026-06-11): blue is the
     system's HEARTBEAT, not a budget color. Every live / status
     pulse dot is --ocean (the Eyebrow dot, the "on the air" mark)
     — small, blinking, present on every page, never dominant. The
     budget gauge is all-forest now; blue stays out of it. The
     single cool note; AAA as a figure, never recolors body prose.
     --ocean-deep is held in reserve for deep-water surfaces. */
  --ocean:          #26527f;
  --ocean-deep:     #1d3a57;   /* deepest Florida navy — reserve, deep-water surfaces */

  /* ---- links ------------------------------------------------- */
  --link:           #3b4031;
  --link-hover:     #16180f;

  /* ============================================================
     ACTION-MODE PALETTE
     The signature: each color names what the host was *doing*
     during a span of tokens — a path through the lit woods. Sunlit
     greens for intake and persistence, sunset warmth for output,
     clay for the hallucinated. These are chord/gauge FILLS and
     legend swatches (not body text), so they read as the woods and
     the sunset, not as accessible type.
     ============================================================ */
  --mode-list:      #aab09c;   /* list_memory — pale lichen, neutral utility */
  --mode-read-mem:  #5a8a76;   /* read_memory — lit sage (intake) */
  --mode-read-lib:  #b78a3e;   /* read_library — lit dappled gold (intake) */
  --mode-reflect:   #7a3d50;   /* reflect — deep wine, "ink on aged bark" */
  --mode-respond:   #c56f26;   /* respond — ember (== --live) */
  --mode-write:     #6f8a4f;   /* note — sunlit moss (persist) */
  --mode-listener:  #5aa033;   /* listener message — sunlit fern */
  --mode-warn:      #a84a24;   /* hallucinated tool — clay-rust (== --warn) */

  /* ============================================================
     CELL IDENTITY
     The six experiment cells, shaded by how FULL each condition is:
     more frame + more library = deeper forest (more to think with).
     The shade is the cell's name — reused on the condition grid, the
     position map, and the index. "You are here" is ringed, never
     recolored, so the marker sits on top of the identity. Fills only
     (small dots / tiles), not text. Frame is weighted heavier than
     library, so they step cleanly 1 → 6 (deepest → lightest). */
  --cell-1:         #1f3a23;   /* full frame · library present — fullest */
  --cell-2:         #2b4a30;   /* full frame · library absent */
  --cell-3:         #3f7d33;   /* no library refs · present */
  --cell-4:         #4f8a37;   /* no library refs · absent */
  --cell-5:         #6fb33a;   /* bare frame · present */
  --cell-6:         #9bc53d;   /* bare frame · absent — barest */

  /* ---- semantic aliases ------------------------------------- */
  --text-body:      var(--ink);
  --text-muted:     var(--ink-soft);
  --text-faint:     var(--ink-faint);
  --text-data:      var(--data);
  --surface-page:   var(--bg);
  --surface-card:   var(--paper);
  --surface-raised: var(--loam);
  --surface-inset:  var(--rule-soft);
  --border-hairline:var(--rule);
}
