@tailwind base; @tailwind components; @tailwind utilities; @layer base { * { @apply border-border; } body { @apply bg-background text-foreground; font-feature-settings: "rlig" 1, "calt" 1; } } /* Enhanced White Liquid Glass Effects */ .glass-card-white { background: rgba(255, 255, 255, 0.4); backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.3); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.4); } .glass-card-enhanced { background: rgba(255, 255, 255, 0.5); backdrop-filter: blur(25px); border: 1px solid rgba(255, 255, 255, 0.4); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.1); } .glass-button-white { backdrop-filter: blur(20px); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.4); } /* Glass Pattern Background */ .glass-pattern { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: radial-gradient(circle at 25% 25%, rgba(59, 130, 246, 0.1) 0%, transparent 50%), radial-gradient(circle at 75% 75%, rgba(147, 51, 234, 0.1) 0%, transparent 50%), radial-gradient(circle at 50% 50%, rgba(236, 72, 153, 0.05) 0%, transparent 50%); animation: glass-float 20s ease-in-out infinite; } @keyframes glass-float { 0%, 100% { transform: translate(0, 0) scale(1); filter: hue-rotate(0deg); } 33% { transform: translate(20px, -10px) scale(1.05); filter: hue-rotate(120deg); } 66% { transform: translate(-15px, 15px) scale(0.95); filter: hue-rotate(240deg); } } /* Soft Pattern Background */ .soft-pattern { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: linear-gradient(rgba(59, 130, 246, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(147, 51, 234, 0.05) 1px, transparent 1px); background-size: 60px 60px; animation: soft-flow 30s ease-in-out infinite; } @keyframes soft-flow { 0%, 100% { transform: translate(0, 0) scale(1); filter: hue-rotate(0deg); } 25% { transform: translate(15px, 8px) scale(1.02); filter: hue-rotate(45deg); } 50% { transform: translate(30px, 15px) scale(1.05); filter: hue-rotate(90deg); } 75% { transform: translate(15px, 23px) scale(1.02); filter: hue-rotate(135deg); } } /* Enhanced Scrolling Animation */ @keyframes scroll-smooth { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } } .animate-scroll-smooth { animation: scroll-smooth 40s linear infinite; } /* Line Clamp Utility */ .line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* Custom Scrollbar with Enhanced Glass */ ::-webkit-scrollbar { width: 10px; } ::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); border-radius: 5px; } ::-webkit-scrollbar-thumb { background: linear-gradient(180deg, rgba(59, 130, 246, 0.8), rgba(147, 51, 234, 0.8)); border-radius: 5px; box-shadow: 0 0 10px rgba(59, 130, 246, 0.3); backdrop-filter: blur(10px); } ::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, rgba(147, 51, 234, 0.9), rgba(236, 72, 153, 0.9)); box-shadow: 0 0 15px rgba(147, 51, 234, 0.5); } /* Responsive Typography */ @media (max-width: 768px) { .soft-pattern { background-size: 40px 40px; animation-duration: 25s; } .glass-pattern { animation-duration: 15s; } } /* Performance Optimizations */ .animate-pulse, .animate-scroll-smooth, .soft-pattern, .glass-pattern { will-change: transform; } /* Focus States for Accessibility */ button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; } /* Enhanced Hover Effects for Interactive Elements */ .glass-card-white:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.5); } .glass-card-enhanced:hover { transform: translateY(-3px); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.2); } .glass-button-white:hover { transform: translateY(-2px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.5); } /* Floating Glass Orb Animation */ @keyframes float-orb { 0%, 100% { transform: translateY(0px) scale(1); opacity: 0.6; } 50% { transform: translateY(-10px) scale(1.1); opacity: 0.8; } } .animate-float-orb { animation: float-orb 4s ease-in-out infinite; }