/* Custom styles for CodeBloom Rose Petals */ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap'); /* Smooth scrolling */ html { scroll-behavior: smooth; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 10px; } ::-webkit-scrollbar-track { background: #f9fafb; } ::-webkit-scrollbar-thumb { background: linear-gradient(to bottom, #f472b6, #fb7185); border-radius: 5px; } ::-webkit-scrollbar-thumb:hover { background: linear-gradient(to bottom, #ec4899, #e11d48); } /* Gradient text utilities */ .gradient-text-rose { background: linear-gradient(135deg, #ec4899 0%, #db2777 25%, #be185d 50%, #9d174d 75%); -webkit-background-clip: text; background-clip: text; color: transparent; } /* Custom animations */ @keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-10px); } } @keyframes shimmer { 0% { background-position: -1000px 0; } 100% { background-position: 1000px 0; } } .float-animation { animation: float 3s ease-in-out infinite; } .shimmer-effect { background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0) 100%); background-size: 1000px 100%; animation: shimmer 2s infinite; } /* Custom shadows */ .rose-shadow-lg { box-shadow: 0 10px 25px -5px rgba(244, 114, 182, 0.2), 0 10px 10px -5px rgba(244, 114, 182, 0.1); } .rose-shadow-xl { box-shadow: 0 20px 50px -12px rgba(244, 114, 182, 0.25); } /* Card hover effects */ .hover-card { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .hover-card:hover { transform: translateY(-4px); } /* Button customizations */ .btn-gradient-rose { background: linear-gradient(to right, #ec4899, #db2777); color: white; transition: all 0.3s ease; } .btn-gradient-rose:hover { background: linear-gradient(to right, #db2777, #be185d); transform: translateY(-2px); } /* Glass morphism effect */ .glass-card { background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(8px); border: 1px solid rgba(255, 255, 255, 0.3); } /* Focus states for accessibility */ .focus-rose:focus { ring: 2px; ring-color: rgba(236, 72, 153, 0.5); border-color: #ec4899; } /* Project badge animations */ .badge-pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } /* Responsive adjustments */ @media (max-width: 768px) { .container { padding-left: 1rem; padding-right: 1rem; } }