/* Enhanced Glassmorphism Effects for MYP Application */ /* Base Glass Effects */ .glass-base { backdrop-filter: blur(20px) saturate(180%) brightness(110%); -webkit-backdrop-filter: blur(20px) saturate(180%) brightness(110%); border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.1); } .glass-strong { backdrop-filter: blur(24px) saturate(200%) brightness(120%); -webkit-backdrop-filter: blur(24px) saturate(200%) brightness(120%); box-shadow: 0 35px 60px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.1); } .glass-subtle { backdrop-filter: blur(16px) saturate(150%) brightness(105%); -webkit-backdrop-filter: blur(16px) saturate(150%) brightness(105%); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(255, 255, 255, 0.05); } /* Light Mode Glass */ .glass-light { background: rgba(255, 255, 255, 0.7); border: 1px solid rgba(255, 255, 255, 0.3); } .glass-light-strong { background: rgba(255, 255, 255, 0.6); border: 1px solid rgba(255, 255, 255, 0.4); } /* Dark Mode Glass */ .glass-dark { background: rgba(0, 0, 0, 0.7); border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.05); } .glass-dark-strong { background: rgba(0, 0, 0, 0.8); border: 1px solid rgba(255, 255, 255, 0.15); box-shadow: 0 35px 60px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.08); } /* Interactive Glass Elements */ .glass-interactive { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); cursor: pointer; } .glass-interactive:hover { transform: translateY(-2px); backdrop-filter: blur(28px) saturate(220%) brightness(125%); -webkit-backdrop-filter: blur(28px) saturate(220%) brightness(125%); box-shadow: 0 40px 80px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.15); } /* Glass Navigation */ .glass-nav { background: rgba(255, 255, 255, 0.5); backdrop-filter: blur(24px) saturate(200%) brightness(120%); -webkit-backdrop-filter: blur(24px) saturate(200%) brightness(120%); border-bottom: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.1); } .dark .glass-nav { background: rgba(0, 0, 0, 0.5); border-bottom: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.05); } /* Glass Cards */ .glass-card-enhanced { background: rgba(255, 255, 255, 0.7); backdrop-filter: blur(20px) saturate(180%) brightness(110%); -webkit-backdrop-filter: blur(20px) saturate(180%) brightness(110%); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 16px; box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.1); transition: all 0.3s ease; } .dark .glass-card-enhanced { background: rgba(0, 0, 0, 0.7); border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.05); } .glass-card-enhanced:hover { transform: translateY(-4px); box-shadow: 0 35px 70px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.15); } .dark .glass-card-enhanced:hover { box-shadow: 0 35px 70px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.1); } /* Glass Buttons */ .glass-btn { background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(16px) saturate(150%) brightness(110%); -webkit-backdrop-filter: blur(16px) saturate(150%) brightness(110%); border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 12px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.1); transition: all 0.2s ease; } .dark .glass-btn { background: rgba(0, 0, 0, 0.8); border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.08); } .glass-btn:hover { transform: translateY(-1px); backdrop-filter: blur(20px) saturate(170%) brightness(115%); -webkit-backdrop-filter: blur(20px) saturate(170%) brightness(115%); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.15); } /* Glass Modals */ .glass-modal { background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(32px) saturate(200%) brightness(115%); -webkit-backdrop-filter: blur(32px) saturate(200%) brightness(115%); border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 20px; box-shadow: 0 50px 100px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.2); } .dark .glass-modal { background: rgba(0, 0, 0, 0.85); border: 1px solid rgba(255, 255, 255, 0.15); box-shadow: 0 50px 100px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.1); } /* Glass Form Elements */ .glass-input { background: rgba(255, 255, 255, 0.6); backdrop-filter: blur(16px) saturate(150%); -webkit-backdrop-filter: blur(16px) saturate(150%); border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 8px; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(255, 255, 255, 0.05); transition: all 0.2s ease; } .dark .glass-input { background: rgba(0, 0, 0, 0.6); border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.05); } .glass-input:focus { backdrop-filter: blur(20px) saturate(180%); -webkit-backdrop-filter: blur(20px) saturate(180%); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15), 0 0 0 2px rgba(59, 130, 246, 0.5); } /* Glass Dropdown */ .glass-dropdown { background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(24px) saturate(200%) brightness(120%); -webkit-backdrop-filter: blur(24px) saturate(200%) brightness(120%); border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 12px; box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.1); } .dark .glass-dropdown { background: rgba(0, 0, 0, 0.8); border: 1px solid rgba(255, 255, 255, 0.15); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.08); } /* Animation for glass elements */ @keyframes glassFloat { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-2px); } } .glass-float { animation: glassFloat 3s ease-in-out infinite; } /* Glass overlay for backgrounds */ .glass-overlay { background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%); backdrop-filter: blur(40px) saturate(200%); -webkit-backdrop-filter: blur(40px) saturate(200%); } .dark .glass-overlay { background: linear-gradient(135deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.1) 100%); } /* Responsive glass effects */ @media (max-width: 768px) { .glass-base, .glass-strong, .glass-card-enhanced { backdrop-filter: blur(16px) saturate(150%); -webkit-backdrop-filter: blur(16px) saturate(150%); } } /* High contrast mode adjustments */ @media (prefers-contrast: high) { .glass-base, .glass-strong, .glass-card-enhanced { border-width: 2px; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); } } /* Reduced motion support */ @media (prefers-reduced-motion: reduce) { .glass-interactive, .glass-card-enhanced, .glass-btn { transition: none; } .glass-float { animation: none; } }