/* Design tokens — dark-first contemplative palette */
:root {
  color-scheme: dark;

  --bg: #0e0e10;
  --bg-elevated: #16161a;
  --bg-soft: #1c1c22;
  --border: rgba(243, 239, 230, 0.08);
  --border-strong: rgba(243, 239, 230, 0.16);

  --text: #f3efe6;
  --text-soft: rgba(243, 239, 230, 0.78);
  --text-mute: rgba(243, 239, 230, 0.42);
  --text-faint: rgba(243, 239, 230, 0.28);

  --accent: #c4b59a;
  --accent-soft: rgba(196, 181, 154, 0.18);

  --font-ui: system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell,
    "Noto Sans", sans-serif;
  --font-body: var(--font-ui);
  --font-he: "Noto Serif Hebrew", "Noto Sans Hebrew", "Times New Roman", serif;

  --text-xs: 0.72rem;
  --text-sm: 0.875rem;
  --text-base: clamp(1.05rem, 0.95rem + 0.4vw, 1.2rem);
  --text-lg: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  --text-xl: clamp(1.45rem, 1.2rem + 1vw, 1.85rem);

  --leading-body: 1.75;
  --leading-tight: 1.35;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4.5rem;

  --measure: 38rem;
  --radius: 0.75rem;
  --radius-sm: 0.4rem;

  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --dur: 280ms;
  --dur-fast: 160ms;

  /* Mask: duration + calm ease-in-out (slow start, slow end). */
  --mask-dur: 2840ms;
  --mask-ease: cubic-bezier(0.62, 0.02, 0.38, 1);

  /* Synopse brace / stamp / cards */
  --parallel-dur: 280ms;
  --parallel-out-dur: 560ms;
  --parallel-ease: var(--ease);
  --rail-synopse: #c4b59a;
  --rail-vetero: #6e9aa8;
  --rail-accomplissement: #6e9aa8;

  /* In-book chapter rail glide */
  --chapter-dur: 1200ms;
  --chapter-ease: cubic-bezier(0.62, 0.02, 0.38, 1);

  /* Site pager: edge snap vs committed fly-off */
  --swipe-snap-dur: 380ms;
  --swipe-snap-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --swipe-commit-dur: 420ms;
  --swipe-commit-ease: cubic-bezier(0.22, 1, 0.36, 1);

  --header-h: 2.2rem;
  --footer-h: 0.7rem;
  --rail-gap: 0.7rem;
  --edition-dim: 0.95;
  --edition-gap: 1.65rem;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --safe-right: env(safe-area-inset-right, 0px);

  --chapter-estimate: 28rem;
}
