@tailwind base; @tailwind components; @tailwind utilities; @layer base { * { box-sizing: border-box; } html, body, #root { height: 100%; margin: 0; padding: 0; background: #0a0a0f; color: #e8e8f0; font-family: 'Inter', system-ui, sans-serif; -webkit-font-smoothing: antialiased; } ::-webkit-scrollbar { width: 5px; height: 5px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: #2a2a38; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #3b3b50; } ::selection { background: rgba(59,127,255,0.3); } } @layer components { .btn-primary { @apply bg-accent hover:bg-accent-hover text-white font-medium px-4 py-2 rounded-lg transition-all duration-150 disabled:opacity-40 disabled:cursor-not-allowed active:scale-95; } .btn-ghost { @apply text-gray-400 hover:text-white hover:bg-surface-3 px-3 py-2 rounded-lg transition-all duration-150 active:scale-95; } .input-field { @apply bg-surface-3 border border-white/10 rounded-xl px-4 py-3 text-white placeholder-gray-500 focus:outline-none focus:border-accent/60 focus:ring-1 focus:ring-accent/30 transition-all duration-150 w-full; } .sidebar-item { @apply flex items-center gap-2 px-3 py-2 rounded-lg text-sm text-gray-400 hover:text-white hover:bg-surface-3 cursor-pointer transition-all duration-150 truncate; } .sidebar-item.active { @apply bg-surface-3 text-white; } .glass-card { @apply bg-surface-2/80 backdrop-blur-sm border border-white/5 rounded-2xl; } } /* Typing animation dots */ .typing-dot { width: 6px; height: 6px; border-radius: 50%; background: #3b7fff; display: inline-block; animation: pulseDot 1.4s ease-in-out infinite; } .typing-dot:nth-child(2) { animation-delay: 0.2s; } .typing-dot:nth-child(3) { animation-delay: 0.4s; } @keyframes pulseDot { 0%, 80%, 100% { transform: scale(0.4); opacity: 0.4; } 40% { transform: scale(1); opacity: 1; } } /* Markdown prose overrides for dark theme */ .prose-dark { color: #d4d4e8; } .prose-dark h1,.prose-dark h2,.prose-dark h3 { color: #fff; } .prose-dark strong { color: #fff; } .prose-dark code { background: #1f1f28; color: #00c9a7; padding: 2px 6px; border-radius: 4px; font-family: 'JetBrains Mono', monospace; font-size: 0.85em; } .prose-dark pre { background: #111118; border: 1px solid rgba(255,255,255,0.06); border-radius: 10px; padding: 16px; overflow-x: auto; } .prose-dark a { color: #3b7fff; } .prose-dark ul { list-style: disc; padding-left: 1.4em; } .prose-dark ol { list-style: decimal; padding-left: 1.4em; } .prose-dark li { margin: 4px 0; } .prose-dark blockquote { border-left: 3px solid #3b7fff; padding-left: 12px; color: #9999b8; margin: 12px 0; } .prose-dark hr { border-color: rgba(255,255,255,0.08); margin: 20px 0; }