/* ─────────────────────────────────────────────────────────────
   DO NOT EDIT — generated from brand/tokens.json by brand/build-tokens.py

   Internal tooling shares the product palette so a screenshot of an
   ops screen never looks like a different product.
   ───────────────────────────────────────────────────────────── */
:root {
  --paper: #FCF7EE;  /* Page and app ground */
  --paper-tint: #F5EFE4;  /* Secondary blocks, table headers, feature bar, letterboxed shots; on iOS also the pressed state of a `surfaceRaised` row, so it must stay a step DARKER than `canvas` */
  --surface-raised: #FFFCF6;  /* Cards, inputs, the resting fill of a tappable row */
  --line: #E9E2D5;  /* Default hairline */
  --line-chip: #E1D9CB;  /* Chips, inputs, logo frame, option-row borders — and on iOS the edge that makes a `surfaceRaised` card legible as a control at all, since the fill alone is 1 */
  --ink: #171310;  /* Headings, primary text, dark sections */
  --ink-body: #3E3A33;  /* Body copy, h1 subline */
  --ink-muted: #6B655B;  /* Mono labels, de-emphasised values */
  --accent: #9C2B22;  /* Cinnabar seal */
  --link: #3E3630;  /* Links and kickers */
  --link-hover: #171310;  /* Link hover / pressed — full ink */
  --link-tint: #F3EFE7;  /* Pale ink wash for a selected row or an active nav item */
  --correct: #37765F;  /* Right answer, drawn as a brush 圈 at the right edge of the row plus a 13% wash */
  --wrong: #D36900;  /* Wrong answer, drawn as a brush 叉 at the right edge of the row plus a 16% wash */
  --warning: #D36900;  /* Caution / expiry */
  --on-ink: #FAF9F7;  /* Text and glyphs drawn on top of an `ink` fill */
  --on-accent: #FAF9F7;  /* Text and glyphs on a `brand` fill */

  /* type — families from tokens.json. Load the faces with:
     <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Noto+Sans+TC:wght@400;500;600;700&family=Ma+Shan+Zheng&family=Literata:opsz,wght@7..72,400..700&display=swap"> */
  --text: 'Noto Sans TC', system-ui, -apple-system, sans-serif;
  --display: 'Space Grotesk', var(--text);
  --brush: 'Ma Shan Zheng', var(--text);
  --wordmark: 'Literata', var(--display);
  /* legacy aliases — all resolve to --text so existing rules need not change */
  --serif: var(--text);
  --sans: var(--text);
  --mono: var(--text);
  --han: var(--text);
}

@media (prefers-color-scheme: dark) {
  :root {
    --paper: #171310;
    --paper-tint: #1F1A16;
    --surface-raised: #241F1A;
    --line: #2E2822;
    --line-chip: #3A332B;
    --ink: #FAF9F7;
    --ink-body: #E6E0D4;
    --ink-muted: #A9A296;
    --accent: #D9694F;
    --link: #D8D0C4;
    --link-hover: #FAF9F7;
    --link-tint: #2A241E;
    --correct: #6BA88C;
    --wrong: #FCBC18;
    --warning: #FCBC18;
    --on-ink: #171310;
    --on-accent: #171310;
  }
}
