/* ==========================================================================
   Ringplane — Design Tokens
   Single source of truth. Nothing below this file should hardcode a value.
   ========================================================================== */

:root {
  /* ---- Surface ---------------------------------------------------------- */
  --bg:            #08090b;
  --bg-2:          #0b0d10;
  --surface:       #101317;
  --surface-2:     #151921;
  --surface-3:     #1b202a;

  /* ---- Structure -------------------------------------------------------- */
  --line:          #1c222a;
  --line-2:        #29313d;
  --line-3:        #3a4452;

  /* ---- Ink -------------------------------------------------------------- */
  --ink:           #eef1f4;
  --ink-2:         #a8b0ba;
  --ink-3:         #848d98;
  --ink-4:         #5b646f;

  /* ---- Accents ---------------------------------------------------------- */
  --ring:          #bfd0de;   /* cold steel — structure, scaffolding */
  --ring-dim:      #6d7c8b;
  --signal:        #e3a857;   /* warm amber — signal. never decorative. */
  --signal-2:      #f2ca92;
  --signal-dim:    #8a6636;
  --ok:            #7fbf9b;

  /* ---- Alpha ramps (composited over --bg) ------------------------------- */
  --a-04:          rgba(238, 241, 244, 0.04);
  --a-06:          rgba(238, 241, 244, 0.06);
  --a-10:          rgba(238, 241, 244, 0.10);
  --a-16:          rgba(238, 241, 244, 0.16);
  --signal-a-08:   rgba(227, 168, 87, 0.08);
  --signal-a-16:   rgba(227, 168, 87, 0.16);
  --signal-a-32:   rgba(227, 168, 87, 0.32);

  /* ---- Typography ------------------------------------------------------- *
   * Families are injected by the theme engine (assets/js/typetheme.js).
   * These are the fallbacks if the engine never runs.                       */
  --font-display: "Instrument Serif", "Iowan Old Style", Georgia, serif;
  --font-text:    "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-data:    "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --display-weight: 400;
  --display-tracking: -0.022em;
  --display-leading: 0.98;

  /* Fluid type scale — 360px → 1440px viewport */
  --t-display-1: clamp(2.9rem, 1.5rem + 5.6vw, 5.6rem);
  --t-display-2: clamp(2.2rem, 1.35rem + 3.5vw, 3.9rem);
  --t-display-3: clamp(1.75rem, 1.25rem + 2.2vw, 2.85rem);
  --t-lead:      clamp(1.05rem, 0.95rem + 0.5vw, 1.3rem);
  --t-body:      clamp(0.95rem, 0.9rem + 0.22vw, 1.0625rem);
  --t-small:     0.875rem;
  --t-micro:     0.75rem;
  --t-nano:      0.6875rem;

  --lead-tight:  1.16;
  --lead-snug:   1.4;
  --lead-body:   1.62;

  --track-label: 0.16em;
  --track-mono:  0.02em;

  /* ---- Space (4px base, geometric-ish) ---------------------------------- */
  --s-1:  0.25rem;
  --s-2:  0.5rem;
  --s-3:  0.75rem;
  --s-4:  1rem;
  --s-5:  1.5rem;
  --s-6:  2rem;
  --s-7:  3rem;
  --s-8:  4rem;
  --s-9:  6rem;
  --s-10: 8rem;
  --s-11: 11rem;

  --section-y: clamp(5rem, 3rem + 9vw, 10rem);

  /* ---- Geometry --------------------------------------------------------- */
  --r-1: 2px;
  --r-2: 4px;
  --r-3: 8px;
  --r-4: 14px;
  --r-full: 999px;

  --measure: 62ch;
  --shell:  1180px;
  --shell-wide: 1360px;
  --gutter: clamp(1.25rem, 0.6rem + 2.6vw, 3rem);

  /* ---- Motion ----------------------------------------------------------- */
  --ease-out:  cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring: cubic-bezier(0.34, 1.4, 0.44, 1);
  --d-1: 140ms;
  --d-2: 240ms;
  --d-3: 420ms;
  --d-4: 720ms;
  --d-5: 1100ms;

  /* ---- Elevation -------------------------------------------------------- */
  --shadow-1: 0 1px 2px rgba(0,0,0,0.5);
  --shadow-2: 0 8px 28px -12px rgba(0,0,0,0.8);
  --shadow-3: 0 28px 70px -28px rgba(0,0,0,0.92);
  --glow-signal: 0 0 0 1px var(--signal-a-32), 0 8px 30px -14px rgba(227,168,87,0.5);

  --z-canvas: 0;
  --z-content: 10;
  --z-header: 60;
  --z-overlay: 90;
}

/* Honour the OS. Every motion token collapses; JS reads this too. */
@media (prefers-reduced-motion: reduce) {
  :root {
    --d-1: 1ms; --d-2: 1ms; --d-3: 1ms; --d-4: 1ms; --d-5: 1ms;
  }
}
