/* base.css — Reset, Variables, Typography */
/* Layer: base (lowest specificity) */
@layer base {
  :root {
    --primary: #1a237e;
    --primary-light: #283593;
    --primary-dark: #0d1442;
    --secondary: #4CAF50;
    --secondary-light: #66BB6A;
    --accent: #FF9800;
    --accent-light: #FFA726;
    --white: #FFFFFF;
    --gray-50: #FAFAFA;
    --gray-100: #F5F5F5;
    --gray-200: #EEEEEE;
    --gray-300: #E0E0E0;
    --gray-600: #757575;
    --gray-800: #424242;
    --gray-900: #212121;
    --black: #000000;
    --font-main: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-heading: 'Plus Jakarta Sans', 'Inter', sans-serif;
    --space-xs: 4px; --space-sm: 8px; --space-md: 16px;
    --space-lg: 24px; --space-xl: 32px; --space-2xl: 48px;
    --space-3xl: 64px; --space-4xl: 96px;
    --radius-sm: 4px; --radius-md: 8px; --radius-lg: 12px;
    --radius-xl: 16px; --radius-full: 9999px;
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --shadow-md: 0 4px 6px rgba(0,0,0,0.1);
    --shadow-lg: 0 12px 24px rgba(0,0,0,0.15);
    --shadow-xl: 0 24px 48px rgba(0,0,0,0.2);
    --transition-fast: 150ms ease;
    --transition-base: 300ms ease;
    --transition-slow: 500ms ease;
    --container-max: 1200px;
    --header-height: 72px;
    --topbar-height: 36px;
    --color-ai: #7c3aed;
    --color-ai-light: #a855f7;
    --gradient-ai: linear-gradient(135deg, #7c3aed, #a855f7);
  }

  *,
  *::before,
  *::after { box-sizing: border-box; margin: 0; padding: 0; }

  html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }

  body {
    font-family: var(--font-main);
    font-size: 16px;
    line-height: 1.6;
    color: var(--gray-800);
    background: var(--white);
  }

  img { max-width: 100%; height: auto; display: block; }

  a {
    color: var(--primary);
    text-decoration: none;
    transition: color var(--transition-fast);
  }
  a:hover { color: var(--primary-light); }

  ul { list-style: none; }

  h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1.2;
    color: var(--gray-900);
  }
}
