/* Apple-inspired design system for medical content */ /* Reset and base styles */ * { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif; line-height: 1.6; color: #334155; overflow-x: hidden; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #f1f5f9; } ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #94a3b8; } /* Typography enhancements */ h1, h2, h3, h4, h5, h6 { font-weight: 600; line-height: 1.2; color: #0f172a; } .text-gradient { background: linear-gradient(135deg, #3b82f6, #1d4ed8); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* Smooth animations */ .animate-fade-in { animation: fadeIn 0.8s ease-out; } .animate-slide-up { animation: slideUp 0.8s ease-out; } .animate-float { animation: float 6s ease-in-out infinite; } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes slideUp { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } } @keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-10px); } } /* Glass morphism effects */ .glass { background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.2); } /* Hover effects */ .hover-lift { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .hover-lift:hover { transform: translateY(-4px); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); } /* Custom button styles */ .btn-primary { background: linear-gradient(135deg, #3b82f6, #1d4ed8); color: white; padding: 12px 32px; border-radius: 16px; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; transition: all 0.3s ease; border: none; cursor: pointer; } .btn-primary:hover { background: linear-gradient(135deg, #2563eb, #1e40af); transform: translateY(-2px); box-shadow: 0 10px 20px rgba(59, 130, 246, 0.3); } .btn-secondary { background: rgba(255, 255, 255, 0.9); color: #334155; padding: 12px 32px; border-radius: 16px; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; transition: all 0.3s ease; border: 1px solid #e2e8f0; cursor: pointer; } .btn-secondary:hover { background: #f8fafc; transform: translateY(-2px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); } /* Card styles */ .card { background: white; border-radius: 24px; padding: 32px; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); transition: all 0.3s ease; border: 1px solid #f1f5f9; } .card:hover { box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1); transform: translateY(-4px); } .card-gradient { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; } /* Progress bars */ .progress-bar { width: 100%; height: 8px; background: #e2e8f0; border-radius: 4px; overflow: hidden; } .progress-fill { height: 100%; border-radius: 4px; transition: width 0.8s ease; } /* Navigation styles */ nav { backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); } nav a { transition: color 0.3s ease; } nav a:hover { color: #3b82f6; } /* Section spacing */ section { padding: 80px 0; } @media (max-width: 768px) { section { padding: 60px 0; } } /* Responsive design */ .container { max-width: 1280px; margin: 0 auto; padding: 0 24px; } @media (max-width: 640px) { .container { padding: 0 16px; } } /* Medical data visualization */ .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 24px; margin-top: 40px; } .stat-card { text-align: center; padding: 24px; background: white; border-radius: 16px; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); transition: all 0.3s ease; } .stat-card:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); } .stat-number { font-size: 2.5rem; font-weight: 700; color: #3b82f6; display: block; } /* Research paper cards */ .paper-card { background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%); border-radius: 20px; padding: 24px; margin-bottom: 20px; border-left: 4px solid #3b82f6; transition: all 0.3s ease; } .paper-card:hover { transform: translateX(8px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); } .paper-title { font-weight: 600; color: #1e293b; margin-bottom: 8px; font-size: 1.1rem; } .paper-authors { color: #64748b; font-size: 0.9rem; margin-bottom: 4px; } .paper-journal { color: #3b82f6; font-size: 0.85rem; font-weight: 500; } /* Loading animations */ .loading { display: inline-block; width: 20px; height: 20px; border: 3px solid #f3f4f6; border-radius: 50%; border-top-color: #3b82f6; animation: spin 1s ease-in-out infinite; } @keyframes spin { to { transform: rotate(360deg); } } /* Print styles */ @media print { body { color: black; } .no-print { display: none; } .print-break { page-break-before: always; } } /* High contrast mode support */ @media (prefers-contrast: high) { .card { border: 2px solid #000; } .btn-primary { border: 2px solid #000; } } /* Reduced motion support */ @media (prefers-reduced-motion: reduce) { * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } html { scroll-behavior: auto; } } /* Focus styles for accessibility */ button:focus, a:focus { outline: 2px solid #3b82f6; outline-offset: 2px; } /* Custom utilities */ .text-shadow { text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .backdrop-blur { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); } .border-gradient { background: linear-gradient(white, white) padding-box, linear-gradient(135deg, #3b82f6, #1d4ed8) border-box; border: 1px solid transparent; }