/* ================================
   TOP NAVBAR (BOLD COLORFUL)
================================ */
.top-nav {
    width: 100%;
    background: #020617;
    border-bottom: 1px solid #1e293b;
    position: sticky;
    top: 0;
    z-index: 999;
}

.nav-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 12px 10px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}

/* NAV LINKS */
.top-nav a {
    font-size: 15px;
    font-weight: 700;
    padding: 8px 14px;
    border-radius: 8px;
    text-decoration: none;
    transition: 0.3s ease;
    position: relative;

    /* rainbow text */
    background: linear-gradient(
        90deg,
        #ff0080,
        #ff8c00,
        #ffd500,
        #00ff88,
        #00cfff,
        #8a5cff,
        #ff0080
    );
    background-size: 400% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: navRainbow 6s linear infinite;
}

/* hover effect */
.top-nav a:hover {
    background: linear-gradient(90deg, #6366f1, #8b5cf6);
    -webkit-background-clip: unset;
    -webkit-text-fill-color: #fff;
    color: #fff;
    box-shadow: 0 0 10px rgba(99, 102, 241, 0.6);
}

/* underline glow */
.top-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 0%;
    height: 2px;
    background: #6366f1;
    transition: 0.3s;
}

.top-nav a:hover::after {
    width: 100%;
}

/* animation */
@keyframes navRainbow {
    0% { background-position: 0% 50%; }
    100% { background-position: 400% 50%; }
}

/* MOBILE */
@media (max-width: 768px) {
    .nav-container {
        justify-content: center;
    }

    .top-nav a {
        font-size: 14px;
        padding: 6px 10px;
    }
}