/* Liquid Glass Effects */
.liquid-glass {
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

.liquid-glass-dark {
    background: rgba(30, 41, 59, 0.8);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(71, 85, 105, 0.3);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

.liquid-glass-light {
    background: rgba(248, 250, 252, 0.8);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(226, 232, 240, 0.3);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

/* Glass Card Variants */
.glass-card {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.glass-card-dark {
    background: rgba(30, 41, 59, 0.6);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(71, 85, 105, 0.2);
    border-radius: 16px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.glass-card-light {
    background: rgba(248, 250, 252, 0.6);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(226, 232, 240, 0.2);
    border-radius: 16px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

/* Glass Button Variants */
.glass-btn {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    transition: all 0.3s ease;
}

.glass-btn:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.glass-btn-dark {
    background: rgba(30, 41, 59, 0.7);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(71, 85, 105, 0.3);
    border-radius: 12px;
    transition: all 0.3s ease;
}

.glass-btn-dark:hover {
    background: rgba(30, 41, 59, 0.9);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.glass-btn-light {
    background: rgba(248, 250, 252, 0.7);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(226, 232, 240, 0.3);
    border-radius: 12px;
    transition: all 0.3s ease;
}

.glass-btn-light:hover {
    background: rgba(248, 250, 252, 0.9);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

/* Glass Input Variants */
.glass-input {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    padding: 12px 16px;
    color: inherit;
    transition: all 0.3s ease;
}

.glass-input:focus {
    outline: none;
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.3);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.1);
}

.glass-input-dark {
    background: rgba(30, 41, 59, 0.6);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(71, 85, 105, 0.3);
    border-radius: 8px;
    padding: 12px 16px;
    color: inherit;
    transition: all 0.3s ease;
}

.glass-input-dark:focus {
    outline: none;
    background: rgba(30, 41, 59, 0.8);
    border-color: rgba(71, 85, 105, 0.5);
    box-shadow: 0 0 0 3px rgba(71, 85, 105, 0.1);
}

.glass-input-light {
    background: rgba(248, 250, 252, 0.6);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(226, 232, 240, 0.3);
    border-radius: 8px;
    padding: 12px 16px;
    color: inherit;
    transition: all 0.3s ease;
}

.glass-input-light:focus {
    outline: none;
    background: rgba(248, 250, 252, 0.8);
    border-color: rgba(226, 232, 240, 0.5);
    box-shadow: 0 0 0 3px rgba(226, 232, 240, 0.1);
}

/* Glass Panel Variants */
.glass-panel {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}

.glass-panel-dark {
    background: rgba(30, 41, 59, 0.7);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(71, 85, 105, 0.2);
    border-radius: 20px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
}

.glass-panel-light {
    background: rgba(248, 250, 252, 0.7);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(226, 232, 240, 0.2);
    border-radius: 20px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
}

/* Glass Overlay Variants */
.glass-overlay {
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.glass-overlay-light {
    background: rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

/* Glass Border Variants */
.glass-border {
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.glass-border-dark {
    border: 1px solid rgba(71, 85, 105, 0.3);
}

.glass-border-light {
    border: 1px solid rgba(226, 232, 240, 0.3);
}

/* Glass Shadow Variants */
.glass-shadow {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

.glass-shadow-dark {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

.glass-shadow-light {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}

/* Glass Gradient Backgrounds */
.glass-gradient {
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.1) 0%, 
        rgba(255, 255, 255, 0.05) 100%);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.glass-gradient-dark {
    background: linear-gradient(135deg, 
        rgba(30, 41, 59, 0.8) 0%, 
        rgba(15, 23, 42, 0.6) 100%);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.glass-gradient-light {
    background: linear-gradient(135deg, 
        rgba(248, 250, 252, 0.8) 0%, 
        rgba(241, 245, 249, 0.6) 100%);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

/* Glass Text Effects */
.glass-text {
    color: rgba(255, 255, 255, 0.9);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.glass-text-dark {
    color: rgba(248, 250, 252, 0.9);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.glass-text-light {
    color: rgba(15, 23, 42, 0.9);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

/* Glass Animation Variants */
@keyframes glassFloat {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-10px);
    }
}

.glass-float {
    animation: glassFloat 6s ease-in-out infinite;
}

@keyframes glassGlow {
    0%, 100% {
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    }
    50% {
        box-shadow: 0 8px 32px rgba(99, 102, 241, 0.2);
    }
}

.glass-glow {
    animation: glassGlow 4s ease-in-out infinite;
}

/* Glass Responsive Adjustments */
@media (max-width: 768px) {
    .glass-panel,
    .glass-panel-dark,
    .glass-panel-light {
        border-radius: 16px;
    }
    
    .glass-card,
    .glass-card-dark,
    .glass-card-light {
        border-radius: 12px;
    }
}

/* Glass Fallback for browsers without backdrop-filter support */
@supports not (backdrop-filter: blur(16px)) {
    .liquid-glass,
    .liquid-glass-dark,
    .liquid-glass-light {
        background: rgba(30, 41, 59, 0.95);
    }
    
    .glass-card,
    .glass-card-dark,
    .glass-card-light {
        background: rgba(30, 41, 59, 0.9);
    }
    
    .glass-btn,
    .glass-btn-dark,
    .glass-btn-light {
        background: rgba(30, 41, 59, 0.8);
    }
    
    .glass-input,
    .glass-input-dark,
    .glass-input-light {
        background: rgba(30, 41, 59, 0.7);
    }
    
    .glass-panel,
    .glass-panel-dark,
    .glass-panel-light {
        background: rgba(30, 41, 59, 0.85);
    }
}

/* Glass Performance Optimizations */
.glass-optimized {
    will-change: transform, backdrop-filter;
    transform: translateZ(0);
}

/* Glass Accessibility Enhancements */
@media (prefers-reduced-motion: reduce) {
    .glass-float,
    .glass-glow {
        animation: none;
    }
}

/* Glass High Contrast Mode */
@media (prefers-contrast: high) {
    .liquid-glass,
    .liquid-glass-dark,
    .liquid-glass-light {
        background: rgba(30, 41, 59, 0.98);
        border: 2px solid rgba(255, 255, 255, 0.5);
    }
    
    .glass-card,
    .glass-card-dark,
    .glass-card-light {
        background: rgba(30, 41, 59, 0.95);
        border: 2px solid rgba(255, 255, 255, 0.3);
    }
} 