/* ===== Design Tokens / CSS Variables ===== */

:root {
  /* ---- Primary Colors ---- */
  --color-primary: #FF6B35;
  --color-primary-light: #FF8C5A;
  --color-primary-dark: #E55A25;
  --color-on-primary: #FFFFFF;

  /* ---- Gradients ---- */
  --gradient-primary: linear-gradient(135deg, #FF6B35 0%, #FF3366 100%);
  --gradient-hero: linear-gradient(135deg, #FFF5F0 0%, #FFF0EB 40%, #FFE4E0 100%);
  --gradient-card: linear-gradient(135deg, #FFFFFF 0%, #FFF8F5 100%);
  --gradient-accent: linear-gradient(135deg, #FF3366 0%, #FF6B35 100%);
  --gradient-glow: radial-gradient(ellipse at center, rgba(255,107,53,0.12) 0%, transparent 70%);

  /* ---- Secondary / Accent Colors ---- */
  --color-secondary: #FF3366;
  --color-accent: #FF3366;
  --color-accent-hover: #FF1A53;
  --color-success: #10B981;
  --color-warning: #F59E0B;
  --color-danger: #EF4444;

  /* ---- Neutral / Background Colors ---- */
  --color-bg-dark: #FAFAFA;
  --color-bg-card: #FFFFFF;
  --color-bg-card-hover: #FFF5F0;
  --color-bg-section: #FFF8F5;
  --color-bg-elevated: #FFFFFF;

  /* ---- Border Colors ---- */
  --color-border: rgba(0, 0, 0, 0.06);
  --color-border-light: rgba(0, 0, 0, 0.1);
  --color-border-accent: rgba(255, 107, 53, 0.3);

  /* ---- Text Colors ---- */
  --color-text-primary: #1A1A2E;
  --color-text-secondary: #6B7280;
  --color-text-muted: #9CA3AF;
  --color-text-on-dark: #1A1A2E;

  /* ---- Spacing Scale (4px base) ---- */
  --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;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;

  /* ---- Typography ---- */
  --font-heading: 'Space Grotesk', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --font-body: 'DM Sans', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

  /* Font Size Scale */
  --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: 2rem;      /* 32px */
  --text-4xl: 2.5rem;    /* 40px */
  --text-5xl: 3.5rem;    /* 56px */
  --text-hero: clamp(2rem, 6vw, 4.5rem);

  /* Line Height */
  --leading-none: 1;
  --leading-tight: 1.2;
  --leading-snug: 1.35;
  --leading-normal: 1.5;
  --leading-relaxed: 1.75;

  /* Font Weight */
  --weight-normal: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* ---- Border Radius ---- */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-2xl: 32px;
  --radius-full: 9999px;

  /* ---- Shadows ---- */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.1);
  --shadow-glow: 0 4px 24px rgba(255, 107, 53, 0.2);
  --shadow-glow-accent: 0 4px 24px rgba(255, 51, 102, 0.2);

  /* ---- Transitions ---- */
  --transition-fast: 150ms ease;
  --transition-base: 200ms ease;
  --transition-slow: 300ms ease;
  --transition-spring: 300ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ---- Z-Index Scale ---- */
  --z-base: 0;
  --z-dropdown: 10;
  --z-sticky: 20;
  --z-fixed: 40;
  --z-modal-backdrop: 50;
  --z-modal: 60;
  --z-toast: 100;
  --z-tooltip: 110;

  /* ---- Container ---- */
  --container-max: 1440px;
  --container-padding: var(--space-6);

  /* ---- Breakpoints (for reference in JS) ---- */
  /* Mobile: 375px, Tablet: 768px, Desktop: 1024px, Large: 1440px */
}
