/* ------------------------------------------------------------------ *
 * Nyansora design tokens
 *
 * The whole site is built from what is in this file. There is exactly one
 * chromatic colour (--acc) and exactly one typeface. Everything else is a
 * neutral step or a transparency of white. If a value is not here, it does
 * not belong in the stylesheet.
 * ------------------------------------------------------------------ */

:root {
  /* Surfaces — deep charcoal through to near-black */
  --bg: #0b0c0e;
  --bg-1: #101215;
  --bg-2: #16191d;
  /* Channel triples. Every alpha variant in the stylesheet is derived from
     these, so the palette lives in exactly one place. */
  --bg-rgb: 11 12 14;
  --ink-rgb: 255 255 255;
  --acc-rgb: 182 255 60;

  --bg-glass: rgb(var(--bg-rgb) / 0.66);
  --bg-glass-strong: rgb(var(--bg-rgb) / 0.88);
  /* The soft pool of studio light behind the model. */
  --bg-pool: rgba(38, 41, 45, 0.55);

  /* Ink */
  --ink: #f4f5f3;
  --ink-2: #a9aeaa;
  /* Tertiary ink carries 11-13px labels, so it has to clear 4.5:1 on --bg.
     #71776f measured 4.26:1 and failed; this is 5.2:1. */
  --ink-3: #7f857d;
  --ink-4: #4a4f4a;

  /* Hairlines and surface tints */
  --line: rgb(var(--ink-rgb) / 0.085);
  --line-2: rgb(var(--ink-rgb) / 0.16);
  --tint-1: rgb(var(--ink-rgb) / 0.035);
  --tint-2: rgb(var(--ink-rgb) / 0.045);
  --tint-3: rgb(var(--ink-rgb) / 0.06);

  /* The one accent. Signal green. Derived from the triple, so retinting the
     brand is a single edit and the halos cannot be left behind. */
  --acc: rgb(var(--acc-rgb));
  --acc-dim: rgb(var(--acc-rgb) / 0.5);
  --acc-ghost: rgb(var(--acc-rgb) / 0.12);
  --acc-halo: rgb(var(--acc-rgb) / 0.14);
  --acc-glow: rgb(var(--acc-rgb) / 0.35);
  --acc-ink: rgb(var(--bg-rgb)); /* text on accent fills */

  /* Brand gold. Scoped to the logo lockup ONLY — it is part of the mark, not
     a second UI accent. Nothing in the interface may reach for this. */
  --brand-gold: #d2a45d;

  /* Type */
  --font: 'Inter', 'Inter Variable', -apple-system, BlinkMacSystemFont,
    'Helvetica Neue', 'Segoe UI', system-ui, sans-serif;

  --fs-display: clamp(2.5rem, 6.2vw, 5rem);
  --fs-h2: clamp(1.6rem, 3.2vw, 2.5rem);
  --fs-h3: clamp(1.3rem, 2.15vw, 1.75rem);
  --fs-body: clamp(1rem, 1.2vw, 1.1875rem);
  --fs-sm: 0.875rem;
  --fs-xs: 0.8125rem;
  --fs-label: 0.72rem;

  --tracking-display: -0.038em;
  --tracking-h: -0.025em;
  --tracking-body: -0.011em;
  --tracking-label: 0.16em;

  --lh-display: 0.98;
  --lh-h: 1.1;
  --lh-body: 1.58;

  /* Space */
  --gutter: clamp(1.25rem, 4vw, 3.5rem);
  --bar-h: 64px;
  --rail-w: 404px;

  /* Motion — one easing curve, one duration ladder */
  --ease: cubic-bezier(0.22, 0.61, 0.24, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --t-fast: 180ms;
  --t-mid: 420ms;
  --t-phase: 700ms;
  /* Ambient loops — deliberately off the transition ladder. */
  --t-loop-pulse: 1.6s;
  --t-loop-sweep: 2.4s;

  /* Radii */
  --r-pill: 999px;
  --r-md: 10px;
  --r-lg: 16px;

  --z-stage: 0;
  --z-content: 30;
  /* Above the caption rail: the rail's scrim would otherwise wash out any pin
     that lands near it, and the pins carry their own frosted panel anyway. */
  --z-annot: 40;
  --z-chrome: 60;
  --z-menu: 80;
}

@media (max-width: 900px) {
  :root {
    --bar-h: 56px;
  }
}
