        /* =========================================
           RESET & VARIABLES (Scoped with sn- prefix)
           ========================================= */
        :root {
            --sn-bg-body: #ffffff;
            --sn-text-main: #171717;
            --sn-text-muted: #525252;
            --sn-text-light: #9ca3af;
            --sn-border-color: #e5e5e5;
            --sn-bg-hover: #f3f4f6;
            --sn-primary-gradient-start: #5b2dd8;
            --sn-primary-gradient-end: #db2777;
            
            /* Custom Colors for Mobile Resources */
            --sn-navy: #1e3a8a;
            --sn-bright-blue: #3b82f6;

            --sn-nav-height: 80px; 
            --sn-font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
        }

        * { box-sizing: border-box; margin: 0; padding: 0; }

        body {
            font-family: var(--sn-font-sans);
            background-color: var(--sn-bg-body);
            color: var(--sn-text-main);
            min-height: 100vh;
            padding-top: var(--sn-nav-height); 
        }

        a { text-decoration: none; color: inherit; }
        button { border: none; background: none; font-family: inherit; cursor: pointer; }

        /* =========================================
           ISOLATED UTILITIES (Prefixed with sn-)
           ========================================= */
        .sn-flex { display: flex; }
        .sn-flex-col { flex-direction: column; }
        .sn-items-center { align-items: center; }
        .sn-justify-between { justify-content: space-between; }
        .sn-justify-center { justify-content: center; }
        .sn-gap-1 { gap: 0.25rem; }
        .sn-gap-2 { gap: 0.5rem; }
        .sn-gap-3 { gap: 0.75rem; }
        /* .sn-gap-4 { gap: 1rem; } */
        .sn-gap-8 { gap: 2rem; }
        .sn-gap-10 { gap: 2.5rem; }
        
        .sn-hidden { display: none !important; }
        .sn-invisible { visibility: hidden; }
        .sn-relative { position: relative; }
        .sn-absolute { position: absolute; }
        .sn-fixed { position: fixed; }
        .sn-w-full { width: 100%; }
        .sn-h-full { height: 100%; }
        
        .sn-font-bold { font-weight: 700; }
        .sn-font-semibold { font-weight: 600; }
        .sn-font-medium { font-weight: 500; }
        .sn-text-sm { font-size: 0.875rem; line-height: 1.25rem; }
        .sn-text-xs { font-size: 0.75rem; line-height: 1rem; }
        .sn-text-xl { font-size: 1.25rem; line-height: 1.75rem; }
        .sn-text-5xl { font-size: 3rem; line-height: 1; }
        
        .sn-text-neutral-900 { color: var(--sn-text-main); }
        .sn-text-neutral-600 { color: var(--sn-text-muted); }
        .sn-text-neutral-500 { color: #737373; }
        .sn-text-neutral-400 { color: var(--sn-text-light); }
        .sn-text-white { color: #ffffff; }
        
        /* Custom Text Colors */
        .sn-text-navy { color: var(--sn-navy); }
        .sn-text-blue { color: var(--sn-bright-blue); }

        .sn-bg-gradient-brand { background: linear-gradient(135deg, var(--sn-primary-gradient-start) 0%, var(--sn-primary-gradient-end) 100%); }
        .sn-text-gradient { background: linear-gradient(135deg, var(--sn-primary-gradient-start) 0%, var(--sn-primary-gradient-end) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

        .sn-transition-all { transition: all 0.2s ease; }
        .sn-transition-colors { transition: color 0.2s ease, background-color 0.2s ease; }
        .sn-transition-transform { transition: transform 0.2s ease; }
        .sn-transition-opacity { transition: opacity 0.2s ease; }

        /* =========================================
           NAVBAR STYLES
           ========================================= */
        #sn-main-nav {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: var(--sn-nav-height);
            z-index: 10000;
            border-bottom: 1px solid var(--sn-border-color);
            background-color: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        /* Container for Edge-to-Edge with RESPONSIVE Padding */
        .sn-nav-container { 
            width: 100%; 
            max-width: 100%; 
            margin: 0; 
            padding: 0 1rem; /* Mobile padding (16px) */
            height: 100%; 
        }
        
        /* Desktop Padding (40px) */
        @media (min-width: 768px) {
            .sn-nav-container { padding: 0 40px; }
        }

        .sn-nav-content { display: flex; align-items: center; justify-content: space-between; height: 100%; }

        .sn-nav-logo { display: flex; align-items: center; gap: 0.5rem; flex-shrink: 0; text-decoration: none; }
        
        /* LOGO SIZING LOGIC */
        .sn-nav-logo img { 
            height: 1.5rem; /* Mobile Logo Height */
            width: auto; 
            object-fit: contain; 
            display: block; 
            transition: height 0.3s ease; 
        }
        @media (min-width: 768px) { 
            .sn-nav-logo img { 
                height: 2.2rem; /* Desktop Logo Height */
            } 
        }

        /* Desktop Tabs */
        .sn-tab-btn { display: flex; align-items: center; gap: 0.25rem; border-radius: 9999px; padding: 0.5rem 0.75rem; font-size: 0.875rem; font-weight: 500; color: black; transition: all 0.2s; }
        .sn-tab-btn:hover, .sn-tab-btn[data-active="true"] { background-color: var(--sn-bg-hover); color: var(--sn-text-main); }
        .sn-tab-btn[data-active="true"] .sn-chevron-icon { transform: rotate(180deg); }

        /* --- DESKTOP Resource Box Highlight --- */
        .sn-tab-btn.sn-resource-box {
            border: 1px solid var(--sn-text-main);
            color: var(--sn-text-main);
            font-weight: 700;
            /* border-radius: 0.25rem; */
            padding: 0.4rem 0.6rem;
        }
        .sn-tab-btn.sn-resource-box:hover,
        .sn-tab-btn.sn-resource-box[data-active="true"] {
            background-color: #000000;
            color: #ffffff;
            border-color: #000000;
        }

        .sn-nav-actions { display: none; align-items: center; gap: 1rem; }
        @media (min-width: 768px) { .sn-nav-actions { display: flex; } }

        .sn-btn-ghost { font-size: 0.875rem; font-weight: 500; color: var(--sn-text-muted); }
        .sn-btn-ghost:hover { color: var(--sn-text-main); }
        .sn-btn-primary { border-radius: 9999px; padding: 0.625rem 1.25rem; font-size: 0.875rem; font-weight: 500; color: white; box-shadow: 0 10px 15px -3px rgba(79, 70, 229, 0.2); transition: transform 0.2s ease, box-shadow 0.2s ease; }
        .sn-btn-primary:hover { transform: scale(1.05); }

        /* Mobile Toggle */
        #sn-mobile-menu-btn { display: flex; color: var(--sn-text-muted); padding: 0.25rem; border-radius: 0.375rem; }
        #sn-mobile-menu-btn:hover { color: var(--sn-text-main); background-color: var(--sn-bg-hover); }
        @media (min-width: 768px) { #sn-mobile-menu-btn { display: none; } }

        /* =========================================
           DESKTOP DROPDOWN OVERLAY
           ========================================= */
        #sn-overlay-content { opacity: 0; transform: translateY(8px); position: absolute; left: 0; top: calc(100% + 20px); width: 850px; max-width: calc(100vw - 2rem); border-radius: 0.75rem; border: 1px solid var(--sn-border-color); background-color: #ffffff; padding: 1.5rem; box-shadow: var(--shadow-xl); z-index: 10001; transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s; }
        #sn-overlay-content.visible { opacity: 1; transform: translateY(0); visibility: visible; }

        #sn-nub { position: absolute; left: 0; top: 0; height: 1rem; width: 1rem; background-color: #ffffff; border-left: 1px solid var(--sn-border-color); border-top: 1px solid var(--sn-border-color); transform: translate(-50%, -50%) rotate(45deg); border-top-left-radius: 2px; transition: left 0.25s ease-in-out; }
        .sn-overlay-bridge { position: absolute; top: -20px; left: 0; right: 0; height: 20px; }

        @keyframes snNavSlideInRight { from { opacity: 0; transform: translateX(-20px); } to { opacity: 1; transform: translateX(0); } }
        @keyframes snNavSlideInLeft { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: translateX(0); } }
        .sn-animate-enter-right { animation: snNavSlideInLeft 0.25s ease-out forwards; }
        .sn-animate-enter-left { animation: snNavSlideInRight 0.25s ease-out forwards; }

        .sn-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; }
        .sn-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
        .divide-x > * + * { border-left: 1px solid var(--sn-border-color); }

        .sn-dropdown-card { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.5rem; border-radius: 0.5rem; transition: background-color 0.2s; }
        .sn-dropdown-card:hover { background-color: #f9fafb; }
        .sn-dropdown-card img { height: 3rem; width: 4rem; object-fit: cover; border-radius: 0.375rem; opacity: 0.9; transition: opacity 0.2s; }
        .sn-dropdown-card:hover img { opacity: 1; }
        .sn-dropdown-card h4 { font-size: 0.875rem; font-weight: 600; color: var(--sn-text-main); transition: color 0.2s; }
        .sn-dropdown-card:hover h4 { color: var(--sn-primary-gradient-start); }
        .sn-dropdown-card p { font-size: 0.75rem; color: #737373; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

        /* Rich Course Card (Desktop) */
        .sn-course-card { display: flex; gap: 1rem; align-items: flex-start; padding: 0.75rem; border-radius: 0.5rem; transition: background-color 0.2s; }
        .sn-course-card:hover { background-color: #f9fafb; }
        .sn-course-img-wrapper { position: relative; flex-shrink: 0; }
        .sn-course-img { height: 5rem; width: 7rem; object-fit: cover; border-radius: 0.5rem; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); }
        .sn-course-badge { position: absolute; bottom: 4px; right: 4px; background-color: rgba(0,0,0,0.75); color: white; font-size: 0.65rem; padding: 2px 6px; border-radius: 4px; font-weight: 500; }
        .sn-course-info h4 { font-size: 0.95rem; font-weight: 700; color: var(--sn-text-main); margin-bottom: 0.25rem; transition: color 0.2s; }
        .sn-course-card:hover .sn-course-info h4 { color: var(--sn-primary-gradient-start); }
        .sn-course-info p { font-size: 0.8rem; color: var(--sn-text-muted); margin-bottom: 0.5rem; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
        .sn-course-meta { display: flex; flex-wrap: wrap; gap: 0.75rem; font-size: 0.7rem; color: #9ca3af; font-weight: 500; }
        .sn-course-meta span { display: flex; align-items: center; gap: 0.25rem; }

        /* =========================================
           MOBILE STYLES
           ========================================= */
        #sn-mobile-menu {
            position: fixed;
            top: var(--sn-nav-height);
            left: 0;
            width: 100%;
            height: auto;
            max-height: calc(100vh - var(--sn-nav-height) - 1rem); 
            background-color: #ffffff;
            border-bottom: 1px solid var(--sn-border-color);
            box-shadow: var(--shadow-xl);
            overflow-y: auto;
            z-index: 9999; 
            padding: 1.5rem;
            padding-bottom: 1.5rem;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-10px);
            transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
            pointer-events: none;
        }
        
        #sn-mobile-menu.open { opacity: 1 !important; visibility: visible !important; transform: translateY(0) !important; pointer-events: auto !important; display: block !important; }

        .sn-mobile-group { border-bottom: 1px solid #f3f4f6; padding-bottom: 0.75rem; margin-bottom: 0.75rem; }
        .sn-mobile-group-btn { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 0.5rem 0; font-size: 1rem; font-weight: 600; color: var(--sn-text-main); }
        .sn-mobile-content { padding-left: 1rem; padding-top: 0.25rem; max-height: 0; overflow: hidden; transition: max-height 0.3s ease-in-out; }
        .sn-mobile-group[data-open="true"] .sn-mobile-content { max-height: 1000px; }
        .sn-mobile-group[data-open="true"] .sn-mobile-group-btn .sn-chevron-icon { transform: rotate(180deg); }
        .sn-mobile-link { display: block; padding: 0.5rem 0; font-size: 0.875rem; color: var(--sn-text-muted); transition: color 0.2s; }
        .sn-mobile-link:hover { color: var(--sn-primary-gradient-start); }

        /* --- MOBILE RESOURCES SPECIFICS --- */
        #sn-mobile-res-wrapper { position: relative; }

        /* Smaller Box for Mobile Resources Button */
        #sn-mobile-res-btn {
            display: flex;
            align-items: center;
            /* gap: 0.25rem; */
            border: 1px solid #004aff;
            color: var(--sn-text-main);
            font-weight: 700;
            /* border-radius: 100rem; */
            padding: 0.2rem 0.3rem; 
            font-size: 0.75rem;     
            transition: all 0.2s;
        }
        #sn-mobile-res-btn.active {
            background-color: #000000;
            color: #ffffff;
            border-color: #000000;
        }

        /* CENTERED Mobile Dropdown */
        #sn-mobile-res-dropdown {
            position: fixed; 
            top: calc(var(--sn-nav-height) + 12px);
            left: 50%;
            transform: translateX(-50%) scale(0.95);
            
            width: 94vw; 
            max-width: 24rem; 
            max-height: 75vh;
            
            background-color: #ffffff;
            border: 1px solid var(--sn-border-color);
            border-radius: 0.75rem;
            box-shadow: var(--shadow-xl);
            z-index: 10001;
            overflow-y: auto;
            
            transform-origin: top center;
            opacity: 0; 
            visibility: hidden; 
            pointer-events: none;
            transition: all 0.2s ease;
        }
        #sn-mobile-res-dropdown.active { 
            transform: translateX(-50%) scale(1);
            opacity: 1; 
            visibility: visible; 
            pointer-events: auto; 
        }
        
        #sn-mobile-res-btn .sn-chevron-icon { transition: transform 0.2s; }

        /* Adjusted Nub Position */
        .sn-mobile-res-nub { 
            position: absolute; 
            right: 3.5rem; 
            top: -5px; 
            height: 0.75rem; 
            width: 0.75rem; 
            background-color: #ffffff; 
            border-left: 1px solid var(--sn-border-color); 
            border-top: 1px solid var(--sn-border-color); 
            transform: rotate(45deg); 
            display: block;
        }

        /* Mobile Tabs Styling */
        .sn-mobile-tabs {
            display: flex;
            border-bottom: 1px solid var(--sn-border-color);
            background-color: #f9fafb;
        }
        .sn-mobile-tab-btn {
            flex: 1;
            padding: 0.75rem;
            font-size: 0.85rem;
            font-weight: 600;
            color: var(--sn-text-muted);
            text-align: center;
            border-bottom: 2px solid transparent;
            transition: all 0.2s;
        }
        .sn-mobile-tab-btn.active {
            color: var(--sn-navy);
            border-bottom-color: var(--sn-bright-blue);
            background-color: #ffffff;
        }
        
        .sn-mobile-tab-content {
            padding: 0.75rem;
            display: none;
            flex-direction: column;
            gap: 0.75rem;
        }
        .sn-mobile-tab-content.active {
            display: flex;
        }

        /* Mobile Detailed Card */
        .sn-mobile-course-card { display: flex; gap: 0.75rem; padding: 0.75rem; border-radius: 0.5rem; background-color: #ffffff; border: 1px solid transparent; }
        .sn-mobile-course-card:hover { background-color: #fafafa; border-color: #e5e5e5; }
        .sn-mobile-course-img { height: 3.5rem; width: 3.5rem; object-fit: cover; border-radius: 0.375rem; flex-shrink: 0; }
        
        .sn-mobile-course-info h4 { 
            font-size: 0.85rem; 
            font-weight: 700; 
            color: var(--sn-navy); 
            margin-bottom: 0.1rem; 
        }
        .sn-mobile-course-info p { font-size: 0.75rem; color: var(--sn-text-muted); line-height: 1.3; margin-bottom: 0.25rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
        .sn-mobile-course-meta { display: flex; gap: 0.5rem; font-size: 0.65rem; color: #9ca3af; font-weight: 500; }
        
        .sn-active-link { color: var(--sn-bright-blue) !important; }

        @media (min-width: 768px) {
            .sn-md\:flex { display: flex !important; }
            .sn-md\:hidden { display: none !important; }
        }
        
        .sn-content-spacer { max-width: 56rem; margin: 0 auto; padding: 2rem; }
        .sn-skeleton-block { height: 16rem; border-radius: 0.75rem; background-color: var(--sn-bg-hover); border: 1px solid var(--sn-border-color); margin-bottom: 2rem; }
   