/* tokens:begin. Generated by scripts/tokens.py from tokens.json; edit tokens.json, then run tokens.py build. */
:root,
[data-theme="dark"] {
  --aq-bg: #000000;
  --aq-surface: #141414;
  --aq-surface-hover: #1c1c1c;
  --aq-surface-active: #232323;
  --aq-text: #f5f5f5;
  --aq-muted: #a1a1a1;
  /* Raised one step on 2026-11-08 so it reaches 4.5:1 on surface (4.95:1) and surface-hover (4.57:1). */
  --aq-muted-strong: #848488;
  /* Labels: the text at 60% over the page (emails use the hex). */
  --aq-label: #939393;
  --aq-line: rgba(255, 255, 255, 0.12);
  --aq-line-strong: rgba(255, 255, 255, 0.24);
  --aq-accent: #9ed4a8;
  --aq-accent-soft: rgba(158, 212, 168, 0.08);
  --aq-accent-contrast: #0a0a0a;
  --aq-info-bg: #161f3f;
  --aq-info-text: #6d8dff;
  --aq-success-bg: #13291b;
  --aq-success-text: #8fd6a2;
  --aq-danger: #e5837c;
  --aq-danger-bg: #2a1412;
  --aq-danger-text: #f2b8b2;
  --aq-shadow-popover: 0 24px 48px rgba(0, 0, 0, 0.6);
  --aq-shadow: #000000;
  /* A shadow can't separate black from black, so popovers sit on the surface grey. */
  --aq-popover-bg: #141414;
  /* One step up from the popover fill. */
  --aq-popover-tint: #232323;
  --aq-pdf-page: #ffffff;
  --aq-teaser-paper: #ffffff;
  --aq-teaser-band: #f5f5f7;
  --aq-teaser-ink: #1d1d1f;
  --aq-teaser-muted: #6e6e73;
  --aq-teaser-muted-strong: #48484a;
  --aq-teaser-line: rgba(0, 0, 0, 0.2);
  --aq-teaser-series-1: #1340d6;
  --aq-teaser-series-2: #1d1d1f;
  /* None: a shadow can't show on black. */
  --aq-shadow-lift: none;
  /* Lifted a step off the page, below the popover grey, so menus from it still float. */
  --aq-sidebar-bg: #0a0a0a;
  --aq-shadow-sidebar: none;
  --aq-shadow-sidebar-right: none;
}

[data-theme="light"] {
  /* Page. */
  --aq-bg: #ffffff;
  /* Panels, stat cells, chips, fields. */
  --aq-surface: #f5f5f7;
  /* Second fill level; the one hover grey. */
  --aq-surface-hover: #ebebed;
  /* Third fill level. */
  --aq-surface-active: #e2e2e6;
  /* Text. */
  --aq-text: #1d1d1f;
  /* Ledes, secondary text, labels. */
  --aq-muted: #6e6e73;
  /* Captions, section numbers. */
  --aq-muted-strong: #48484a;
  /* Labels: the text at 60% over the page, as a solid colour (user decisions 2026-11-13: option D at 45%, then a bit darker). Every label uses var(--aq-label); emails use the hex. */
  --aq-label: #777779;
  /* Table row hairlines. */
  --aq-line: rgba(0, 0, 0, 0.1);
  /* Rare emphasis line. */
  --aq-line-strong: rgba(0, 0, 0, 0.2);
  /* Links, positive status, one callout. Never decoration. */
  --aq-accent: #3d8a52;
  /* Callout tint. */
  --aq-accent-soft: rgba(61, 138, 82, 0.08);
  /* Text on an accent fill. */
  --aq-accent-contrast: #ffffff;
  /* Informational strip (Cobalt, from the project palette). */
  --aq-info-bg: #e7ecfb;
  --aq-info-text: #1340d6;
  /* Done / positive chip. */
  --aq-success-bg: #e5f3e9;
  --aq-success-text: #2e7445;
  /* Negative values, warnings. */
  --aq-danger: #b3261e;
  /* Error box fill (with --aq-danger-text). */
  --aq-danger-bg: #fdecea;
  --aq-danger-text: #7a1f16;
  /* Floating surfaces (search results, menus). No borders: the edge is layered soft shadow. */
  --aq-shadow-popover:
    0 2px 4px rgba(0, 0, 0, 0.04),
    0 12px 24px -6px rgba(0, 0, 0, 0.1),
    0 32px 48px -12px rgba(0, 0, 0, 0.12);
  /* Shadow ink. One-off shadows write color-mix(in srgb, var(--aq-shadow) N%, transparent). */
  --aq-shadow: #000000;
  /* Popover fill. */
  --aq-popover-bg: #ffffff;
  /* The one tint inside a popover (hovered row, footer band). */
  --aq-popover-tint: #f5f5f7;
  /* A PDF page in the document viewer: white paper in both themes. */
  --aq-pdf-page: #ffffff;
  /* Structured teaser (TeaserView): paper, the same printed colours in both themes. */
  --aq-teaser-paper: #ffffff;
  --aq-teaser-band: #f5f5f7;
  --aq-teaser-ink: #1d1d1f;
  --aq-teaser-muted: #6e6e73;
  --aq-teaser-muted-strong: #48484a;
  --aq-teaser-line: rgba(0, 0, 0, 0.2);
  /* Chart series 1: Cobalt. */
  --aq-teaser-series-1: #1340d6;
  /* Chart series 2: ink. */
  --aq-teaser-series-2: #1d1d1f;
  /* Soft lift under a hovered inline link. */
  --aq-shadow-lift:
    0 1px 1px rgba(0, 0, 0, 0.03),
    0 2px 8px -2px rgba(0, 0, 0, 0.06);
  /* App shell side panel: white like the page, set apart by a faint shadow. */
  --aq-sidebar-bg: #ffffff;
  --aq-shadow-sidebar:
    1px 0 1px rgba(0, 0, 0, 0.012),
    3px 0 12px -6px rgba(0, 0, 0, 0.03);
  --aq-shadow-sidebar-right:
    -1px 0 1px rgba(0, 0, 0, 0.012),
    -3px 0 12px -6px rgba(0, 0, 0, 0.03);
}

:root {
  /* One typeface for everything (2026-10-28). The wordmark alone is outlined Outfit inside the lockup SVG. */
  --aq-font: "Satoshi", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  /* Headings are the same face. */
  --aq-font-heading: "Satoshi", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  /* Codes and tickers. */
  --aq-font-mono: ui-monospace, "SFMono-Regular", "Menlo", monospace;
  /* Display headlines and page / view / cover titles (h1). */
  --aq-weight-title: 700;
  /* Numbers and stats. */
  --aq-weight-number: 700;
  /* Section headings (h2), sub-headings, item titles, names (h3, .name). */
  --aq-weight-heading: 500;
  /* Buttons; table first column. */
  --aq-weight-button: 500;
  /* Body, ledes, labels, navigation, captions, table cells. */
  --aq-weight-body: 400;
  /* Labels, eyebrows, field titles, column heads: 9px capitals (user decisions 2026-11-13). */
  --aq-label-size: 9px;
  /* Labels: 600, the one place the brand uses it (user decision 2026-11-13, option D). */
  --aq-label-weight: 600;
  /* Letter spacing on label capitals. */
  --aq-label-tracking: 0.06em;
  /* Square corners everywhere. Only people (avatars) and status dots are round. */
  --aq-radius: 0;
  --aq-radius-lg: 0;
  --aq-transition: 150ms ease;
  /* Company favicons and avatars inside rows, fields and nav: one size everywhere. */
  --aq-favicon-size: 14px;
  --aq-favicon-radius: 0;
  --aq-favicon-fallback-font: 9px;
  /* The only larger size: a company's logo as the title of its own page. */
  --aq-favicon-size-hero: 28px;
  /* Signed-in user's avatar. */
  --aq-avatar-size: 28px;
}
/* tokens:end */
