/* Global Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Inter', system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; line-height: 1.6; transition: background-color 0.3s ease; } body.dark { background: #111827; color: #f9fafb; } /* Container */ .container { max-width: 1400px; margin: 0 auto; padding: 0 1rem; } /* Animations */ @keyframes fade-in { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-20px); } } .animate-fade-in { animation: fade-in 0.6s ease-out; } .animate-float { animation: float 3s ease-in-out infinite; } /* Dark mode transitions */ * { transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: #f1f1f1; } ::-webkit-scrollbar-thumb { background: #888; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #555; } /* Dark mode scrollbar */ .dark ::-webkit-scrollbar-track { background: #374151; } .dark ::-webkit-scrollbar-thumb { background: #6b7280; } .dark ::-webkit-scrollbar-thumb:hover { background: #9ca3af; } /* Button hover effects */ .btn { transition: all 0.3s ease; } .btn:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); } /* Card hover effects */ .card { transition: all 0.3s ease; } .card:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); } /* Loading spinner */ .loading { display: inline-block; width: 20px; height: 20px; border: 3px solid rgba(255, 255, 255, 0.3); border-radius: 50%; border-top-color: white; animation: spin 1s ease-in-out infinite; } @keyframes spin { to { transform: rotate(360deg); } } /* Responsive utilities */ @media (max-width: 768px) { .container { padding: 0 0.5rem; } } /* Focus styles for accessibility */ button:focus, a:focus, input:focus { outline: 2px solid #6366f1; outline-offset: 2px; } /* Smooth scrolling */ html { scroll-behavior: smooth; }