Spaces:
Running
Running
| @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap'); | |
| @import "tailwindcss"; | |
| /* ===== DESIGN SYSTEM ===== */ | |
| :root { | |
| --bg-deep: #030712; | |
| --bg-surface: #0a0f1e; | |
| --card-bg: rgba(15, 23, 42, 0.5); | |
| --glass-border: rgba(255, 255, 255, 0.06); | |
| --glass-border-hover: rgba(255, 255, 255, 0.12); | |
| --accent-cyan: #06b6d4; | |
| --accent-purple: #a855f7; | |
| --accent-blue: #3b82f6; | |
| --accent-pink: #ec4899; | |
| --text-primary: #f1f5f9; | |
| --text-secondary: #64748b; | |
| --text-muted: #475569; | |
| --glow-cyan: rgba(6, 182, 212, 0.15); | |
| --glow-purple: rgba(168, 85, 247, 0.15); | |
| } | |
| * { | |
| font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; | |
| } | |
| html { | |
| scroll-behavior: smooth; | |
| } | |
| body { | |
| background: var(--bg-deep); | |
| color: var(--text-primary); | |
| overflow-x: hidden; | |
| min-height: 100vh; | |
| } | |
| /* ===== ANIMATED BACKGROUND ===== */ | |
| body::before { | |
| content: ''; | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| width: 100vw; | |
| height: 100vh; | |
| background: | |
| radial-gradient(ellipse 600px 400px at 15% 20%, rgba(6, 182, 212, 0.08) 0%, transparent 70%), | |
| radial-gradient(ellipse 500px 500px at 85% 80%, rgba(168, 85, 247, 0.06) 0%, transparent 70%), | |
| radial-gradient(ellipse 400px 300px at 50% 50%, rgba(59, 130, 246, 0.04) 0%, transparent 70%); | |
| pointer-events: none; | |
| z-index: 0; | |
| animation: bgPulse 8s ease-in-out infinite alternate; | |
| } | |
| @keyframes bgPulse { | |
| 0% { | |
| opacity: 0.7; | |
| } | |
| 100% { | |
| opacity: 1; | |
| } | |
| } | |
| /* Noise texture overlay */ | |
| body::after { | |
| content: ''; | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E"); | |
| opacity: 0.4; | |
| pointer-events: none; | |
| z-index: 0; | |
| } | |
| /* ===== SCROLLBAR ===== */ | |
| ::-webkit-scrollbar { | |
| width: 5px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: transparent; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: rgba(255, 255, 255, 0.08); | |
| border-radius: 10px; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: rgba(255, 255, 255, 0.15); | |
| } | |
| /* ===== GLASS CARD ===== */ | |
| .glass-card { | |
| position: relative; | |
| background: var(--card-bg); | |
| backdrop-filter: blur(24px) saturate(1.2); | |
| -webkit-backdrop-filter: blur(24px) saturate(1.2); | |
| border: 1px solid var(--glass-border); | |
| border-radius: 24px; | |
| transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); | |
| overflow: hidden; | |
| } | |
| .glass-card::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| height: 1px; | |
| background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent); | |
| } | |
| .glass-card:hover { | |
| border-color: var(--glass-border-hover); | |
| box-shadow: 0 8px 40px -12px rgba(0, 0, 0, 0.4), 0 0 20px var(--glow-cyan); | |
| } | |
| /* ===== GRADIENT TEXT ===== */ | |
| .gradient-text { | |
| background: linear-gradient(135deg, var(--accent-cyan), var(--accent-purple)); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| } | |
| .gradient-text-warm { | |
| background: linear-gradient(135deg, #f97316, #ec4899); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| } | |
| /* ===== QUANTUM BUTTON ===== */ | |
| .btn-quantum { | |
| position: relative; | |
| background: linear-gradient(135deg, var(--accent-cyan) 0%, var(--accent-purple) 100%); | |
| color: white; | |
| border: none; | |
| border-radius: 16px; | |
| font-weight: 700; | |
| cursor: pointer; | |
| transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); | |
| box-shadow: 0 4px 20px -4px rgba(6, 182, 212, 0.4); | |
| overflow: hidden; | |
| z-index: 1; | |
| } | |
| .btn-quantum::before { | |
| content: ''; | |
| position: absolute; | |
| inset: 0; | |
| background: linear-gradient(135deg, var(--accent-purple) 0%, var(--accent-cyan) 100%); | |
| opacity: 0; | |
| transition: opacity 0.4s; | |
| z-index: -1; | |
| } | |
| .btn-quantum:hover::before { | |
| opacity: 1; | |
| } | |
| .btn-quantum:hover { | |
| transform: translateY(-3px); | |
| box-shadow: 0 12px 40px -8px rgba(6, 182, 212, 0.5), 0 0 20px rgba(168, 85, 247, 0.2); | |
| } | |
| .btn-quantum:active { | |
| transform: translateY(-1px); | |
| } | |
| /* ===== INPUTS ===== */ | |
| .quantum-input { | |
| width: 100%; | |
| background: rgba(0, 0, 0, 0.3); | |
| border: 1px solid var(--glass-border); | |
| border-radius: 16px; | |
| padding: 16px 20px; | |
| color: var(--text-primary); | |
| font-size: 0.95rem; | |
| transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); | |
| outline: none; | |
| } | |
| .quantum-input:focus { | |
| border-color: var(--accent-cyan); | |
| box-shadow: 0 0 0 4px rgba(6, 182, 212, 0.1), 0 0 20px rgba(6, 182, 212, 0.05); | |
| background: rgba(0, 0, 0, 0.4); | |
| } | |
| .quantum-input::placeholder { | |
| color: var(--text-muted); | |
| } | |
| /* Select dropdown */ | |
| select.quantum-input { | |
| appearance: none; | |
| background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e"); | |
| background-position: right 12px center; | |
| background-repeat: no-repeat; | |
| background-size: 20px; | |
| padding-right: 40px; | |
| } | |
| select.quantum-input option { | |
| background: #0f172a; | |
| color: white; | |
| } | |
| /* ===== FLOATING ORB ANIMATION ===== */ | |
| @keyframes float { | |
| 0%, | |
| 100% { | |
| transform: translateY(0px) rotate(0deg); | |
| } | |
| 50% { | |
| transform: translateY(-20px) rotate(3deg); | |
| } | |
| } | |
| @keyframes glow { | |
| 0%, | |
| 100% { | |
| opacity: 0.5; | |
| } | |
| 50% { | |
| opacity: 1; | |
| } | |
| } | |
| @keyframes shimmer { | |
| 0% { | |
| background-position: -200% 0; | |
| } | |
| 100% { | |
| background-position: 200% 0; | |
| } | |
| } | |
| .animate-float { | |
| animation: float 6s ease-in-out infinite; | |
| } | |
| .animate-glow { | |
| animation: glow 3s ease-in-out infinite; | |
| } | |
| /* Shimmer loading effect */ | |
| .shimmer { | |
| background: linear-gradient(90deg, transparent 25%, rgba(255, 255, 255, 0.05) 50%, transparent 75%); | |
| background-size: 200% 100%; | |
| animation: shimmer 2s infinite; | |
| } | |
| /* ===== STAT COUNTER ===== */ | |
| .stat-glow { | |
| position: relative; | |
| } | |
| .stat-glow::after { | |
| content: ''; | |
| position: absolute; | |
| inset: -2px; | |
| border-radius: 20px; | |
| background: linear-gradient(135deg, var(--accent-cyan), var(--accent-purple)); | |
| opacity: 0; | |
| z-index: -1; | |
| transition: opacity 0.3s; | |
| filter: blur(8px); | |
| } | |
| .stat-glow:hover::after { | |
| opacity: 0.3; | |
| } |