/* ============================================================================
   Westover Labs — official brand palette
   THE single source of truth for the Forest / Ocean / Spark token system.
   ----------------------------------------------------------------------------
   Canonical doc : docs/design/brand-system.md
   Marks (assets): static-sites/_assets/brand/westoverlabs/westoverlabs/
                     westover-labs-symbol.eps               (vector master)
                     westover-labs-lockup-robot-tree.png    (Forest / Labs lockup)
                     westover-labs-mark-robot-tree-circle.png (Forest / Labs circular)
                     westover-labs-wordmark-wave.png        (Ocean / data-center wordmark)

   WHY this file is CSS and hand-authored (not tokens/<brand>.json):
     The rest of the design-systems collection keeps a per-brand JSON as the
     machine source of truth and PROJECTS it to dist/css via build/tokens-to-css.mjs.
     This official three-element brand system is being established as canon FIRST
     and is deliberately NOT yet wired into the deck/site pipeline (no retrofit —
     see the brand doc). Until that wiring lands as its own thread, the palette
     lives in exactly ONE place — here — as directly-consumable CSS custom
     properties. When it is wired in, derive the JSON from THESE values; do not
     fork a second copy. One source of truth, no drift.

   Namespace: every token is prefixed --wl- so it never collides with the legacy
   gold-on-black westoverlabs.eu skin (--westoverlabs-*) when both are linked.

   Palette hexes are the agreed STARTING values (2026-09-01). Tune here; the doc
   and every consumer read from this file.
   ============================================================================ */

:root {
  /* -- 🌲 FOREST — wisdom, deep & rooted (Labs / intelligence / reasoning) ---- */
  --wl-forest:            #1B4D3E; /* primary forest green */
  --wl-forest-ink:        #0E241C; /* pine-ink — darkest green, near-black ground */
  --wl-parchment:         #F3EFE3; /* warm neutral paper — the light ground. NEVER pure white. */

  /* -- 🌊 OCEAN — the data layer / sovereign cloud (data center) ------------- */
  --wl-ocean-abyss:       #0A2540; /* deepest blue — dark ground for the wordmark */
  --wl-ocean:             #1D6A96; /* primary ocean blue */
  --wl-ocean-foam:        #8FD4E8; /* light foam — highlights, links, crests */

  /* -- ⚡ SPARK — the comms layer (fire = telepathy · electric = Reiz/pulse) - */
  --wl-spark-fire:        #FF7A1A; /* fire orange — the revived robot-orange / ignition */
  --wl-spark-edge:        #C9FBFF; /* electric hot-white cyan — the pulse edge / wake */

  /* -- Semantic roles (map the raw palette onto usage; consumers prefer these) */
  --wl-bg:                var(--wl-parchment);   /* default light ground (warm, not white) */
  --wl-bg-forest:         var(--wl-forest-ink);  /* dark ground for Labs / Forest surfaces */
  --wl-bg-ocean:          var(--wl-ocean-abyss); /* dark ground for data / Ocean surfaces */
  --wl-ink:               var(--wl-forest-ink);  /* primary text on parchment */
  --wl-on-dark:           var(--wl-parchment);   /* primary text/marks on dark grounds */
  --wl-primary:           var(--wl-forest);      /* umbrella brand primary = Forest */
  --wl-accent:            var(--wl-spark-fire);  /* attention / ignition accent = Spark */
  --wl-link:              var(--wl-ocean);       /* links / interactive = Ocean */

  /* -- Layer accents (one canonical accent per element, for sub-surface theming) */
  --wl-layer-forest:      var(--wl-forest);      /* intelligence / Labs layer */
  --wl-layer-ocean:       var(--wl-ocean);       /* data layer */
  --wl-layer-spark:       var(--wl-spark-fire);  /* comms / bridge layer */

  /* -- Line-art rule: marks are single-color line art. On light -> ink; on
        dark -> parchment. Never render the marks over pure white. --------- */
  --wl-mark-on-light:     var(--wl-forest-ink);
  --wl-mark-on-dark:      var(--wl-parchment);
}
