/* ==========================================================================
   WREN — tokens.css
   Custom properties only. No selectors beyond :root.
   Palette rule: sodium = human (her voice), transit = system (wayfinding).
   ========================================================================== */

:root {
  /* ---- Palette ------------------------------------------------------- */
  --tunnel:   #111113;  /* page background — tunnel dark, cold cast        */
  --concrete: #8E8B84;  /* secondary text, rules, borders                  */
  --tile:     #E9E6DD;  /* primary text on dark — warm subway-tile white   */
  --sodium:   #E8A13C;  /* THE accent — her voice: waveforms, lyrics, links */
  --transit:  #2E5FA3;  /* structural accent — wayfinding only, never décor */
  --transit-text: #6E9FE3; /* transit lightened for small type on dark (AA); bars/lines keep --transit */
  --signal:   #C8102E;  /* placeholder red + rare alerts (LIVE, SOLD OUT)  */

  /* Derived tints — keep few, keep purposeful */
  --tunnel-lift:   #1A1A1D;             /* raised surfaces (cards, inputs) */
  --signal-inset:  #9E0C24;             /* darker red for placeholder inset border */
  --concrete-dim:  rgba(142, 139, 132, 0.35); /* hairline rules            */
  --tile-dim:      rgba(233, 230, 221, 0.72); /* softened body text        */

  /* ---- Typography roles ---------------------------------------------- */
  --font-display: "Archivo", "Helvetica Neue", Arial, sans-serif;   /* wayfinding / signage */
  --font-editorial: "Newsreader", Georgia, "Times New Roman", serif; /* her storytelling voice */
  --font-mono: "Space Mono", "SF Mono", Menlo, monospace;            /* metadata only */

  /* Archivo width axis: 100 = normal, 125 = expanded (station signage) */
  --display-stretch: 125%;

  /* ---- Type scale (minor third-ish, tuned by role) -------------------- */
  --text-xs:   0.6875rem;  /* 11px — mono metadata, placeholder prompts    */
  --text-sm:   0.8125rem;  /* 13px — captions, nav, mono labels            */
  --text-base: 1rem;       /* 16px — UI body                               */
  --text-ed:   1.2rem;     /* 19.2px — editorial body (Newsreader 1.15–1.3) */
  --text-lg:   1.5rem;     /* 24px — sub-heads, pull-quote small           */
  --text-xl:   2.25rem;    /* 36px — section headers / station signs       */
  --text-2xl:  3.5rem;     /* 56px — page titles                           */
  --text-hero: clamp(3rem, 10vw, 7.5rem); /* WREN wordmark                 */

  --leading-tight: 1.05;
  --leading-ui:    1.4;
  --leading-ed:    1.6;    /* editorial line-height per spec               */

  --tracking-sign: 0.08em; /* all-caps station-sign tracking (wide, tight-ish) */
  --tracking-mono: 0.02em;

  --measure-ed: 65ch;      /* editorial max line length                    */

  /* ---- Spacing ------------------------------------------------------- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2.5rem;
  --space-6: 4rem;
  --space-7: 6.5rem;
  --gutter: clamp(1rem, 4vw, 2.5rem);
  --page-max: 84rem;

  /* ---- Motion (house values — see CLAUDE.md §2) ----------------------- */
  --reveal-y: 24px;
  --reveal-dur: 0.7s;
  --reveal-stagger: 0.08;
  --ease-house: cubic-bezier(0.215, 0.61, 0.355, 1); /* power3.out */

  /* ---- Z layers ------------------------------------------------------ */
  --z-grain: 90;
  --z-nav: 100;
  --z-loader: 110;
}
