/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #0A0A0F;
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(135deg, #A855F7 0%, #3B82F6 50%, #EC4899 100%);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(135deg, #EC4899 0%, #3B82F6 50%, #A855F7 100%);
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
    font-weight: bold;
}

/* Neon Glow Effects */
.neon-glow {
    text-shadow: 
        0 0 10px rgba(168, 85, 247, 0.5),
        0 0 20px rgba(168, 85, 247, 0.3),
        0 0 30px rgba(168, 85, 247, 0.2);
}

/* Smooth Animations */
@keyframes fade-in-up {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in-up {
    animation: fade-in-up 0.6s ease-out;
}

/* Glassmorphism Effect */
.glass-effect {
    background: rgba(26, 26, 37, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(168, 85, 247, 0.2);
}

/* Line Clamp Utility */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Selection Color */
::selection {
    background: rgba(168, 85, 247, 0.5);
    color: white;
}

::-moz-selection {
    background: rgba(168, 85, 247, 0.5);
    color: white;
}

/* Custom Button Hover Effects */
.btn-neon {
    position: relative;
    overflow: hidden;
}

.btn-neon::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.5s;
}

.btn-neon:hover::before {
    left: 100%;
}

/* Card Hover Effects */
.card-glow {
    transition: all 0.3s ease;
}

.card-glow:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(168, 85, 247, 0.3);
}

/* Responsive Table */
.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Focus States for Accessibility */
a:focus, button:focus {
    outline: 2px solid #A855F7;
    outline-offset: 2px;
}

/* Smooth transitions */
* {
    scroll-behavior: smooth;
}

/* Hide scrollbar for mobile menu */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}

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