/* The Living Master — design tokens
   Generated from tokens.json. Edit tokens.json first, then mirror changes here;
   there is no build step that keeps these in sync automatically. */
:root {
  /* color */
  --forest-900: #123B2D;
  --forest-800: #184A38;
  --forest-700: #245D48;
  --ivory-50: #FBF7EE;
  --ivory-100: #F5EFE3;
  --ivory-200: #E9DFCF;
  --ink-900: #183129;
  --ink-600: #5F6E67;
  --line: #D8CEBE;
  --surface: #FFFDF8;
  --danger: #8B3A34;
  --focus: #2F7660;

  /* type */
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-ui: 'Inter', system-ui, sans-serif;

  --wordmark-size: 21px;   --wordmark-weight: 500; --wordmark-lh: 1.2;
  --hero-size: 34px;       --hero-weight: 500;     --hero-lh: 1.13;
  --pageTitle-size: 30px;  --pageTitle-weight: 500; --pageTitle-lh: 1.2;
  --sectionLabel-size: 11px; --sectionLabel-weight: 600; --sectionLabel-lh: 1.3; --sectionLabel-tracking: 0.08em;
  --body-size: 16px;       --body-weight: 400;     --body-lh: 1.5;
  --small-size: 13px;      --small-weight: 400;    --small-lh: 1.45;
  --companion-lh: 1.6;

  /* message roles */
  --message-user-bg: var(--ivory-100);
  --message-user-radius: var(--radius-row);
  --message-user-indent: 32px;
  --message-user-spaceY: 16px;
  --message-user-paddingY: 12px;
  --message-user-paddingX: 16px;
  --message-companion-spaceY: 24px;

  /* illustration */
  --illustration-opacity-practice: 1;
  --illustration-opacity-textheavy: 0.08;

  /* space */
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px;
  --space-6: 24px; --space-8: 32px; --space-10: 40px; --space-12: 48px;

  /* radius */
  --radius-field: 14px; --radius-row: 14px; --radius-button: 12px; --radius-panel: 18px; --radius-round: 999px;

  /* border */
  --border-thin: 1px;

  /* layout */
  --content-padding-x: 24px;
  --header-height: 64px;
  --tabbar-height: 76px;
  --touch-target-min: 44px;
  --content-max-width: 560px;

  /* motion */
  --motion-fast: 140ms;
  --motion-standard: 220ms;
  --motion-easing: cubic-bezier(0.2, 0, 0, 1);
}

@media (prefers-reduced-motion: reduce) {
  :root { --motion-fast: 0ms; --motion-standard: 0ms; }
}
