Spaces:
Running
Running
| /* Global Styles */ | |
| @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@300;400;500&display=swap'); | |
| :root { | |
| --primary: #4F46E5; | |
| --secondary: #EC4899; | |
| --accent: #06B6D4; | |
| --background: #0F172A; | |
| --surface: #1E293B; | |
| --text: #F8FAFC; | |
| --subtle: #94A3B8; | |
| } | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| body { | |
| background: var(--background); | |
| color: var(--text); | |
| font-family: 'Inter', sans-serif; | |
| min-height: 100vh; | |
| position: relative; | |
| overflow-x: hidden; | |
| } | |
| /* Custom Scrollbar */ | |
| ::-webkit-scrollbar { | |
| width: 8px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: var(--surface); | |
| border-radius: 4px; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: var(--primary); | |
| border-radius: 4px; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: var(--secondary); | |
| } | |
| /* Glass Effect */ | |
| .glass { | |
| background: rgba(30, 41, 59, 0.7); | |
| backdrop-filter: blur(10px); | |
| border: 1px solid rgba(255, 255, 255, 0.1); | |
| } | |
| /* Gradient Background */ | |
| .gradient-bg { | |
| background: linear-gradient(135deg, var(--primary), var(--secondary), var(--accent)); | |
| background-size: 400% 400%; | |
| animation: gradient 15s ease infinite; | |
| } | |
| /* Animated Background Grid */ | |
| .bg-grid-white\/10 { | |
| background-image: | |
| linear-gradient(to right, rgba(255,255,255,.1) 1px, transparent 1px), | |
| linear-gradient(to bottom, rgba(255,255,255,.1) 1px, transparent 1px); | |
| background-size: 50px 50px; | |
| } | |
| /* Neon Glow Effect */ | |
| .neon-glow { | |
| position: relative; | |
| } | |
| .neon-glow::after { | |
| content: ''; | |
| position: absolute; | |
| inset: -2px; | |
| background: linear-gradient(45deg, var(--primary), var(--secondary), var(--accent)); | |
| border-radius: inherit; | |
| filter: blur(10px); | |
| opacity: 0.5; | |
| z-index: -1; | |
| } | |
| /* Floating Animation */ | |
| @keyframes float { | |
| 0%, 100% { | |
| transform: translateY(0) rotate(0deg); | |
| } | |
| 50% { | |
| transform: translateY(-20px) rotate(5deg); | |
| } | |
| } | |
| /* Particle Effect */ | |
| .particle { | |
| position: absolute; | |
| border-radius: 50%; | |
| background: radial-gradient(circle at center, var(--accent) 0%, transparent 70%); | |
| pointer-events: none; | |
| } | |
| /* Responsive Design */ | |
| @media (max-width: 768px) { | |
| .container { | |
| padding-left: 1rem; | |
| padding-right: 1rem; | |
| } | |
| .hero-section { | |
| padding: 2rem 1rem ; | |
| } | |
| } | |
| /* Dark Mode Enhancements */ | |
| .dark .invert-dark { | |
| filter: invert(1) hue-rotate(180deg); | |
| } | |
| /* Loading Animation */ | |
| .loading-dots { | |
| display: inline-flex; | |
| align-items: center; | |
| } | |
| .loading-dots span { | |
| width: 8px; | |
| height: 8px; | |
| margin: 0 3px; | |
| background: var(--accent); | |
| border-radius: 50%; | |
| animation: loading 1.4s ease-in-out infinite; | |
| } | |
| .loading-dots span:nth-child(2) { | |
| animation-delay: 0.2s; | |
| } | |
| .loading-dots span:nth-child(3) { | |
| animation-delay: 0.4s; | |
| } | |
| @keyframes loading { | |
| 0%, 100% { | |
| transform: scale(1); | |
| opacity: 1; | |
| } | |
| 50% { | |
| transform: scale(0.5); | |
| opacity: 0.5; | |
| } | |
| } | |
| /* Chat Message Styles */ | |
| .chat-message { | |
| max-width: 80%; | |
| margin: 1rem 0; | |
| padding: 1rem; | |
| border-radius: 1rem; | |
| position: relative; | |
| } | |
| .chat-message.user { | |
| background: linear-gradient(135deg, var(--primary), var(--accent)); | |
| margin-left: auto; | |
| border-bottom-right-radius: 0; | |
| } | |
| .chat-message.ai { | |
| background: var(--surface); | |
| border: 1px solid rgba(255, 255, 255, 0.1); | |
| margin-right: auto; | |
| border-bottom-left-radius: 0; | |
| } | |
| /* Card Hover Effects */ | |
| .hover-card { | |
| transition: all 0.3s ease; | |
| } | |
| .hover-card:hover { | |
| transform: translateY(-5px); | |
| box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3); | |
| } | |
| /* Typing Animation */ | |
| .typing-indicator { | |
| display: inline-flex; | |
| align-items: center; | |
| padding: 12px 20px; | |
| background: var(--surface); | |
| border-radius: 25px; | |
| } | |
| .typing-indicator span { | |
| width: 6px; | |
| height: 6px; | |
| margin: 0 2px; | |
| background: var(--accent); | |
| border-radius: 50%; | |
| opacity: 0.4; | |
| animation: typing 1.5s infinite; | |
| } | |
| @keyframes typing { | |
| 0%, 100% { | |
| opacity: 0.4; | |
| transform: translateY(0); | |
| } | |
| 50% { | |
| opacity: 1; | |
| transform: translateY(-5px); | |
| } | |
| } |