/* Semantic design tokens. Per-theme files in this folder override these. */

:root {
  /* Surfaces */
  --bg: #0a0a0f;
  --surface: #15151c;
  --surface-2: #1f1f2a;
  --reading-surface: #fff6ec; /* always cream for reading content */

  /* Ink (text) */
  --ink: #f4f4f6;
  --ink-2: #b8b8c4;
  --ink-3: #6e6e7a;
  --ink-on-reading: #1a1a22;

  /* Accents */
  --accent: #f7b5cd;
  --accent-2: #c8ff3e;
  --accent-3: #c0c7cf;

  /* Semantic */
  --success: #4ade80;
  --danger: #ef4444;
  --warn: #fbbf24;

  /* Borders */
  --border: rgba(255, 255, 255, 0.08);
  --border-strong: rgba(255, 255, 255, 0.18);

  /* Spacing scale (8pt rhythm) */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 24px;
  --s-6: 32px;
  --s-7: 48px;
  --s-8: 64px;

  /* Radii */
  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 22px;
  --r-pill: 999px;

  /* Type scale */
  --t-12: 12px;
  --t-14: 14px;
  --t-16: 16px;
  --t-18: 18px;
  --t-20: 20px;
  --t-24: 24px;
  --t-32: 32px;
  --t-44: 44px;
  --t-64: 64px;

  /* Font families - per-theme overrides */
  --font-display: "Inter", system-ui, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
  --font-num: "Inter", ui-monospace, monospace;

  /* Base size (per-theme override) */
  --body-size: 17px;

  /* Motion */
  --dur-1: 120ms;
  --dur-2: 220ms;
  --dur-3: 320ms;
  --dur-exit: 160ms;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  /* Elevation */
  --shadow-1: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-2: 0 8px 24px rgba(0, 0, 0, 0.35);
  --shadow-3: 0 24px 60px rgba(0, 0, 0, 0.5);

  /* Z scale */
  --z-base: 0;
  --z-sticky: 10;
  --z-overlay: 40;
  --z-modal: 100;
  --z-toast: 1000;

  /* Touch target minimum */
  --tap-min: 44px;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-1: 0ms;
    --dur-2: 0ms;
    --dur-3: 0ms;
    --dur-exit: 0ms;
  }
}
