/* ============================================================================
   samantha.design — SPHERE ANTECHAMBER PROTOTYPE — tokens
   The room before the room: a conceptual pre-landing page that sits in front
   of landing-scroll-prototype V3. One object — a raymarched wishing crystal —
   lit by the visitor's own clock (time of day → sun elevation/temperature/
   night) and steered by their cursor (azimuth). Breath (mic, or the
   hold-and-release fallback) stirs the interior; a ~2s sustained breath is
   the wish that opens V3.

   Tokens are a direct subset of landing-scroll-prototype V3/css/tokens.css —
   same colour primitives, same type families/scale, same motion pair — plus
   two prototype-only groups: the eight --mix-* project colours (lifted from
   V3's per-column --proj-mix inline values, Round 11 there) and the --sun-*
   group, which is WRITTEN BY JS (js/sun.js) every frame, never hand-edited.
   ============================================================================ */

/* ---- Junicode VF: SELF-HOSTED since 2026-09-04, same as work/css/tokens.css.
   jsDelivr 404s every file in the Junicode repo — it grew past their 50MB package
   limit — and `font-display:optional` made that silent, so this page has been
   quietly setting its one Junicode line in Georgia. Both stylesheets have to be
   changed together: the landing carries its own copy of the tokens.
   ---- previously: identical @font-face to V3,
   font-display:optional for the same no-flash reasoning documented there. ---- */
@font-face{
  font-family:'Junicode VF';
  src: local('Junicode VF'), local('Junicode'),
       url('../../shared/fonts/JunicodeVFsubset.woff2') format('woff2-variations');
  font-weight: 100 900;
  font-stretch: 50% 200%;
  font-style: normal;
  font-display: optional;
}

:root{
  /* ---- colour primitives — same as V3 ---- */
  --white:#ffffff;
  --black:#000000;
  --grey40:#8a8a8a;
  --grey20:#d7d7d7;
  --grey10:#f4f4f4;

  /* ---- the eight project colour mixtures — V3's --proj-mix values, Round 11.
     These are what floats inside the crystal: each project present as its
     distilled colour essence (a luminous mote in the interior fog). Order
     matches the deck, left to right. ---- */
  --mix-yield:#342923;
  --mix-objectless:#c6d6cd;
  --mix-was-this-you:#d7b37f;
  --mix-seggs:#a18771;
  --mix-prayer:#d5e5bb;
  --mix-soft-copies:#deaba0;
  --mix-rehearsal:#a46d43;
  --mix-screen-tests:#b7c4d7;

  /* ---- sun group — WRITTEN BY js/sun.js from the local clock. The defaults
     below are only the pre-JS first paint (a neutral late morning). The page
     background, ink, and the shader's light all read from the same model, so
     the DOM dims with the same sun the crystal is lit by. ---- */
  --sun-bg:#ffffff;          /* the paper. A constant since day/night was removed (2026-09-02);
                                sun.js used to rewrite this token as the real sun moved. */
  --sun-ink:#000000;         /* primary text ink */
  --sun-ink-muted:#8a8a8a;   /* secondary text ink (nav items, hints) */

  /* ---- spacing — Layout/Spacing/* — same as V3 ---- */
  --sp-2:2px; --sp-4:4px; --sp-8:8px; --sp-12:12px; --sp-16:16px;
  --sp-24:24px; --sp-32:32px; --sp-48:48px;

  /* ---- type families — same as V3 ---- */
  --f-primary:'Basel Grotesk','Helvetica Neue',Arial,sans-serif;   /* not bundled — proprietary, system fallback */
  --f-secondary:'Junicode VF',Georgia,'Times New Roman',serif;      /* artist voice */
  /* NEW for the ASCII face (air.html only): the glyph atlas is rendered in
     this family at boot, so what the shader prints IS the platform's mono —
     no font file to load, no swap flash, and the measured ramp is measured
     in the exact glyphs shown. */
  --f-mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;

  /* ---- type scale — the subset of V3's scale this page uses ---- */
  --t-nav-word:22px;  --lh-nav-word:34px; --ls-nav-word:-0.15px;  /* "Samantha Lee" wordmark */
  --t-nav-item:13px;  --lh-nav-item:20px; --ls-nav-item:0.25px;   /* small utility/debug text */
  --t-hint:16px;      --lh-hint:24px;                             /* Junicode breath/wish hint line */

  /* ---- motion — V3's pair, reused verbatim so the two pages share motion DNA:
     the collapse pair paces slow environmental changes (page day/night fade),
     the wipe pair paces quick interface changes (hint lines in/out). ---- */
  --collapse-dur:420ms;
  --collapse-ease:cubic-bezier(.22,.61,.36,1);
  --wipe-dur:294ms;
  --wipe-ease:cubic-bezier(.65,0,.35,1);
}
