:root {
  color-scheme: light;

  /* Brand and semantic color tokens */
  --color-bg: #fcfaf6;
  --color-surface: #ffffff;
  --color-surface-subtle: #f5f0e7;
  --color-surface-strong: #eee6d8;
  --color-text: #17120b;
  --color-text-muted: #6a6258;
  --color-border: #cfc4b3;
  --color-border-strong: #9f927f;

  --color-primary: #8a6218;
  --color-primary-hover: #7a5610;
  --color-primary-active: #6f4d0b;
  --color-primary-contrast: #ffffff;
  --color-primary-soft: #f2e7cf;

  --color-success: #1f6b48;
  --color-success-soft: #e5f2eb;
  --color-error: #a32d2d;
  --color-error-soft: #fae9e7;
  --color-warning: #835b09;
  --color-warning-soft: #f9efd6;
  --color-info: #2d64b3;
  --color-info-soft: #e9f0fb;
  --color-focus: #2d64b3;

  /* Typography */
  --font-family-base: "Vazirmatn", Tahoma, Arial, sans-serif;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-md: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.375rem;
  --font-size-2xl: 1.75rem;
  --font-size-3xl: 2.25rem;
  --font-size-4xl: 3rem;

  --line-height-tight: 1.45;
  --line-height-heading: 1.55;
  --line-height-body: 1.85;

  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Spacing: 4px base */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;

  /* Shape */
  --radius-sm: 0.5rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-pill: 999px;

  /* Elevation */
  --shadow-sm: 0 1px 2px rgb(23 18 11 / 0.08), 0 1px 3px rgb(23 18 11 / 0.05);
  --shadow-md: 0 8px 24px rgb(23 18 11 / 0.10);
  --shadow-lg: 0 20px 50px rgb(23 18 11 / 0.14);

  /* Layout */
  --container-narrow: 46rem;
  --container-default: 72rem;
  --container-wide: 84rem;
  --header-height: 4.5rem;

  /* Motion */
  --duration-fast: 120ms;
  --duration-normal: 180ms;
  --duration-slow: 260ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-emphasized: cubic-bezier(0.2, 0.8, 0.2, 1);

  /* Z-index layers */
  --z-base: 0;
  --z-header: 20;
  --z-overlay: 50;
  --z-dialog: 60;
}

/* Breakpoint contract for testing:
   360px: narrow mobile baseline
   768px / 48rem: tablet and compact desktop
   1024px / 64rem: desktop navigation and multi-column content
   1440px / 90rem: wide desktop comfort limit
*/

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0.01ms;
    --duration-normal: 0.01ms;
    --duration-slow: 0.01ms;
  }
}
