/* =====================================================================
   VIVIDVERSE HUB - TOKEN LAYER
   Layer 1 of 3: the hallway (master brand). Deliberately quiet;
   never competes with the worlds.
   Worlds override these via [data-world] containers set by js/theme.js.
   Palettes are LOCKED (Nickie 2026-07-04). Refine values, never redesign.
   ===================================================================== */

:root {
  /* Hallway palette */
  --surface: #FAF5EA;
  --ink: #221F1A;
  --accent: #C9A227;      /* gold thread */
  --accent-2: #7C5CBF;    /* violet support */
  --wash: #C9A227;

  /* Atlas brand layer (used only in Atlas-labeled contexts) */
  --atlas-yellow: #FFC629;
  --atlas-vermillion: #E8442E;
  --atlas-warm-black: #2B2622;

  /* Type */
  --font-display: "Fraunces", Georgia, serif;
  --font-body: "Inter", system-ui, -apple-system, sans-serif;

  /* Editorial type scale - large by default (vision accessibility is a
     first-pass requirement, not a mode) */
  --type-hero: clamp(3rem, 9vw, 8.5rem);
  --type-display: clamp(2.25rem, 5.5vw, 4.5rem);
  --type-title: clamp(1.5rem, 3vw, 2.375rem);
  --type-lede: clamp(1.25rem, 2vw, 1.5rem);
  --type-body: 1.1875rem;          /* 19px floor, never below */
  --type-caption: 1rem;
  --leading-tight: 1.05;
  --leading-body: 1.6;
  --tracking-display: -0.015em;
  --tracking-caps: 0.14em;

  /* Space scale */
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2.5rem;
  --space-5: 4rem;
  --space-6: 6.5rem;
  --space-7: 10rem;

  /* Motion (world themes override --motion-* via theme.js) */
  --ease-standard: cubic-bezier(0.22, 1, 0.36, 1);
  --dur-fast: 180ms;
  --dur-base: 250ms;   /* the threshold wash duration, per spec */
  --dur-slow: 600ms;

  /* Structure */
  --measure: 66ch;
  --page-max: 1440px;
  --gutter: clamp(1.25rem, 4vw, 4rem);
}

/* Worlds receive their record from data/canons.json as inline custom
   properties on the world container:
   --surface --ink --accent --accent-2 --font-display --font-body --wash
   plus data attributes: data-world, data-texture, data-motion, data-dark.
   Nothing else in the engine changes per world. That is the contract. */
