/* Custom styles for constellation visualization */
.node {
    cursor: pointer;
    transition: all 0.3s ease;
}

.node:hover {
    transform: scale(1.15);
    filter: drop-shadow(0 0 12px rgba(124, 58, 237, 0.3));
}

.link {
    stroke: #d1d5db;
    stroke-opacity: 0.8;
    transition: stroke-opacity 0.3s ease;
}

.link:hover {
    stroke-opacity: 1;
}

.central-node {
    stroke: #7c3aed;
    stroke-width: 3px;
    filter: drop-shadow(0 0 12px rgba(124, 58, 237, 0.6));
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}
/* Article card styles */
.article-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid rgba(224, 231, 255, 0.5);
}

.article-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 25px -5px rgba(124, 58, 237, 0.1), 0 10px 10px -5px rgba(124, 58, 237, 0.04);
    border-color: rgba(124, 58, 237, 0.3);
}
.article-card:first-child {
    background: linear-gradient(to right, rgba(124, 58, 237, 0.05), transparent);
}
/* No results page styles */
.no-results-icon {
    animation: bounce 2s infinite;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
    40% {transform: translateY(-20px);}
    60% {transform: translateY(-10px);}
}

/* Search suggestions */
[onclick*="performSearch"] {
    transition: all 0.2s ease;
}

[onclick*="performSearch"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 2px 4px rgba(124, 58, 237, 0.1);
}
/* Responsive adjustments */
@media (max-width: 640px) {
    #constellation {
        height: 400px;
    }
}