/* Design Tokens - Transdisciplinary Skeleton v1.0 */

:root {
  /* Primitive Tokens - Raw Values */

  /* Colors */
  --color-neutral-50: #fafafa;
  --color-neutral-100: #f4f4f5;
  --color-neutral-200: #e4e4e7;
  --color-neutral-300: #d4d4d8;
  --color-neutral-400: #a1a1aa;
  --color-neutral-500: #71717a;
  --color-neutral-600: #52525b;
  --color-neutral-700: #3f3f46;
  --color-neutral-800: #27272a;
  --color-neutral-900: #18181b;
  --color-neutral-950: #141414;

  --color-brand-light: #D4C5E8;
  --color-brand-base: #BAA7CC;
  --color-brand-dark: #9B85B0;

  /* Spacing */
  --space-1: 0.25rem;  /* 4px */
  --space-2: 0.5rem;   /* 8px */
  --space-3: 0.75rem;  /* 12px */
  --space-4: 1rem;     /* 16px */
  --space-5: 1.25rem;  /* 20px */
  --space-6: 1.5rem;   /* 24px */
  --space-8: 2rem;     /* 32px */
  --space-10: 2.5rem;  /* 40px */
  --space-12: 3rem;    /* 48px */
  --space-16: 4rem;    /* 64px */
  --space-20: 5rem;    /* 80px */
  --space-24: 6rem;    /* 96px */

  /* Typography */
  --font-sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, monospace;

  --text-xs: 0.75rem;    /* 12px */
  --text-sm: 0.875rem;   /* 14px */
  --text-base: 1rem;     /* 16px */
  --text-lg: 1.125rem;   /* 18px */
  --text-xl: 1.25rem;    /* 20px */
  --text-2xl: 1.5rem;    /* 24px */
  --text-3xl: 1.875rem;  /* 30px */
  --text-4xl: 2.25rem;   /* 36px */
  --text-5xl: 3rem;      /* 48px */
  --text-6xl: 3.75rem;   /* 60px */

  --leading-tight: 1.25;
  --leading-snug: 1.375;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  --leading-loose: 2;

  /* Effects */
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-full: 9999px;

  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
  --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);

  /* Transitions */
  --duration-fast: 150ms;
  --duration-normal: 250ms;
  --duration-slow: 350ms;
  --easing-default: cubic-bezier(0.4, 0, 0.2, 1);

  /* Semantic Tokens - Purpose-based */

  /* Colors */
  --color-bg: var(--color-neutral-950);
  --color-bg-subtle: var(--color-neutral-900);
  --color-bg-muted: var(--color-neutral-800);

  --color-text: #e5e5e5;
  --color-text-muted: var(--color-neutral-400);
  --color-text-subtle: var(--color-neutral-500);

  --color-brand: var(--color-brand-base);
  --color-brand-hover: var(--color-brand-light);
  --color-brand-active: var(--color-brand-dark);

  --color-border: var(--color-neutral-800);
  --color-border-subtle: var(--color-neutral-900);

  --color-focus: var(--color-brand-base);
  --color-error: #ef4444;
  --color-success: #10b981;

  /* Component Tokens */

  /* Card */
  --card-bg: var(--color-bg-subtle);
  --card-border: var(--color-border);
  --card-radius: var(--radius-lg);
  --card-shadow: 0 6px 24px rgba(0, 0, 0, 0.2);
  --card-padding: var(--space-6);

  /* Button */
  --button-radius: var(--radius-md);
  --button-padding-x: var(--space-6);
  --button-padding-y: var(--space-3);

  /* Navigation */
  --nav-height: 4rem;
  --nav-bg: rgba(20, 20, 20, 0.95);
  --nav-backdrop: blur(12px);

  /* Layout */
  --container-max: 1280px;
  --container-padding: var(--space-6);
  --section-spacing: var(--space-20);
}

/* Media query for larger screens */
@media (min-width: 768px) {
  :root {
    --container-padding: var(--space-8);
    --section-spacing: var(--space-24);
  }
}