@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;700&display=swap');
        
        body { 
            margin: 0; 
            background: #020617; 
            font-family: 'Inter', sans-serif; 
            color: white;
            overflow-x: hidden;
            overflow-y: auto;
            min-height: 100vh;
        }

        body.light-mode {
            background: #f8fafc;
            color: #0f172a;
        }

        body.light-mode .glass-panel {
            background: rgba(255, 255, 255, 0.7);
            border: 1px solid rgba(15, 23, 42, 0.1);
            color: #1e293b;
        }

        body.light-mode .nav-item { color: #1e293b; }
        body.light-mode input, body.light-mode textarea { background: white !important; color: #0f172a !important; border: 1px solid #ddd !important; }

        #bg-canvas {
            position: fixed;
            top: 0;
            left: 0;
            z-index: -1;
        }

        .glass-panel {
            background: rgba(15, 23, 42, 0.4);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 32px;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
        }

        .nav-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            text-decoration: none;
            color: white;
            background: none;
            border: none;
            cursor: pointer;
        }

        .nav-item:hover {
            transform: scale(1.1);
            color: #22d3ee;
        }

        .nav-item i {
            font-size: 2.2rem;
            margin-bottom: 12px;
            filter: drop-shadow(0 0 8px rgba(34, 211, 238, 0.3));
        }

        @media (min-width: 768px) {
            .nav-item i { font-size: 2.8rem; }
        }

        /* Mobile specific fix for iPhone layout */
        @media (max-width: 640px) {
            #main-title { font-size: 1.25rem !important; line-height: 1.2; }
            nav { padding: 1rem !important; }
            .nav-item span { font-size: 0.65rem; }
        }

        .nav-item span {
            font-size: 0.75rem;
            font-weight: 500;
            text-align: center;
        }

        html { scroll-behavior: smooth; }

        #toast.show {
            animation: slideUp 0.5s forwards, fadeOut 0.5s 3.5s forwards;
        }

        @keyframes slideUp {
            from { transform: translate(-50%, 100%); opacity: 0; }
            to { transform: translate(-50%, 0); opacity: 1; }
        }

        /* Detail Formatting */
        .detail-text {
            white-space: pre-line;
        }

        /* Infinite Logo Scroll */
        @keyframes scroll {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        .partner-track {
            display: flex;
            width: max-content; /* Automatically fits all logos */
            animation: scroll 30s linear infinite;
        }

        .partner-track:hover {
            animation-play-state: paused; /* Stops when user hovers */
        }

        .partner-logo {
            height: 3rem; /* Adjust logo height */
            width: auto;
            margin: 0 3rem;
            filter: grayscale(100%);
            opacity: 0.5;
            transition: all 0.4s ease;
        }

        .partner-logo:hover {
            filter: grayscale(0%);
            opacity: 1;
            transform: scale(1.1);
        }
        /* --- INFINITE PARTNER SCROLL --- */
        @keyframes scroll {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        .partner-track {
            display: flex;
            width: max-content;
            animation: scroll 35s linear infinite;
        }

        /* Pause animation on hover */
        .partner-track:hover {
            animation-play-state: paused;
        }

        .partner-logo {
            height: 3.5rem; /* Height of the logos */
            width: auto;
            margin: 0 3.5rem; /* Spacing between logos */
            filter: grayscale(100%);
            opacity: 0.6;
            transition: all 0.4s ease;
            flex-shrink: 0;
        }

        .partner-logo:hover {
            filter: grayscale(0%);
            opacity: 1;
            transform: scale(1.1);
        }

        /* Smooth Gradient Overlays for the edges */
        #partnerSection .bg-gradient-to-r {
            pointer-events: none; /* Allows you to click logos through the gradient */
        }

        /* --- INFINITE PARTNER SCROLL --- */
        @keyframes scroll {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); } /* Moves halfway to reveal the duplicate set */
        }

        .partner-track {
            display: flex;
            width: max-content;
            animation: scroll 40s linear infinite;
        }

        /* Pause the scrolling when someone hovers over a logo */
        .partner-track:hover {
            animation-play-state: paused;
        }

        .partner-logo {
            height: 3.5rem;
            width: auto;
            margin: 0 4rem;
            filter: grayscale(100%);
            opacity: 0.5;
            transition: all 0.4s ease;
            flex-shrink: 0;
        }

        .partner-logo:hover {
            filter: grayscale(0%);
            opacity: 1;
            transform: scale(1.1);
        }
        /* Pop-up Ribbon Animation */
        @keyframes ribbonScroll {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        .partner-track {
            display: flex;
            width: max-content;
            animation: ribbonScroll 30s linear infinite;
        }

        .partner-logo {
            height: 2rem; /* Smaller for the pop-up */
            width: auto;
            margin: 0 2.5rem;
            filter: brightness(0) invert(1); /* Makes all logos white for sleek look */
            opacity: 0.4;
        }

        #partnerSection {
            animation: fadeInUp 0.8s cubic-bezier(0.22, 1, 0.36, 1);
        }

        @keyframes fadeInUp {
            from { opacity: 0; transform: translate(-50%, 20px); }
            to { opacity: 1; transform: translate(-50%, 0); }
        }
        /* Pop-up Ribbon Animation */
        @keyframes scrollRibbon {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        .partner-track {
            display: flex;
            width: max-content;
            animation: scrollRibbon 25s linear infinite;
        }

        .partner-logo {
            height: 1.8rem; /* Smaller, sleek size */
            width: auto;
            margin: 0 2rem;
            filter: brightness(0) invert(1); /* Makes logos pure white for a premium look */
            opacity: 0.4;
            transition: 0.3s;
        }

        .partner-logo:hover {
            opacity: 1;
            transform: scale(1.1);
        }

        /* Slide up animation for the pop-up */
        #partnerSection {
            animation: popupSlide 0.8s cubic-bezier(0.22, 1, 0.36, 1);
        }

        @keyframes popupSlide {
            from { transform: translate(-50%, 100px); opacity: 0; }
            to { transform: translate(-50%, 0); opacity: 1; }
        }
        /* Pop-up Ribbon Animation */
        @keyframes scrollRibbon {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        .partner-track {
            display: flex;
            width: max-content;
            animation: scrollRibbon 25s linear infinite;
        }

        .partner-logo {
            height: 1.8rem; /* Smaller, sleek size */
            width: auto;
            margin: 0 2rem;
            filter: brightness(0) invert(1); /* Makes logos pure white for a premium look */
            opacity: 0.4;
            transition: 0.3s;
        }

        .partner-logo:hover {
            opacity: 1;
            transform: scale(1.1);
        }

        /* Slide up animation for the pop-up */
        #partnerSection {
            animation: popupSlide 0.8s cubic-bezier(0.22, 1, 0.36, 1);
        }

        @keyframes popupSlide {
            from { transform: translate(-50%, 100px); opacity: 0; }
            to { transform: translate(-50%, 0); opacity: 1; }
        }
        @keyframes ribbonScroll {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        .partner-track {
            display: flex;
            width: max-content;
            animation: ribbonScroll 30s linear infinite;
        }

        .partner-logo {
            height: 1.8rem;
            width: auto;
            margin: 0 2rem;
            filter: brightness(0) invert(1); /* Premium white logos */
            opacity: 0.4;
            transition: 0.3s;
        }

        /* Slide-up Entrance Animation */
        #partnerSection:not(.hidden) {
            display: block;
            animation: popupFadeIn 1s cubic-bezier(0.22, 1, 0.36, 1);
        }

        @keyframes popupFadeIn {
            from { transform: translate(-50%, 50px); opacity: 0; }
            to { transform: translate(-50%, 0); opacity: 1; }
        }
        .partner-popup {
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.65);
        backdrop-filter: blur(8px);
        z-index: 10000;
        display: flex;
        align-items: center;
        justify-content: center;
        }
        .partner-popup.hidden { display: none; }

        .partner-popup-inner {
        background: rgba(15,23,42,0.55);
        border-radius: 20px;
        padding: 24px;
        width: 90%;
        max-width: 1000px;
        }

        .partner-track-popup {
        display: flex;
        gap: 40px;
        overflow-x: auto;
        padding: 20px;
        }

        .partner-track-popup img {
        height: 70px;
        flex-shrink: 0;
        opacity: 0.6;
        transition: 0.3s;
        }
        .partner-track-popup img:hover {
        opacity: 1;
        transform: scale(1.1);
        }

        .partner-close {
        position: absolute;
        right: 20px;
        top: 14px;
        font-size: 20px;
        color: white;
        }