@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; }