.bg-grid-pattern {
    background-image: 
        linear-gradient(to right, rgba(255,255,255,0.02) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255,255,255,0.02) 1px, transparent 1px);
    background-size: 24px 24px;
}

.pulse-glow {
    animation: pulseGlow 2s infinite alternate;
}
@keyframes pulseGlow {
    0% { box-shadow: 0 0 15px rgba(14, 165, 233, 0.1); }
    100% { box-shadow: 0 0 30px rgba(14, 165, 233, 0.3); }
}

.spinner {
    border: 3px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    border-top: 3px solid #0ea5e9;
    width: 24px;
    height: 24px;
    animation: spin 1s linear infinite;
}
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

#resultsContainer { transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1); overflow: hidden; }
.candidate-row { animation: slideInRight 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; opacity: 0; transform: translateX(20px); }

@keyframes slideInRight { 
    to { opacity: 1; transform: translateX(0); } 
}
