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

@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  /* Default Dark Theme */
  :root, .theme-dark {
    --background: #0a0a0f;
    --surface: #1a1a1f;
    --primary: #8b5cf6;
    --primary-light: #a78bfa;
    --primary-dark: #7c3aed;
    --secondary: #ec4899;
    --accent: #06b6d4;
    --border: #2a2a2f;
    --foreground: #ffffff;
    --muted: #6b7280;
  }

  /* Light Theme */
  .theme-light {
    --background: #ffffff;
    --surface: #f9fafb;
    --primary: #7c3aed;
    --primary-light: #8b5cf6;
    --primary-dark: #6d28d9;
    --secondary: #db2777;
    --accent: #0891b2;
    --border: #e5e7eb;
    --foreground: #111827;
    --muted: #6b7280;
  }

  /* Synthwave Theme */
  .theme-synthwave {
    --background: #2b213a;
    --surface: #241b2f;
    --primary: #ff6ac1;
    --primary-light: #ff8ad8;
    --primary-dark: #ff4aaa;
    --secondary: #9d72ff;
    --accent: #72f1b8;
    --border: #495495;
    --foreground: #f8f8f2;
    --muted: #a599e9;
  }

  /* Forest Theme */
  .theme-forest {
    --background: #0d1b1e;
    --surface: #1a2f33;
    --primary: #2dd4bf;
    --primary-light: #5eead4;
    --primary-dark: #14b8a6;
    --secondary: #34d399;
    --accent: #a7f3d0;
    --border: #234e52;
    --foreground: #ecfdf5;
    --muted: #6ee7b7;
  }

  /* Ocean Theme */
  .theme-ocean {
    --background: #0c1821;
    --surface: #1b2838;
    --primary: #3b82f6;
    --primary-light: #60a5fa;
    --primary-dark: #2563eb;
    --secondary: #06b6d4;
    --accent: #38bdf8;
    --border: #1e3a5f;
    --foreground: #dbeafe;
    --muted: #7dd3fc;
  }

  * {
    border-color: var(--border);
  }

  body {
    background-color: var(--background);
    color: var(--foreground);
    font-family: var(--font-inter), 'Inter', sans-serif;
  }

  code, pre {
    font-family: var(--font-jetbrains-mono), 'JetBrains Mono', monospace;
  }
}

@layer utilities {
  .text-balance {
    text-wrap: balance;
  }
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: #1a1a1f;
}

::-webkit-scrollbar-thumb {
  background: #2a2a2f;
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: #3a3a3f;
}

/* Animation classes */
.animate-slide-in {
  animation: slideIn 0.2s ease-out;
}

.animate-fade-in {
  animation: fadeIn 0.2s ease-in-out;
}

@keyframes slideIn {
  from {
    transform: translateY(-10px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Monaco Editor theme overrides */
.monaco-editor .margin {
  background-color: #0a0a0f !important;
}

.monaco-editor {
  background-color: #0a0a0f !important;
}
