/* Base styles */ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap'); body { font-family: 'Inter', sans-serif; } /* Animations */ @keyframes spin-slow { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .animate-spin-slow { animation: spin-slow 20s linear infinite; } @keyframes fadeInUp { from { opacity: 0; transform: translate3d(0, 20px, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } } .animate-fade-in-up { animation: fadeInUp 0.8s ease-out forwards; opacity: 0; /* Start hidden */ } @keyframes fadeInRight { from { opacity: 0; transform: translate3d(20px, 0, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } } .animate-fade-in-right { animation: fadeInRight 0.8s ease-out forwards; opacity: 0; animation-delay: 0.2s; } /* Scroll Animation Utility */ .reveal-on-scroll { opacity: 0; transform: translateY(30px); transition: all 0.8s ease-out; } .reveal-on-scroll.visible { opacity: 1; transform: translateY(0); } /* Modal Styles */ .modal-backdrop { backdrop-filter: blur(4px); } /* Form Styles */ .form-input:focus { outline: none; border-color: #4f46e5; box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1); } /* Custom Scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #f1f1f1; } ::-webkit-scrollbar-thumb { background: #c7d2fe; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #a5b4fc; } /* Utilities for Mock UI */ .ui-mock-window { background: #1e293b; border-radius: 8px; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); overflow: hidden; font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace; } .ui-mock-header { background: #0f172a; border-bottom: 1px solid #334155; } /* Architecture strip connector lines */ .arch-step::after { content: ''; position: absolute; top: 50%; right: -50%; width: 100%; height: 2px; background: #e2e8f0; z-index: 0; } .arch-step:last-child::after { display: none; }