/* RAIDER design tokens — the single source of truth for colour, type, space, motion. Do not fork; extend in page CSS. */
:root {
  /* ink (surfaces) */
  --void: #07090B;
  --ink-0: #07090B;
  --ink-1: #0B0E11;
  --ink-2: #10141A;
  --ink-3: #161B22;
  --ink-4: #1D232C;
  --line: #232B35;
  --line-2: #323C49;

  /* text */
  --bone: #ECE7DA;
  --bone-2: #B7B1A2;
  --steel: #838B98;
  --fog: #5A6270;

  /* signal — each colour owns ONE meaning (see SPEC §4) */
  --raid: #FF4B1F;      /* Raider / hostile action */
  --raid-hi: #FF6A42;
  --raid-lo: #E03A12;
  --raid-ink: #1A0803;
  --raid-glow: rgba(255, 75, 31, .28);
  --amber: #F4B63F;     /* value held: treasury, SOL, warnings */
  --mint: #34E3A0;      /* captured / gain / live-OK */
  --cold: #6FC4FF;      /* SIMULATED / paper */
  --loss: #FF5D7A;      /* loss / danger */

  /* paper theme (Raider Research reports) */
  --paper: #F1EBDD;
  --paper-2: #E8E0CE;
  --paper-ink: #14110D;
  --paper-ink-2: #4A453B;
  --paper-rule: #D93A12;
  --paper-line: #CFC6B0;
  --paper-rule-ink: color-mix(in srgb, var(--paper-rule) 72%, var(--paper-ink)); /* the rule red for SMALL TEXT on paper (--paper-rule itself is 3.9:1; this is 4.9:1) */
  --paper-rule-solid: #C2310E; /* the rule red BEHIND light text (a button, a stamp): 4.9:1 with --accent-ink */

  /* semantic aliases — components use these so [data-theme="paper"] just works */
  --bg: var(--ink-1);
  --surface: var(--ink-2);
  --surface-2: var(--ink-3);
  --surface-3: var(--ink-4);
  --text: var(--bone);
  --text-2: var(--bone-2);
  --text-3: var(--steel);
  --text-4: #7E8694; /* the quietest TEXT tone: 4.5:1 on ink-0 to ink-3. --fog (#5A6270) is for lines and glyphs, not words (it is 3.2:1) */
  --hair: var(--line);
  --hair-2: var(--line-2);
  --accent: var(--raid);
  --accent-hi: var(--raid-hi);
  --accent-ink: var(--raid-ink);

  /* type */
  --font-display: "Big Shoulders Display", "Bahnschrift", "Arial Narrow", Impact, sans-serif;
  --font-sans: "IBM Plex Sans", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", "Cascadia Mono", Consolas, ui-monospace, "SFMono-Regular", Menlo, monospace;
  --font-serif: "IBM Plex Serif", Georgia, "Times New Roman", serif;

  --fs-2xs: 10px;
  --fs-xs: 11px;
  --fs-sm: 13px;
  --fs-md: 15px;
  --fs-lg: 18px;
  --fs-xl: 24px;
  --fs-2xl: 34px;
  --fs-3xl: clamp(40px, 5.4vw, 72px);
  --fs-4xl: clamp(52px, 8.6vw, 128px);
  --fs-hero: clamp(54px, 10.4vw, 176px);

  /* space (4px base) */
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 20px; --s-6: 24px;
  --s-8: 32px; --s-10: 40px; --s-12: 48px; --s-16: 64px; --s-20: 80px; --s-24: 96px; --s-32: 128px;

  /* layout */
  --maxw: 1280px;
  --gutter: clamp(16px, 4vw, 48px);
  --nav-h: 60px;
  --banner-h: 30px;

  /* shape */
  --cut: 12px;          /* chamfer used on primary buttons / key cards (echoes the logo) */
  --tick: 10px;         /* viewfinder corner tick length */

  /* motion */
  --ease: cubic-bezier(.2, .8, .2, 1);
  --t-fast: 140ms;
  --t-med: 220ms;
  --t-slow: 420ms;

  /* elevation */
  --shadow-1: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 10px 30px rgba(0, 0, 0, .38);
  --glow-raid: 0 0 0 1px rgba(255, 75, 31, .55), 0 0 36px rgba(255, 75, 31, .22);

  color-scheme: dark;
}

/* Paper theme: Raider Research reports. Serif, cream, red rule — activist research, not startup. */
[data-theme="paper"] {
  --bg: var(--paper);
  --surface: var(--paper-2);
  --surface-2: #DFD6C0;
  --surface-3: #D4CAB1;
  --text: var(--paper-ink);
  --text-2: var(--paper-ink-2);
  --text-3: #5F594D;
  --text-4: #625C50;
  --hair: var(--paper-line);
  --hair-2: #B8AE96;
  --accent: var(--paper-rule-solid);
  --accent-hi: #E8461C;
  --accent-ink: #FFF6F0;
  color-scheme: light;
}

@media (prefers-reduced-motion: reduce) {
  :root { --t-fast: 0ms; --t-med: 0ms; --t-slow: 0ms; }
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
