/* Smooth scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #0a0e17;
}
::-webkit-scrollbar-thumb {
    background: #1e293b;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #334155;
}

/* Pulse animation for scanning state */
@keyframes pulse-glow {
    0%, 100% { box-shadow: 0 0 0 0 rgba(34, 211, 238, 0.2); }
    50% { box-shadow: 0 0 0 8px rgba(34, 211, 238, 0); }
}

button[disabled] {
    animation: pulse-glow 2s ease-in-out infinite;
}

/* Module sections transition */
.module-body {
    transition: max-height 0.3s ease;
}

/* Progress bar shimmer */
#progressBar {
    background: linear-gradient(90deg, #22d3ee, #06b6d4, #22d3ee);
    background-size: 200% 100%;
    animation: shimmer 2s linear infinite;
}

@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

/* Badge hover */
.module-body > div:hover {
    background: rgba(255, 255, 255, 0.02);
    border-radius: 6px;
}
