/* ===========================================================================
   NJAM design tokens — Brand Palette Guide v1.2 (August 2026)

   Token names match the guide's production quick reference (§10) exactly, so
   what's written in the guide can be pasted into code without translation.

   The seven core colours are semantic, not interchangeable: Jet Black is the
   shared world; champagne builds the cube; Porcelain Bone gives the brain
   substance; Filament White connects and illuminates; Bone Ivory communicates.
   =========================================================================== */

:root {
  /* --- The mothership palette -------------------------------------------- */
  --njam-black: #0B0B0B;          /* ground / default environment           */
  --njam-champagne: #C9BBA4;      /* the cube / primary metal               */
  --njam-champagne-deep: #8A7D66; /* cube shadow / engraving depth          */
  --njam-filament: #FFF6E3;       /* the light / connection                 */
  --njam-porcelain: #EFE9DC;      /* the brain / material label             */
  --njam-ivory: #F5F4EF;          /* the type / readable foreground         */
  --njam-gunmetal: #3A3A3C;       /* quiet structure — 1.73:1, NEVER text   */

  /* --- Child brand accents ----------------------------------------------- */
  /* Sourced from each system's own build folder — that is the source of
     truth; the identity guide's table is the fallback. Every node colour on
     the site must trace to one of these tokens. Nothing invented.
     Provenance is recorded per token so it can be re-verified.
     May identify a child inside NJAM materials. Must never recolour the
     brain, cube or filament, or become general NJAM decoration. */

  /* ECHO — Documents/ECHO, "ECHO Brand Palette Guide": Primary Accent,
     Jade Green. 10.04:1 on Jet Black. */
  --child-echo: #00D1AC;
  --child-echo-deep: #00A98B;

  /* MAVIS — Documents/ECHO/MAVIS. The orb artwork samples to ECHO's own
     Glow Accent (Soft Cyan), which is also the editorially correct reading:
     MAVIS is ECHO's glow, not a separate brand. 15.12:1. */
  --child-mavis: #7FF5E8;

  /* Graeae Sisters and Feral Bot are siblings — both sit inside the Feral
     Empire palette (plum ground, gold accent, forest green) rather than
     owning separate ones. So they take different members of that shared
     palette instead of different palettes: gold for the Temple, green for
     the Empire. That keeps them readable as one world and still legible as
     two nodes. */

  /* Graeae Sisters / The Temple — /Temple Bot, --accent-gold. Its UI runs
     plum ground with this gold. 6.99:1. */
  --child-temple: #BD9439;

  /* ETCH — /ETCH build. 4.84:1. */
  --child-etch: #B86A3C;

  /* Feral Bot — /Medusas Lair (Feral Empire HQ). Its UI runs a deep green
     ground with the same family gold, so the green is what distinguishes it.
     The folder's greens are dark by design; this is the lightest at 4.06:1,
     which clears the 3:1 bar for a node dot but NOT AA for text — so its
     label renders in ivory. */
  --child-feral: #4A7C5C;
  --child-feral-gold: #D9B45C;

  /* Vera — Documents/Vera, "Introducing Vera.png". Sampled from the wordmark
     in her own launch image: a hard, unmixed red on black. 3.45:1 — clears
     the 3:1 bar for a node dot but not AA for text, so her label renders in
     ivory, same as Feral Bot. */
  --child-vera: #D00000;

  /* --- Bone Ivory opacity ladder on Jet Black ----------------------------- */
  /* Flat equivalents from the guide. 90% body, 80% secondary — both stay
     comfortably above WCAG AA. */
  --ink-full: #F5F4EF;            /* 100% — display                          */
  --ink-body: #DEDDD8;            /*  90% — body copy                        */
  --ink-mid: #D2D1CD;             /*  85%                                    */
  --ink-secondary: #C6C5C1;       /*  80% — secondary copy                   */
  --ink-label: #8A7D66;           /* Champagne Deep, 4.88:1 — labels, depth  */

  /* --- Derived surfaces --------------------------------------------------- */
  --surface-raised: #131313;
  --hairline: rgba(201, 187, 164, 0.18);
  --hairline-soft: rgba(201, 187, 164, 0.10);

  /* --- Type --------------------------------------------------------------- */
  /* Poppins 300/600 and JetBrains Mono 300 are the only live families and
     weights. Anything else is a faux weight and fails pre-flight. */
  --font-brand: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-machine: 'JetBrains Mono', ui-monospace, 'Courier New', monospace;

  --weight-light: 300;
  --weight-wordmark: 600;

  --track-wordmark: 0.18em;   /* NJ / AM master tracking — must remain intact */
  --track-fullname: 0.22em;
  --track-machine: 0.08em;
  --track-action: 0.02em;     /* actions never imitate wordmark tracking      */
  --track-utility: 0.08em;    /* uppercase utility labels                     */

  /* --- Space -------------------------------------------------------------- */
  /* ≥6vw from the viewport edge, always — an upper clamp would quietly break
     that between ~1067px and ~1368px, before the shell's max-width takes over. */
  --gutter: max(1.25rem, 6vw);
  --measure: 65ch;                       /* body maximum */
  /* Copy over art: 34rem, but never wider than the protected black field. */
  --copy-field: min(34rem, 42vw);
  --shell: 1240px;

  /* Section rhythm. These were clamp(5rem,12vw,10rem) and clamp(2.5rem,6vw,
     4.5rem), which put 320px of nothing between two sections at 1440px — the
     page read as a series of disconnected slides rather than one argument.
     Halved. Generous is the brand; cavernous is a different thing. */
  --space-section: clamp(2.75rem, 5vw, 4.5rem);
  --space-block: clamp(1.5rem, 3vw, 2.5rem);

  /* --- Motion -------------------------------------------------------------- */
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --dur: 420ms;
}
