/* ============================================
   FOLIO DESIGN TOKENS
   Source of truth: Figma "🎨 Design System" page
   ============================================ */

:root {
  /* Primitives */
  --violet-600: #7C3AED;
  --sky-400: #38BDF8;
  --ink-900: #121213;
  --gray-600: #6B6B73;
  --gray-300: #DEDEE1;
  --gray-100: #F5F5F7;
  --white: #FFFFFF;

  /* Semantic — light (default) */
  --color-text-primary: var(--ink-900);
  --color-text-secondary: var(--gray-600);
  --color-text-inverse: var(--white);
  --color-accent: var(--violet-600);
  --color-accent-soft: #A78BFA;
  --color-bg-page: var(--white);
  --color-bg-subtle: var(--gray-100);
  --color-bg-card: var(--white);
  --color-bg-inverse: var(--ink-900);
  --color-border: var(--gray-300);

  /* Brand gradient */
  --grad-brand: linear-gradient(90deg, var(--violet-600), var(--sky-400));
  --grad-brand-inverse: linear-gradient(90deg, #00AEFB, #5B00F8);
  --grad-wash: linear-gradient(180deg,
      rgba(124, 58, 237, 0.16) 0%,
      rgba(56, 189, 248, 0.09) 30%,
      rgba(255, 255, 255, 0) 100%);

  /* Spacing */
  --space-xs: 4px;  --space-sm: 8px;   --space-md: 16px;
  --space-lg: 24px; --space-xl: 32px;  --space-2xl: 48px;
  --space-3xl: 64px; --space-4xl: 80px; --space-5xl: 96px;

  /* Radius */
  --radius-sm: 8px; --radius-md: 12px; --radius-lg: 16px; --radius-full: 999px;

  /* Type — Geist single-family system */
  --font-sans: "Geist", system-ui, -apple-system, sans-serif;
  --font-mono: "Geist Mono", ui-monospace, monospace;

  --text-display: clamp(2.5rem, 6vw, 5.5rem);     /* 88 desktop */
  --text-h2: clamp(1.75rem, 3.2vw, 2.5rem);        /* 40 */
  --text-h3: clamp(1.5rem, 2.6vw, 1.875rem);       /* 30 */
  --text-title: 1.5rem;                             /* 24 */
  --text-lead: clamp(1.125rem, 1.8vw, 1.375rem);   /* 22 */
  --text-body: 1.0625rem;                           /* 17 */
  --text-small: 0.9375rem;                          /* 15 */
  --text-meta: 0.6875rem;                           /* 11 */

  --page-max: 1440px;
  --page-pad: clamp(20px, 5.5vw, 80px);
}

[data-theme="dark"] {
  --color-text-primary: var(--white);
  --color-text-secondary: #B8B8C0;
  --color-accent: var(--color-accent-soft);
  --color-bg-page: var(--ink-900);
  --color-bg-subtle: #1C1C1F;
  --color-bg-card: #232326;
  --color-border: #2E2E33;
  --grad-wash: linear-gradient(180deg,
      rgba(124, 58, 237, 0.20) 0%,
      rgba(56, 189, 248, 0.10) 30%,
      rgba(18, 18, 19, 0) 100%);
}
