/* ============================================================================
   GLEE CANONICAL DESIGN TOKENS — v1  (2026-07-07)
   ----------------------------------------------------------------------------
   One source of truth for the site's visual language. Loaded last on every
   page so it unifies the palette onto one canon — a flat pastel-on-pure-black
   BIOS system where colour encodes control:
     • ground is pure #000 (never blue-tinted); panels/lines are warm-neutral
     • five control colours, one hex each — gold focus / green action /
       teal move / lavender dream / coral edit
     • mono-first typography; serif reserved for display headings
   Reversible: remove this stylesheet link and pages revert to prior tokens.
   ============================================================================ */

:root {
  /* ---- type: mono-first; serif for hero display; sans retired -> mono ---- */
  --mono: ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;
  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --sans: var(--mono);   /* the sub-surfaces used a system-ui sans body — collapse to mono */

  /* ---- ground: pure black; panels/lines warm-neutral (red >= blue) ---- */
  --bg: #000000;
  --panel: #100f0c;
  --panel2: #17150f;
  --surf: #100f0c;
  --line: #2a2925;
  --edge: #26282c;
  --edge2: #34373c;

  /* ---- text ladder: warm bone, not cool grey ---- */
  --ink: #dcd8cf;
  --mist: #9aa7b0;
  --muted: #9aa7b0;
  --faint: #6a7882;

  /* ---- the five control colours (pastel encodes control) ---- */
  --sand: #d8c08a;   --sand-hi: #e6d3a2;   /* gold · focus / numbers / brand / building */
  --act:  #93d9ab;                          /* green · action / go / live / verified */
  --move: #8fd2d6;                          /* teal · move / navigation / route-flow */
  --tab:  #b3a5e6;                          /* lavender · dream / tabs / speculative */
  --util: #e8a3ab;                          /* coral · edit / warn */
  --num:  #d8c08a;
  --rose: #dd6d84;                          /* red · stop (pastel-calibrated) */
  --amber:#e6c081;                          /* amber · receipt accent */

  /* ---- sub-surface fork names, remapped by MEANING ---- */
  --gold:   #d8c08a;   /* was #e7c384 */
  --green:  #93d9ab;   /* was #45a862 (deep) */
  --blue:   #8fd2d6;   /* the "blue" role does not exist in the pastel canon -> teal-move */
  --violet: #b3a5e6;   /* was #8c5ad2 (saturated) */
  /* De-hardcoded 2026-08-06 (UVP L8): these three were bare literals in inline
     styles and a JS template. Declared at their existing values, not changed —
     rendering is identical. */
  --violet-soft: #9a86e0;   /* inline emphasis on the opener */
  --bone-hi: #f1e8d0;       /* key-cap highlight */
  --rose-soft: #dca2a2;     /* proof-card boundary note */
  --ground-deep: #04060a;   /* full-bleed game canvas ground */
  --ink-on-act: #06120b;    /* text sitting on --act green */
  --line-cool: #2a2f36;     /* cool-neutral hairline (game chrome) */
  --red:    #dd6d84;   /* was #d15b5b (muddy) */

  /* ---- legacy round-zero aliases (keep-list pages resolve through these) ---- */
  --text: #dcd8cf;
  --text-soft: #dcd8cf;
  --void: #000000;
  --graphite: #100f0c;
  --surface: #100f0c;
  --amber-hot: #e6d3a2;
  --accent: #d8c08a;
  --accent2: #8fd2d6;
  --page-accent: #d8c08a;
  --page-accent-2: #8fd2d6;

  /* ---- round-zero "official" primitives, collapsed to canon ---- */
  --glee-bg: #000000;
  --glee-bg-paper: #100f0c;
  --glee-void-black: #000000;
  --glee-graphite-steel: #100f0c;
  --glee-canvas-bg: #000000;
  --glee-forged-gray: #26282c;
  --glee-line: #26282c;
  --glee-gold: #d8c08a;
  --glee-gold-dim: #b89b63;
  --glee-gold-sem: #d8c08a;
  --glee-amber: #d8c08a;
  --glee-receipt-amber: #e6c081;
  --glee-green: #93d9ab;
  --glee-verified-green: #93d9ab;
  --glee-blue: #8fd2d6;             /* intelligence-blue role -> teal-move */
  --glee-intelligence-blue: #8fd2d6;
  --glee-purple: #b3a5e6;
  --glee-speculative-violet: #b3a5e6;
  --glee-red: #dd6d84;
  --glee-hard-stop-red: #dd6d84;
  --glee-bone: #dcd8cf;
  --glee-bone-white: #dcd8cf;
}

/* ---- keep-list pages: glee-visual-site.css scopes its tokens to the body,
        so re-declare them at the same selector (this sheet loads after it). ---- */
body.glee-visual-site {
  --vs-bg: #000000;
  --vs-panel: rgba(16, 15, 12, 0.88);
  --vs-panel-strong: rgba(20, 18, 14, 0.94);
  --vs-line: rgba(216, 192, 138, 0.22);
  --vs-line-soft: rgba(230, 228, 223, 0.12);
  --vs-text: #dcd8cf;
  --vs-dim: #9aa7b0;
  --vs-muted: #6a7882;
  --vs-accent: #d8c08a;    /* was #e7c384 */
  --vs-accent-2: #8fd2d6;  /* was #66ddeb cyan -> teal-move */
  --vs-safe: #93d9ab;      /* was #64d77b */
  --vs-grid: rgba(230, 228, 223, 0.03);
}

/* line-icon base sizing (glee-icons.js) */
.gico{width:1.2em;height:1.2em;display:inline-block;vertical-align:-0.22em;flex:none}

/* ---- ART RULE (changed 2026-08-06 on Captain instruction: "change the rule to
   allow art") -------------------------------------------------------------
   Was: a blanket de-forge that hid decorative imagery on every keep-list page,
   so legal/support pages read flat like the flagship. That rule made art the
   exception and forced any visual language into a fight with the stylesheet.

   Now: art is ALLOWED by default. Flattening is opt-in per page — add
   `glee-flat` to the body when a page genuinely wants no decoration
   (e.g. a dense legal document). Same selectors, inverted default.

   This is what lets the flat BIOS canon and Narrative Geometric Patina be two
   styles in one system rather than rivals. See brand/geometric_patina/. */
body.glee-visual-site.glee-flat .glee-desktop-asset-field,
body.glee-visual-site.glee-flat .glee-art-phoenix,
body.glee-visual-site.glee-flat .glee-art-ghost,
body.glee-visual-site.glee-flat .glee-art-matrix,
body.glee-visual-site.glee-flat .glee-art-floor,
body.glee-visual-site.glee-flat .glee-art-spine,
body.glee-visual-site.glee-flat .page-hero:not(.glee-visual-scene-host)::after,
body.glee-visual-site.glee-flat .hero:not(.glee-visual-scene-host)::after { display: none !important; }

/* The `bios` style is the flat look expressed as tokens, not as a ban on
   imagery. A page can carry art AND the BIOS palette; that combination was
   previously unreachable. */
