@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Outfit:wght@300;400;500;600&family=Fredoka:wght@300..700&display=swap'); @import "tailwindcss"; @theme { --font-sans: "Outfit", ui-sans-serif, system-ui, sans-serif; --font-serif: "Cormorant Garamond", ui-serif, Georgia, serif; --font-display: "Fredoka", sans-serif; --color-cloud: #F5EFE6; --color-night: #1A1A2E; --color-star: #C9956B; --color-dream-pink: #E8D5B7; --color-dream-blue: #3A506B; --color-dream-purple: #C9956B; --color-dream-coral: #D4443B; } body { background-color: var(--color-cloud); color: var(--color-night); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; } /* Keyframe animations */ @keyframes float { 0% { transform: translateY(0px) rotate(0deg); } 50% { transform: translateY(-20px) rotate(2deg); } 100% { transform: translateY(0px) rotate(0deg); } } .animate-float { animation: float 6s ease-in-out infinite; } @keyframes blob { 0% { transform: scale(1); } 33% { transform: scale(1.1) translate(10px, -10px); } 66% { transform: scale(0.9) translate(-10px, 10px); } 100% { transform: scale(1); } } .animate-blob { animation: blob 10s infinite alternate; } .animation-delay-2000 { animation-delay: 2s; } .animation-delay-4000 { animation-delay: 4s; } /* Entrance animations */ .fade-up { animation: fadeUp 0.6s ease both; } @keyframes fadeUp { from { opacity: 0; transform: translateY(2rem); } to { opacity: 1; transform: translateY(0); } } .fade-right { animation: fadeRight 0.6s ease both; } @keyframes fadeRight { from { opacity: 0; transform: translateX(2rem); } to { opacity: 1; transform: translateX(0); } } .fade-scale { animation: fadeScale 1s ease both; } @keyframes fadeScale { from { opacity: 0; transform: scale(0.9); } to { opacity: 1; transform: scale(1); } } /* Page entrance animation */ @keyframes entrance { from { opacity: 0; transform: translateY(1.5rem); } to { opacity: 1; transform: translateY(0); } } .animate-entrance { animation: entrance 0.6s ease forwards; } @keyframes entrance-scale { from { opacity: 0; transform: scale(0.9); } to { opacity: 1; transform: scale(1); } } .animate-entrance-scale { animation: entrance-scale 1s ease forwards; } /* Mobile menu animation */ @keyframes slideDown { from { opacity: 0; transform: translateY(-1rem); } to { opacity: 1; transform: translateY(0); } } .animate-slide-down { animation: slideDown 0.3s ease forwards; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 10px; } ::-webkit-scrollbar-track { background: var(--color-cloud); } ::-webkit-scrollbar-thumb { background: var(--color-dream-purple); border-radius: 10px; border: 3px solid var(--color-cloud); } ::-webkit-scrollbar-thumb:hover { background: var(--color-dream-coral); }