/* Search home animations — Vrilsoft purple palette */

.search-home-page .search-aurora {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}

.search-home-page .search-aurora::before,
.search-home-page .search-aurora::after {
    content: "";
    position: absolute;
    width: 70vmax;
    height: 70vmax;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.32;
    animation: aurora-drift 18s ease-in-out infinite alternate;
}

.search-home-page .search-aurora::before {
    background: radial-gradient(circle, rgba(102, 126, 234, 0.42), transparent 65%);
    top: -20%;
    left: -15%;
}

.search-home-page .search-aurora::after {
    background: radial-gradient(circle, rgba(118, 75, 162, 0.38), transparent 65%);
    bottom: -25%;
    right: -10%;
    animation-delay: -6s;
    animation-duration: 22s;
}

@keyframes aurora-drift {
    0% { transform: translate(0, 0) scale(1); }
    100% { transform: translate(8%, 6%) scale(1.08); }
}

.search-home-page .search-grid-lines {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(129, 140, 248, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(129, 140, 248, 0.05) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(ellipse 80% 60% at 50% 28%, black, transparent);
    animation: grid-pulse 8s ease-in-out infinite;
}

@keyframes grid-pulse {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 0.55; }
}

.search-home-page .search-pulse-ring {
    position: absolute;
    inset: -4px;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--primary) 40%, transparent);
    animation: pulse-ring 2.8s ease-out infinite;
    pointer-events: none;
}

@keyframes pulse-ring {
    0% { transform: scale(1); opacity: 0.65; }
    100% { transform: scale(1.03); opacity: 0; }
}

.search-home-page .search-box-wrap {
    position: relative;
    width: 100%;
}

.search-home-page .search-hero-wide h1 {
    animation: title-shimmer 6s ease-in-out infinite;
}

@keyframes title-shimmer {
    0%, 100% { filter: brightness(1); }
    50% { filter: brightness(1.1); }
}

.search-home-page .topic-card-stagger {
    animation-delay: calc(var(--stagger, 0) * 80ms);
}

.search-home-page .floating-mote {
    position: fixed;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--primary);
    opacity: 0.45;
    pointer-events: none;
    z-index: 0;
    animation: mote-float var(--dur, 12s) linear infinite;
}

@keyframes mote-float {
    0% { transform: translateY(100vh) translateX(0); opacity: 0; }
    10% { opacity: 0.55; }
    90% { opacity: 0.35; }
    100% { transform: translateY(-10vh) translateX(var(--dx, 20px)); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .search-home-page .search-aurora::before,
    .search-home-page .search-aurora::after,
    .search-home-page .search-grid-lines,
    .search-home-page .search-pulse-ring,
    .search-home-page .floating-mote,
    .search-home-page .search-hero-wide h1 {
        animation: none !important;
    }
}
