/* Custom CSS for FlowFlex */ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); * { font-family: 'Inter', sans-serif; } /* Smooth scrolling */ html { scroll-behavior: smooth; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 6px; } ::-webkit-scrollbar-track { background: #f1f1f1; } ::-webkit-scrollbar-thumb { background: #c1c1c1; border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { background: #a8a8a8; } /* Post card animations */ .post-card { transition: all 0.3s ease; transform: translateY(0); } .post-card: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); } /* Like animation */ .like-animation { animation: like-pulse 0.6s ease; } @keyframes like-pulse { 0% { transform: scale(1); } 50% { transform: scale(1.2); } 100% { transform: scale(1); } } /* Feed filter active state */ .feed-filter-btn.active { box-shadow: 0 4px 6px -1px rgba(14, 165, 233, 0.3); } /* Loading skeleton animation */ .skeleton { background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%); background-size: 200% 100%; animation: loading 1.5s infinite; } @keyframes loading { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } /* Fade in animation for new content */ .fade-in { animation: fadeIn 0.5s ease-in; } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } /* Mobile responsive adjustments */ @media (max-width: 768px) { .post-card { margin-bottom: 1rem; } .feed-filter-btn { font-size: 0.75rem; padding: 0.5rem 1rem; } } /* Dark mode support */ @media (prefers-color-scheme: dark) { .dark-mode-auto { background-color: #1a202c; color: #e2e8f0; } } /* Custom gradient backgrounds */ .gradient-bg-primary { background: linear-gradient(135deg, #0ea5e9 0%, #d946ef 100%); } .gradient-bg-secondary { background: linear-gradient(135deg, #d946ef 0%, #0ea5e9 100%); } /* Video player styles */ .video-container { position: relative; width: 100%; height: 0; padding-bottom: 177.77%; /* 9:16 aspect ratio for mobile videos */ } /* Profile page specific styles */ .profile-tab.active { box-shadow: 0 4px 6px -1px rgba(14, 165, 233, 0.3); } /* Create post form styles */ #media-upload { border: 1px solid #d1d5db; border-radius: 6px; padding: 0.75rem; font-size: 0.875rem; } /* Responsive video grid */ @media (min-width: 768px) { .video-container { padding-bottom: 56.25%; /* 16:9 aspect ratio for desktop */ }