* {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
}

html {
    overscroll-behavior-y: none;
}

body {
    background: #F7F7F9;
    overflow-x: hidden;
}

.tap-target {
    transition: transform 0.2s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.2s ease;
    cursor: pointer;
}

.tap-target:active {
    transform: scale(0.96);
}

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

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

.splash-video {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

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

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

.glass-panel {
    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.4);
}

.stagger-item {
    opacity: 0;
    transform: translateY(15px);
}

@keyframes slideUpFade {
    from {
        opacity: 0;
        transform: translateY(10px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.ai-popup {
    animation: slideUpFade 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}