/* GENERATED by tools/gen_books_tokens.py from design/tokens/thumabooks.tokens.json — do not edit by hand. */
/* ADOPTED 2026-10-04 — Option A, plum on slate (decisions/2026-10-04-thumabooks-product-palette.md). */

/* Dark only: this site is designed dark, so the dark theme is set
   whatever the system prefers. */
:root {
  --tb-font-display: Manrope, Inter, system-ui, sans-serif;
  --tb-font-text: Inter, system-ui, sans-serif;
  --tb-font-mono: "JetBrains Mono", ui-monospace, monospace;
  --tb-size-caption: 12px;
  --tb-size-body-sm: 13px;
  --tb-size-body: 15px;
  --tb-size-title: 18px;
  --tb-size-heading: 22px;
  --tb-size-display: 30px;
  --tb-size-figure: 40px;
  --tb-weight-regular: 400;
  --tb-weight-medium: 500;
  --tb-weight-semibold: 600;
  --tb-weight-bold: 700;
  --tb-weight-heavy: 800;
  --tb-space-1: 4px;
  --tb-space-2: 8px;
  --tb-space-3: 12px;
  --tb-space-4: 16px;
  --tb-space-5: 20px;
  --tb-space-6: 24px;
  --tb-space-8: 32px;
  --tb-space-10: 40px;
  --tb-space-12: 48px;
  --tb-radius-sm: 8px;
  --tb-radius-md: 12px;
  --tb-radius-lg: 16px;
  --tb-radius-pill: 999px;
  --tb-shadow-card: 0 1px 2px rgba(9,13,18,.06), 0 6px 20px rgba(9,13,18,.06);
  --tb-shadow-overlay: 0 24px 64px rgba(9,13,18,.35);
  --tb-glass-blur: 18px;
  --tb-duration-instant: 90ms;
  --tb-duration-quick: 160ms;
  --tb-duration-base: 240ms;
  --tb-duration-settle: 900ms;
  --tb-ease-standard: cubic-bezier(.2,0,0,1);
  --tb-ease-settle: cubic-bezier(.34,1.3,.64,1);
  --tb-ease-exit: cubic-bezier(.3,0,1,1);
  --tb-touch: 44px;
  --tb-row-compact: 32px;
  --tb-row-comfortable: 44px;
  --tb-content-max: 1360px;
  --tb-bg: #090d12;
  --tb-surface: #0e141b;
  --tb-surface-raised: #131b24;
  --tb-surface-sunken: #090d12;
  --tb-brand-surface: #2a0f24;
  --tb-on-brand: #f5f7f9;
  --tb-border: #24303d;
  --tb-border-subtle: #18222d;
  --tb-chip: #18222d;
  --tb-field: #18222d;
  --tb-text: #f5f7f9;
  --tb-text-muted: #aeb8c3;
  --tb-text-faint: #8794a2;
  --tb-action: #d97bb8;
  --tb-action-ink: #e9a3d0;
  --tb-on-action: #090d12;
  --tb-action-soft: #3a2234;
  --tb-action-soft-border: #5a2e4c;
  --tb-analytics: #8c7bff;
  --tb-inflow: #2df0b4;
  --tb-inflow-soft: rgba(0,214,154,0.13);
  --tb-outflow: #ff7a8f;
  --tb-outflow-soft: rgba(255,122,143,0.13);
  --tb-warning: #ffb84d;
  --tb-warning-soft: rgba(255,184,77,0.13);
  --tb-focus: #d97bb8;
  --tb-glass: rgba(24,34,45,0.70);
  --tb-glass-border: rgba(255,255,255,0.10);
  --tb-chart-grid: #18222d;
  --tb-chart-inflow: #00ad7d;
  --tb-chart-outflow: #c93049;
  color-scheme: dark;
}

/* Figures line up in columns: every number is tabular. */
.tb-num { font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; }
.tb-figure { font-family: var(--tb-font-display); font-size: var(--tb-size-figure); font-weight: var(--tb-weight-bold); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.tb-glass { background: var(--tb-glass); border: 1px solid var(--tb-glass-border); backdrop-filter: blur(var(--tb-glass-blur)); -webkit-backdrop-filter: blur(var(--tb-glass-blur)); }

/* Breakpoints: tablet 600px · desktop 1024px · wide 1440px. Custom properties cannot be used inside @media, so these are the numbers to use. */
@media (prefers-reduced-motion: reduce) {
  :root { --tb-duration-quick: 0ms; --tb-duration-base: 0ms; --tb-duration-settle: 0ms; }
}
