/* Custom styles that extend Tailwind */ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); :root { --primary: #7C3AED; --primary-light: #A78BFA; --primary-dark: #5B21B6; --secondary: #EC4899; --background: #F5F3FF; --text: #1F2937; --text-light: #6B7280; --glass: rgba(255, 255, 255, 0.2); --glow: 0 0 20px rgba(124, 58, 237, 0.3); } body { font-family: 'Inter', sans-serif; color: var(--text); background-color: var(--background); line-height: 1.6; background-image: radial-gradient(circle at 10% 20%, rgba(167, 139, 250, 0.08) 0%, rgba(167, 139, 250, 0.05) 90%); } .hero-section { position: relative; min-height: 600px; background: linear-gradient(to right, #F9FAFB, #EDE9FE); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); overflow: hidden; } .hero-section::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle, var(--primary-light) 0%, rgba(167, 139, 250, 0) 70%); opacity: 0.2; animation: rotateGradient 60s linear infinite; } @keyframes rotateGradient { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .hero-image { height: 100%; } .app-preview { height: 400px; width: 300px; z-index: 10; } .btn-primary { display: inline-block; background-color: var(--primary); color: white; padding: 0.75rem 2rem; border-radius: 9999px; font-weight: 600; text-decoration: none; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); border: 2px solid var(--primary); position: relative; overflow: hidden; z-index: 1; } .btn-primary::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(45deg, var(--primary), var(--secondary)); z-index: -1; opacity: 0; transition: opacity 0.3s ease; } .btn-primary:hover::before { opacity: 1; } .btn-primary:hover { background-color: var(--primary-dark); transform: translateY(-2px); box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } .btn-secondary { display: inline-block; background-color: transparent; color: var(--primary); padding: 0.75rem 1.5rem; border-radius: 0.5rem; font-weight: 600; text-decoration: none; transition: all 0.3s; border: 2px solid var(--primary); } .btn-secondary:hover { background-color: rgba(79, 70, 229, 0.1); transform: translateY(-2px); } .feature-card { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); background: var(--glass); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border-radius: 1rem; border: 1px solid rgba(255, 255, 255, 0.4); box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05); } .feature-card:hover { transform: translateY(-8px) scale(1.02); box-shadow: var(--glow), 0 15px 30px rgba(0, 0, 0, 0.1); border-color: rgba(255, 255, 255, 0.6); } @media (max-width: 768px) { .hero-section { min-height: auto; padding-bottom: 400px; } .hero-image { position: relative; height: 300px; margin-top: 2rem; } .app-preview { position: relative; top: auto; left: auto; transform: none; margin: 0 auto; } } /* Dark mode adjustments */ @media (prefers-color-scheme: dark) { .hero-section { background: linear-gradient(to right, #111827, #1E1E2D); } .feature-card { background-color: #1F2937; } .mock-url { background-color: #374151; color: #F3F4F6; } } /* Custom animation for glow effect */ @keyframes subtleGlow { 0%, 100% { box-shadow: 0 0 0 rgba(124, 58, 237, 0); } 50% { box-shadow: var(--glow); } } .glow-animate { animation: subtleGlow 3s ease-in-out infinite; } /* Custom transition effects */ .smooth-transition { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } /* Dark mode support */ @media (prefers-color-scheme: dark) { :root { --primary: #8B5CF6; --primary-light: #A78BFA; --primary-dark: #6D28D9; --background: #0F172A; --text: #E2E8F0; --text-light: #94A3B8; --glass: rgba(15, 23, 42, 0.6); } .feature-card { border-color: rgba(30, 41, 59, 0.8); } } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: var(--background); } ::-webkit-scrollbar-thumb { background: var(--primary-light); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: var(--primary); } /* Mobile menu button styles */ .md\:hidden button#mobile-menu-button { padding: 0.5rem; border-radius: 0.375rem; transition: all 0.2s ease; display: flex; align-items: center; justify-content: center; } .md\:hidden button#mobile-menu-button:hover { background-color: #F3F4F6; transform: scale(1.05); } .md\:hidden button#mobile-menu-button:focus { outline: 2px solid #818CF8; outline-offset: 2px; } .md\:hidden button#mobile-menu-button i { width: 24px; height: 24px; stroke-width: 2; }