@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; }