@tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { --background: 0 0% 100%; --foreground: 222.2 84% 4.9%; --primary: 217.2 91.2% 59.8%; --primary-foreground: 222.2 47.4% 11.2%; } .dark { --background: 222.2 84% 4.9%; --foreground: 210 40% 98%; --primary: 217.2 91.2% 59.8%; --primary-foreground: 222.2 47.4% 11.2%; } * { @apply border-neutral-200 dark:border-neutral-800; } body { @apply bg-white dark:bg-neutral-950 text-neutral-900 dark:text-neutral-50; font-feature-settings: "rlig" 1, "calt" 1; } } @layer components { .glass-morphism { @apply backdrop-blur-xl bg-white/80 dark:bg-neutral-900/80 border border-neutral-200/50 dark:border-neutral-800/50; } .gradient-border { background: linear-gradient(white, white) padding-box, linear-gradient(to right, #3b82f6, #8b5cf6) border-box; border: 2px solid transparent; } .text-gradient { @apply bg-gradient-to-r from-blue-500 to-purple-500 bg-clip-text text-transparent; } .animate-typewriter { overflow: hidden; white-space: nowrap; border-right: 2px solid; animation: typing 3.5s steps(40, end), blink-caret 0.75s step-end infinite; } @keyframes typing { from { width: 0 } to { width: 100% } } @keyframes blink-caret { from, to { border-color: transparent } 50% { border-color: currentColor } } .loading-spinner { @apply inline-block w-8 h-8 border-4 border-neutral-200 dark:border-neutral-800 rounded-full; border-top-color: #3b82f6; animation: spin 0.8s linear infinite; } @keyframes spin { to { transform: rotate(360deg) } } .agent-card { @apply relative overflow-hidden rounded-2xl p-6 transition-all duration-300; @apply hover:scale-105 hover:shadow-2xl; @apply bg-gradient-to-br from-neutral-50 to-neutral-100; @apply dark:from-neutral-900 dark:to-neutral-800; } .agent-card.active { @apply ring-2 ring-blue-500 ring-offset-2 dark:ring-offset-neutral-950; animation: pulse-glow 2s infinite; } @keyframes pulse-glow { 0%, 100% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.4); } 50% { box-shadow: 0 0 0 10px rgba(59, 130, 246, 0); } } .workflow-line { stroke-dasharray: 1000; stroke-dashoffset: 1000; animation: draw 2s ease-in-out forwards; } @keyframes draw { to { stroke-dashoffset: 0; } } .content-section { @apply opacity-0 transform translate-y-4; animation: fadeInUp 0.6s ease-out forwards; } @keyframes fadeInUp { to { opacity: 1; transform: translateY(0); } } } @layer utilities { .scrollbar-thin { scrollbar-width: thin; scrollbar-color: theme('colors.neutral.400') transparent; } .scrollbar-thin::-webkit-scrollbar { width: 6px; height: 6px; } .scrollbar-thin::-webkit-scrollbar-track { background: transparent; } .scrollbar-thin::-webkit-scrollbar-thumb { @apply bg-neutral-400 dark:bg-neutral-600 rounded-full; } .scrollbar-thin::-webkit-scrollbar-thumb:hover { @apply bg-neutral-500 dark:bg-neutral-500; } }