body {
    font-family: 'Rubik', sans-serif;
    /* Prevent pull-to-refresh on mobile */
    overscroll-behavior: none;
    /* Smooth scrolling */
    scroll-behavior: smooth;
}

.glass {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.glass-card {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    /* Better touch targets on mobile */
    touch-action: manipulation;
}

@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-15px); }
}

@keyframes pulse-glow {
    0%, 100% { box-shadow: 0 0 20px rgba(59, 130, 246, 0.3); }
    50% { box-shadow: 0 0 40px rgba(59, 130, 246, 0.6); }
}

@keyframes slide-up {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes gradient-shift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@keyframes rotate-slow {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-33.33%); }
}

.float-animation { 
    animation: float 4s ease-in-out infinite; 
}

.pulse-glow { 
    animation: pulse-glow 2s ease-in-out infinite; 
}

.slide-up { 
    animation: slide-up 0.6s ease-out forwards; 
}

.gradient-animate {
    background-size: 200% 200%;
    animation: gradient-shift 3s ease infinite;
}

.rotate-slow { 
    animation: rotate-slow 20s linear infinite; 
}

.stat-card:hover { 
    transform: translateY(-5px); 
    transition: all 0.3s ease; 
}

.infinite-scroll::-webkit-scrollbar { 
    display: none; 
}

.infinite-scroll { 
    -ms-overflow-style: none; 
    scrollbar-width: none; 
}

.animate-scroll {
    animation: scroll 30s linear infinite;
}

.animate-scroll:hover {
    animation-play-state: paused;
}

/* Mobile-specific optimizations */
@media (max-width: 768px) {
    /* Safe area for notched phones */
    body {
        padding-top: env(safe-area-inset-top);
        padding-bottom: env(safe-area-inset-bottom);
        padding-left: env(safe-area-inset-left);
        padding-right: env(safe-area-inset-right);
    }

    /* Better touch targets */
    button {
        min-height: 48px;
        min-width: 48px;
    }

    /* Prevent text selection on mobile */
    .no-select {
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }

    /* Optimize tap highlighting */
    * {
        -webkit-tap-highlight-color: transparent;
    }

    /* Better button feedback on mobile */
    button:active {
        transform: scale(0.97);
    }

    /* Optimize scrolling performance */
    .infinite-scroll {
        -webkit-overflow-scrolling: touch;
    }
}

/* Mobile landscape adjustments */
@media (max-width: 768px) and (orientation: landscape) {
    .glass-card {
        padding: 1rem;
    }

    h1 {
        font-size: 1.5rem !important;
    }

    h2 {
        font-size: 1.25rem !important;
    }
}

/* Small phones */
@media (max-width: 375px) {
    .max-w-6xl {
        max-width: 100%;
        padding: 0 1rem;
    }

    .text-4xl {
        font-size: 1.75rem;
    }

    .text-6xl {
        font-size: 2.5rem;
    }
}
