@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 {
  :root {
    --background: #0a0a0f;
    --surface: #1a1a1f;
    --primary: #8b5cf6;
    --primary-light: #a78bfa;
    --primary-dark: #7c3aed;
    --secondary: #ec4899;
    --accent: #06b6d4;
    --border: #2a2a2f;
  }

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

  body {
    background-color: var(--background);
    color: white;
    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;
}
