/* tokens.css · Signalramp · every visual value in styles.css references these. */
:root {
  /* colour — Upstep's original theme: pure black, white type at three strengths, one ice-cyan accent from the hero vortex */
  --color-bg: #000;
  --color-bg-2: oklch(12.5% 0.008 235);
  --color-ink: oklch(100% 0 0);
  --color-ink-2: oklch(100% 0 0 / 0.7);
  --color-ink-3: oklch(100% 0 0 / 0.5);
  --color-line: oklch(100% 0 0 / 0.1);
  --color-line-2: oklch(100% 0 0 / 0.2);
  --color-glass: oklch(100% 0 0 / 0.04);
  --color-glass-2: oklch(100% 0 0 / 0.08);
  --color-panel: oklch(14% 0.01 235 / 0.86);
  --color-accent: oklch(82% 0.11 215);
  --color-accent-2: oklch(68% 0.12 225);
  --color-accent-bg: oklch(82% 0.11 215 / 0.14);
  --color-error: oklch(70% 0.18 25);
  --color-shade: oklch(0% 0 0 / 0.5);
  --color-scrim: oklch(0% 0 0 / 0.72);
  --color-shadow: oklch(0% 0 0 / 0.6);
  --color-word: oklch(100% 0 0 / 0.08);
  --color-dialog: oklch(14% 0.01 235);
  --color-glow: oklch(68% 0.12 225 / 0.2);
  /* hero heading fill: the template gradient, toned down so the last words stay fully readable */
  --grad-text: linear-gradient(144.5deg, #fff 55%, oklch(100% 0 0 / 0.78) 110%);

  /* type — General Sans throughout */
  --font: 'General Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --text-hero: clamp(2rem, 1.35rem + 2.2vw, 3rem);
  --text-h2: clamp(1.875rem, 1.45rem + 1.7vw, 2.75rem);
  --text-h3: 1.25rem;
  --text-lg: 1.0625rem;
  --text-md: 0.9375rem;
  --text-sm: 0.875rem;
  --text-xs: 0.8125rem;
  --text-xxs: 0.75rem;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --track-heading: -0.02em;
  --track-label: 0.08em;

  /* space — 4pt scale */
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px;
  --space-6: 24px; --space-7: 32px; --space-8: 40px; --space-9: 56px; --space-10: 72px;
  --space-11: 96px; --space-12: 128px;

  /* shape */
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-chip: 20px;
  --radius-card: 24px;
  --radius-lg: 32px;
  --radius-pill: 999px;

  /* motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 180ms;
  --dur-med: 360ms;
  --dur-rise: 800ms;

  /* layout */
  --max: 1200px;
  --measure: 36rem;
  --z-nav: 20;
}
