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

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

::-webkit-scrollbar-thumb {
    background: linear-gradient(#9d00ff, #ff00a0);
    border-radius: 10px;
}

/* Input number arrows */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Selection color */
::selection {
    background: #ff00a0;
    color: #f0f0f0;
}

/* Custom animations */
@keyframes scanline {
    0% {
        transform: translateY(-100%);
    }
    100% {
        transform: translateY(100%);
    }
}

/* Cyberpunk glitch effect */
.glitch {
    position: relative;
}

.glitch::before, .glitch::after {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.glitch::before {
    left: 2px;
    text-shadow: -2px 0 #ff00a0;
    clip: rect(44px, 450px, 56px, 0);
    animation: glitch-anim 5s infinite linear alternate-reverse;
}

.glitch::after {
    left: -2px;
    text-shadow: -2px 0 #9d00ff;
    clip: rect(44px, 450px, 56px, 0);
    animation: glitch-anim2 5s infinite linear alternate-reverse;
}

@keyframes glitch-anim {
    0% {
        clip: rect(31px, 9999px, 94px, 0);
    }
    20% {
        clip: rect(112px, 9999px, 76px, 0);
    }
    40% {
        clip: rect(75px, 9999px, 107px, 0);
    }
    60% {
        clip: rect(98px, 9999px, 58px, 0);
    }
    80% {
        clip: rect(46px, 9999px, 77px, 0);
    }
    100% {
        clip: rect(82px, 9999px, 91px, 0);
    }
}

@keyframes glitch-anim2 {
    0% {
        clip: rect(65px, 9999px, 119px, 0);
    }
    20% {
        clip: rect(34px, 9999px, 115px, 0);
    }
    40% {
        clip: rect(99px, 9999px, 38px, 0);
    }
    60% {
        clip: rect(53px, 9999px, 96px, 0);
    }
    80% {
        clip: rect(112px, 9999px, 74px, 0);
    }
    100% {
        clip: rect(47px, 9999px, 61px, 0);
    }
}
/* Hover effects */
.hover-underline {
    position: relative;
}

.hover-underline::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, #9d00ff, #ff00a0);
    transition: width 0.3s ease;
}

.hover-underline:hover::after {
    width: 100%;
}

/* Rating Modal */
#ratingModal {
    backdrop-filter: blur(4px);
}

#starRating i {
    transition: all 0.2s ease;
}

#userComment {
    resize: none;
}
