/* Respect prefers-reduced-motion (UI/UX skill: a11y) */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.001ms !important;
        transition-duration: 0.001ms !important;
    }
}

/* Skeleton shimmer for loading state */
.skeleton {
    background: linear-gradient(90deg, #e2e8f0 0%, #f1f5f9 50%, #e2e8f0 100%);
    background-size: 200% 100%;
    animation: skeleton-shimmer 1.4s ease-in-out infinite;
    border-radius: 6px;
}

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

/* Card hover - color/shadow only (no scale to avoid layout shift) */
.result-card {
    transition: border-color 200ms ease, box-shadow 200ms ease;
}
.result-card:hover {
    border-color: #93c5fd;
    box-shadow: 0 4px 12px -2px rgba(30, 64, 175, 0.12);
}

/* Star rating */
.star-filled { color: #F59E0B; }
.star-empty { color: #cbd5e1; }
