/* ─────────────────────────────────────────────────────────
   Reasonable Person — shared design tokens
   A logic curriculum site. The visual language borrows from
   the printed logic textbook: ink, paper, proof notation,
   and the quiet authority of a well-set argument.
───────────────────────────────────────────────────────── */

:root {
  /* Color */
  --ink:            #14171F;   /* primary dark ground */
  --ink-soft:       #1E2330;   /* raised panels on ink */
  --ink-line:       #2C3242;   /* hairlines on ink */
  --paper:          #EDE7D9;   /* aged paper ground */
  --paper-soft:     #F6F2E8;   /* raised panels on paper */
  --paper-line:     #D9D0BB;   /* hairlines on paper */
  --brass:          #B08D57;   /* accent — the single warm note */
  --brass-bright:   #CBA669;
  --oxide:          #A1443C;   /* invalid / error */
  --text-on-ink:    #F2EFE6;
  --text-muted-ink: #9AA0B0;
  --text-on-paper:  #1B1F2A;
  --text-muted-paper: #6B6455;

  /* Type */
  --font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body:    'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:    'IBM Plex Mono', 'Courier New', monospace;

  /* Layout */
  --radius: 3px;
  --shadow-card: 0 20px 60px -20px rgba(20, 23, 31, 0.45);
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  font-family: var(--font-body);
  color: var(--text-on-paper);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; }

:focus-visible {
  outline: 2px solid var(--brass);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}
