/* Copy of design/tokens.css (the frozen source). Edit design/tokens.css, then copy it here. */
/* autoflaxy design tokens
   Direction #3 - night-tech: Dark ground first. The content glows; the chrome disappears.
   Frozen 2026-09-24 by source-first-ui.

   These values are the design decision. Do not improvise new colours,
   radii or type sizes in a component - if something is missing here, add
   it here first, then use it. That rule is the only thing keeping page 9
   looking like page 1. */

:root {
  /* colour */
  --ground: #070b1c;
  --surface: #0e1733;
  --ink: #eef2fb;
  --muted: #aab5d3;
  --line: #2a3a66;
  --accent: #45dcf7;
  --accent-ink: #04121f;
  --positive: #53c68c;
  --negative: #d86b5a;
  --gold: #ffb800;        /* money figures only (BTC, ETH amounts). Brand lock from brand/BRAND.md */
  --accent-2: #2e5bff;    /* logo gradient end; used only inside the accent gradient */
  --surface-2: #142048;   /* member dashboard (2026-10-09): raised rows, inputs, active nav item */

  /* data series: matrix position categories. Always shown with a text label, never colour alone. */
  --series-you: #53c68c;
  --series-up: #6f95ff;
  --series-wallet: #ffb800;
  --series-next: #45dcf7;
  --series-down: #ff7ab8;
  --series-recycle: #ff9152;

  /* type */
  --font-display: 'General Sans', Georgia, 'Times New Roman', serif;
  --font-text: 'Satoshi', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --fs-xs: 12px;
  --fs-sm: 14px;
  --fs-base: 16px;
  --fs-lg: 20px;
  --fs-xl: 24px;
  --fs-2xl: 30px;
  --fs-3xl: 40px;
  --fs-4xl: 52px;
  --fs-5xl: 64px;   /* hero headline, desktop */
  --fs-6xl: 96px;   /* display figures: 0.001 BTC */
  --fs-7xl: 168px;  /* the single largest figure on the page: 61 BTC */
  --heading-weight: 600;
  --body-weight: 400;
  --tracking: -0.02em;
  --line-height: 1.6;

  /* shape */
  --radius-sm: 4px;
  --radius: 8px;
  --radius-lg: 13px;
  --border: 1px;
  --shadow: 0 2px 8px rgb(0 0 0 / 0.08), 0 1px 2px rgb(0 0 0 / 0.04);

  /* rhythm - every gap and pad is a multiple of --space */
  --space: 4px;
  --space-1: calc(var(--space) * 1);
  --space-2: calc(var(--space) * 2);
  --space-3: calc(var(--space) * 3);
  --space-4: calc(var(--space) * 4);
  --space-6: calc(var(--space) * 6);
  --space-8: calc(var(--space) * 8);
  --space-12: calc(var(--space) * 12);

  /* motion */
  --motion-fast: 120ms;
  --motion-base: 180ms;
  --motion-ease: cubic-bezier(.22,1,.36,1);
}

/* No light ground: the theme is locked dark because the locked logo carries a
   white AUTO wordmark that disappears on a light ground (decided 2026-09-25). */

body {
  background: var(--ground);
  color: var(--ink);
  font-family: var(--font-text);
  font-size: var(--fs-base);
  line-height: var(--line-height);
}

h1, h2, h3 {
  font-family: var(--font-display);
  font-weight: var(--heading-weight);
  letter-spacing: var(--tracking);
  line-height: 1.1;
}
h1 { font-size: var(--fs-3xl); }
h2 { font-size: var(--fs-2xl); }
h3 { font-size: var(--fs-xl); }

/* Prices, counts and any column of figures. Tabular numerals stop the
   digits jumping sideways between rows. */
.numeric { font-variant-numeric: tabular-nums; }

/* Reduced motion: components only animate inside
   @media (prefers-reduced-motion: no-preference), so nothing needs to be forced off here. */
