/* ============================================================
   tokens.css — shared design tokens + reset
   The Eight Characters · BaZi reading template
   ============================================================ */

:root {
  --paper:        #F5F1E8;
  --paper-deep:   #EFE9DB;
  --ink:          #1A1614;
  --ink-soft:     #1A1614CC;   /* ~80% */
  --ink-muted:    #1A161499;   /* ~60% */
  --ink-faint:    #1A161466;   /* ~40% */
  --ink-rule:     #1A1614BF;   /* ~75% — table rules */
  --hairline:     #1A16141F;   /* ~12% */
  --hairline-2:   #1A161414;   /* ~8%  */
  --seal:         #7A2E1F;
  --seal-soft:    #7A2E1F22;

  --font-display: "DM Sans", system-ui, sans-serif;
  --font-body:    "Lora", Georgia, serif;
  --font-mono:    "Noto Sans Mono", "SFMono-Regular", Menlo, monospace;
  --font-ledger:  "IBM Plex Mono", "Noto Sans Mono", monospace;

  --pad-page:     24px;
  --max-text:     640px;
  --max-content:  720px;
  --ease:         cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* ============================================================
   Reset
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }

body {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.6;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

img { max-width: 100%; display: block; }
a   { color: inherit; text-decoration: none; }
