/* ============================================
   EvalMind Design Tokens
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');

:root {
  /* ── Colors: Light Theme ── */
  --color-primary: #6C5CE7;
  --color-primary-hover: #5A4BD1;
  --color-primary-light: rgba(108, 92, 231, 0.1);
  --color-primary-rgb: 108, 92, 231;

  --color-accent: #00CEC9;
  --color-accent-hover: #00B5B0;
  --color-accent-light: rgba(0, 206, 201, 0.1);

  --color-success: #00B894;
  --color-success-light: rgba(0, 184, 148, 0.1);
  --color-warning: #FDCB6E;
  --color-warning-light: rgba(253, 203, 110, 0.15);
  --color-danger: #E17055;
  --color-danger-light: rgba(225, 112, 85, 0.1);
  --color-info: #74B9FF;
  --color-info-light: rgba(116, 185, 255, 0.1);

  --color-bg: #F8F9FE;
  --color-bg-secondary: #F0F2FA;
  --color-surface: #FFFFFF;
  --color-card: #FFFFFF;
  --color-card-hover: #FAFAFF;

  --color-text: #2D3436;
  --color-text-secondary: #636E72;
  --color-text-tertiary: #B2BEC3;
  --color-text-inverse: #FFFFFF;

  --color-border: #E8ECF4;
  --color-border-hover: #D1D8E8;
  --color-divider: #F0F2F5;

  /* Gradient */
  --gradient-primary: linear-gradient(135deg, #6C5CE7 0%, #A29BFE 100%);
  --gradient-accent: linear-gradient(135deg, #00CEC9 0%, #81ECEC 100%);
  --gradient-hero: linear-gradient(135deg, #6C5CE7 0%, #A29BFE 40%, #00CEC9 100%);
  --gradient-card: linear-gradient(135deg, rgba(108, 92, 231, 0.05) 0%, rgba(0, 206, 201, 0.05) 100%);
  --gradient-glass: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(255,255,255,0.7));

  /* ── Typography ── */
  --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --font-heading: 'Outfit', 'Inter', -apple-system, sans-serif;

  --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 */

  --leading-tight: 1.3;
  --leading-normal: 1.6;
  --leading-relaxed: 1.8;

  --font-light: 300;
  --font-regular: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  --font-extrabold: 800;

  /* ── Spacing ── */
  --space-0: 0;
  --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 */

  /* ── Border Radius ── */
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-2xl: 20px;
  --radius-full: 9999px;

  /* ── Shadows ── */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
  --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-xl: 0 16px 48px rgba(0, 0, 0, 0.12);
  --shadow-primary: 0 4px 24px rgba(108, 92, 231, 0.25);
  --shadow-accent: 0 4px 24px rgba(0, 206, 201, 0.25);

  /* ── Transitions ── */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;
  --transition-spring: 500ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ── Z-index ── */
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-overlay: 300;
  --z-modal: 400;
  --z-toast: 500;

  /* ── Layout ── */
  --container-sm: 640px;
  --container-md: 768px;
  --container-lg: 1024px;
  --container-xl: 1200px;
  --nav-height: 64px;
  --bottom-nav-height: 64px;
  --sidebar-width: 260px;
}

/* ── Dark Theme ── */
[data-theme="dark"] {
  --color-primary: #A29BFE;
  --color-primary-hover: #B8B3FF;
  --color-primary-light: rgba(162, 155, 254, 0.15);
  --color-primary-rgb: 162, 155, 254;

  --color-accent: #81ECEC;
  --color-accent-hover: #9CF5F5;
  --color-accent-light: rgba(129, 236, 236, 0.12);

  --color-success: #55EFC4;
  --color-success-light: rgba(85, 239, 196, 0.12);
  --color-warning: #FFEAA7;
  --color-warning-light: rgba(255, 234, 167, 0.12);
  --color-danger: #FAB1A0;
  --color-danger-light: rgba(250, 177, 160, 0.12);
  --color-info: #74B9FF;
  --color-info-light: rgba(116, 185, 255, 0.12);

  --color-bg: #0F0F23;
  --color-bg-secondary: #141432;
  --color-surface: #1A1A2E;
  --color-card: #16213E;
  --color-card-hover: #1B2845;

  --color-text: #E8ECF4;
  --color-text-secondary: #B2BEC3;
  --color-text-tertiary: #636E72;
  --color-text-inverse: #0F0F23;

  --color-border: #2D3460;
  --color-border-hover: #3D4470;
  --color-divider: #232352;

  --gradient-primary: linear-gradient(135deg, #A29BFE 0%, #6C5CE7 100%);
  --gradient-accent: linear-gradient(135deg, #81ECEC 0%, #00CEC9 100%);
  --gradient-hero: linear-gradient(135deg, #1A1A2E 0%, #16213E 40%, #0F0F23 100%);
  --gradient-card: linear-gradient(135deg, rgba(162, 155, 254, 0.05) 0%, rgba(129, 236, 236, 0.05) 100%);
  --gradient-glass: linear-gradient(135deg, rgba(26,26,46,0.9), rgba(22,33,62,0.7));

  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.4);
  --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.5);
  --shadow-primary: 0 4px 24px rgba(162, 155, 254, 0.2);
  --shadow-accent: 0 4px 24px rgba(129, 236, 236, 0.2);
}
