/* tokens.css — design tokens only: fonts, palette, type scale, spacing.
   No selectors that render anything live here. */

@font-face {
  font-family: "Geist";
  src: url("/assets/fonts/geist-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Geist";
  src: url("/assets/fonts/geist-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* Light theme (default). */
:root,
:root[data-theme="light"] {
  --bg: #f8f8f6;
  --fg: #171717;
  --muted: #707070; /* 4.6:1 on bg: passes AA for small text */
  --border: #deded9;
  --surface: #eeeeeb;
  color-scheme: light;
}

/* Explicit dark override. */
:root[data-theme="dark"] {
  --bg: #111111;
  --fg: #ededed;
  --muted: #8c8c8c;
  --border: #303030;
  --surface: #1c1c1c;
  color-scheme: dark;
}

/* "System" follows the OS. */
@media (prefers-color-scheme: dark) {
  :root[data-theme="system"] {
    --bg: #111111;
    --fg: #ededed;
    --muted: #8c8c8c;
    --border: #303030;
    --surface: #1c1c1c;
    color-scheme: dark;
  }
}

:root {
  --sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI",
    "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, "SF Mono", "JetBrains Mono",
    Menlo, Consolas, monospace;

  --measure: 660px;   /* narrow reading column */
  --body: 1.125rem;   /* 18px */
  --meta: 0.875rem;   /* 14px */
  --small: 0.8125rem; /* 13px */

  --ease: cubic-bezier(0.2, 0, 0.2, 1);
  --hover-ms: 200ms;  /* 150–250ms: affordance, not decoration */
}
