Spaces:
Running
Running
| @tailwind base; | |
| @tailwind components; | |
| @tailwind utilities; | |
| @layer base { | |
| html { | |
| scroll-behavior: smooth; | |
| /* Offset scroll targets so the sticky navbar (64px) doesn't cover section headings */ | |
| scroll-padding-top: 72px; | |
| } | |
| body { | |
| background-color: #F2EFE7; | |
| color: #1A0A10; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| font-family: 'Inter', system-ui, -apple-system, sans-serif; | |
| } | |
| } | |
| /* ββ Scrollbar βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| ::-webkit-scrollbar { width: 5px; height: 5px; } | |
| ::-webkit-scrollbar-track { background: transparent; } | |
| ::-webkit-scrollbar-thumb { background: rgba(139,0,74,0.18); border-radius: 99px; } | |
| ::-webkit-scrollbar-thumb:hover { background: rgba(139,0,74,0.35); } | |
| /* ββ Glass card βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .glass { | |
| background: rgba(255,255,255,0.72); | |
| border: 1px solid rgba(255,255,255,0.9); | |
| backdrop-filter: blur(16px); | |
| -webkit-backdrop-filter: blur(16px); | |
| } | |
| .glass-dark { | |
| background: rgba(139,0,74,0.08); | |
| border: 1px solid rgba(139,0,74,0.15); | |
| backdrop-filter: blur(12px); | |
| } | |
| /* ββ Navbar blur ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .navbar-blur { | |
| background: rgba(242,239,231,0.80); | |
| backdrop-filter: blur(20px); | |
| -webkit-backdrop-filter: blur(20px); | |
| } | |
| /* ββ Brand glow βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .glow-brand { | |
| box-shadow: 0 0 24px rgba(139,0,74,0.30); | |
| } | |
| .glow-brand-sm { | |
| box-shadow: 0 0 12px rgba(139,0,74,0.20); | |
| } | |
| /* ββ Gradient text ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .text-gradient-brand { | |
| background: linear-gradient(135deg, #8B004A 0%, #C94D8B 100%); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| } | |
| /* ββ Floating animation offsets βββββββββββββββββββββββββββββββββββββββββββ */ | |
| .float-delay-1 { animation-delay: -2s; } | |
| .float-delay-2 { animation-delay: -4s; } | |
| .float-delay-3 { animation-delay: -1s; } | |
| /* ββ Thinking dots ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| @keyframes thinkDot { | |
| 0%, 80%, 100% { opacity: 0.25; transform: scale(0.8); } | |
| 40% { opacity: 1; transform: scale(1); } | |
| } | |
| .thinking-dot { animation: thinkDot 1.4s ease-in-out infinite; } | |
| /* ββ Message enter ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| @keyframes msgEnter { | |
| from { opacity: 0; transform: translateY(6px); } | |
| to { opacity: 1; transform: translateY(0); } | |
| } | |
| .msg-enter { animation: msgEnter 0.22s ease-out both; } | |
| /* ββ Toast ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| @keyframes toastIn { | |
| from { opacity: 0; transform: translateY(10px) scale(0.95); } | |
| to { opacity: 1; transform: translateY(0) scale(1); } | |
| } | |
| .toast-enter { animation: toastIn 0.2s ease-out both; } | |
| /* ββ Prose styles for AI chat βββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .ai-prose h1, .ai-prose h2, .ai-prose h3 { | |
| color: #8B004A; | |
| font-weight: 600; | |
| margin-top: 0.75rem; | |
| margin-bottom: 0.25rem; | |
| } | |
| .ai-prose p { margin-bottom: 0.5rem; line-height: 1.7; color: #2D1520; } | |
| .ai-prose ul, .ai-prose ol { padding-left: 1.25rem; margin-bottom: 0.5rem; } | |
| .ai-prose li { color: #3D2030; margin-bottom: 0.125rem; } | |
| .ai-prose code { | |
| background: rgba(139,0,74,0.08); | |
| color: #8B004A; | |
| padding: 0.1rem 0.4rem; | |
| border-radius: 4px; | |
| font-size: 0.82em; | |
| font-family: 'JetBrains Mono', 'Fira Code', monospace; | |
| } | |
| .ai-prose pre { | |
| background: #1A0A10; | |
| border: 1px solid rgba(139,0,74,0.2); | |
| border-radius: 12px; | |
| padding: 1rem; | |
| overflow-x: auto; | |
| margin: 0.75rem 0; | |
| } | |
| .ai-prose pre code { background: transparent; color: #F2EFE7; padding: 0; } | |
| .ai-prose blockquote { | |
| border-left: 3px solid #8B004A; | |
| padding-left: 1rem; | |
| color: #6B4560; | |
| font-style: italic; | |
| margin: 0.5rem 0; | |
| } | |
| .ai-prose a { color: #8B004A; text-decoration: underline; } | |
| .ai-prose table { width: 100%; border-collapse: collapse; font-size: 0.875rem; margin: 0.75rem 0; } | |
| .ai-prose th { background: rgba(139,0,74,0.08); padding: 0.5rem 0.75rem; text-align: left; font-weight: 600; } | |
| .ai-prose td { border-top: 1px solid rgba(139,0,74,0.1); padding: 0.5rem 0.75rem; } | |
| .ai-prose strong { color: #1A0A10; font-weight: 600; } | |
| /* ββ Node pulse animation for hero βββββββββββββββββββββββββββββββββββββββ */ | |
| @keyframes nodeGlow { | |
| 0%, 100% { box-shadow: 0 0 6px rgba(139,0,74,0.3); } | |
| 50% { box-shadow: 0 0 18px rgba(139,0,74,0.7); } | |
| } | |
| .node-glow { animation: nodeGlow 2s ease-in-out infinite; } | |
| /* ββ Workflow step connector ββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| @keyframes flowLine { | |
| 0% { stroke-dashoffset: 60; } | |
| 100% { stroke-dashoffset: 0; } | |
| } | |