MediaWiki:Gadget-Navbar.js: Difference between revisions

From ChaosZeroNightmareWiki
Jump to navigation Jump to search
Created page with "(function () { var style = ================= Top Navbar Base Styles =================: '.czn-navbar{position:fixed;top:0;left:0;width:100%;height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;z-index:9999;' + 'background: rgba(255, 255, 255, 0.75);' + // White background with transparency 'backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px);' + // Frosted glass effect 'borde..."
 
Style Edit
 
Line 1: Line 1:
(function () {
(function () {
     var style =
     var style =
         /* ================= Top Navbar Base Styles ================= */
         /* ================= Base Navigation Styles ================= */
         '.czn-navbar{position:fixed;top:0;left:0;width:100%;height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;z-index:9999;' +
         '.czn-navbar{position:absolute;top:0;left:0;width:100%;height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;z-index:9999;border-bottom:1px solid rgba(255,255,255,0.05)}' +
        'background: rgba(255, 255, 255, 0.75);' + // White background with transparency
        'backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px);' + // Frosted glass effect
        'border-bottom: 1px solid rgba(255, 255, 255, 0.3);' +
        'box-shadow: 0 4px 15px rgba(0,0,0,0.05);}' +


         /* Flexbox Layout (Left, Center, Right) */
         /* Three-section Flex Layout */
         '.czn-nav-left,.czn-nav-right{flex:1;display:flex;align-items:center}' +
         '.czn-nav-left,.czn-nav-right{flex:1;display:flex;align-items:center}' +
         '.czn-nav-left{justify-content:flex-start}' +
         '.czn-nav-left{justify-content:flex-start;gap:0}' +
         '.czn-nav-center{display:flex;justify-content:center}' +
         '.czn-nav-center{display:flex;justify-content:center}' +
         '.czn-nav-right{justify-content:flex-end;gap:20px}' +
         '.czn-nav-right{justify-content:flex-end;gap:20px}' +


         /* ================= Left Logo Section ================= */
         /* ================= Left LOGO Area ================= */
         '.czn-logo-group{display:flex;align-items:center}' +
         '.czn-logo-group{display:flex;align-items:center}' +
         '.czn-logo{height:45px;width:auto;object-fit:contain;display:block}' +
         '.czn-logo{height:40px;width:auto;object-fit:contain;display:block}' +


         /* ================= Right Search Box ================= */
         /* ================= Right Search Box ================= */
         '.czn-search-box{position:relative}' +
         '.czn-search-box{position:relative}' +
         '.czn-search-box input{background:rgba(0,0,0,0.05);border:1px solid rgba(0,0,0,0.1);color:#333;padding:8px 15px;border-radius:20px;width:200px;outline:none;transition:all 0.3s;font-size:14px}' +
         '.czn-search-box input{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:#fff;padding:8px 15px;border-radius:20px;width:200px;outline:none;transition:all 0.3s;font-size:14px}' +
         '.czn-search-box input::placeholder{color:rgba(0,0,0,0.4)}' +
         '.czn-search-box input::placeholder{color:rgba(255,255,255,0.4)}' +
         '.czn-search-box input:focus{border-color:#ff540c;background:rgba(255,255,255,0.8)}' +
         '.czn-search-box input:focus{border-color:#ff540c;background:rgba(255,255,255,0.15)}' +
         '.czn-search-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:#ff540c;color:#fff;border:none;padding:5px 12px;border-radius:16px;cursor:pointer;font-size:12px;font-weight:bold;transition:all 0.3s}' +
         '.czn-search-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:#ff540c;color:#fff;border:none;padding:5px 12px;border-radius:16px;cursor:pointer;font-size:12px;font-weight:bold;transition:all 0.3s}' +
         '.czn-search-btn:hover{background:#ff6a2a}' +
         '.czn-search-btn:hover{background:#ff6a2a}' +


         /* ================= Navigation Menu Styles ================= */
         /* ================= Desktop Menu Styles ================= */
         '.czn-nav-menu{display:flex;list-style:none;gap:35px;margin:0;padding:0;height:100%;align-items:center}' +
         '.czn-nav-menu{display:flex;list-style:none;gap:35px;margin:0;padding:0;height:100%;align-items:center}' +
         '.czn-nav-menu li{position:relative;list-style:none}' +
         '.czn-nav-menu li{position:relative;list-style:none}' +
         '.czn-nav-menu>li>a{text-decoration:none!important;display:flex;align-items:center;padding:10px 0;transition:all 0.3s}' +
         '.czn-nav-menu>li>a{text-decoration:none!important;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 0;position:relative;transition:all 0.3s}' +


         /* Top-level Menu Font (English Only) */
         /* Menu Item Text */
        '.czn-en{font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;}' +
         '.czn-nav-menu li a .czn-text{color:#ffffff;font-size:15px;font-weight:600;letter-spacing:1px;text-transform:uppercase;transition:color 0.3s}' +
         '.czn-nav-menu>li>a .czn-en{color:#333;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:1px;transition:color 0.3s}' +


         /* Hover and Active State Highlighting */
         /* Hover & Active States */
         '.czn-nav-menu>li:hover>a .czn-en,.czn-nav-menu>li.czn-active>a .czn-en{color:#ff540c}' +
         '.czn-nav-menu>li:hover>a .czn-text,.czn-nav-menu>li.czn-active>a .czn-text{color:#ff540c}' +


         /* ================= Dropdown Menu Styles (Frosted Glass Effect) ================= */
         /* ================= Dropdown Menus ================= */
         '.czn-dropdown-2,.czn-dropdown-3{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);' +
         '.czn-dropdown-2,.czn-dropdown-3{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(15px);background:rgba(0,0,0,0.9);border-radius:8px;min-width:160px;padding:10px 0;opacity:0;visibility:hidden;transition:all 0.3s ease;box-shadow:0 10px 30px rgba(0,0,0,0.5);list-style:none;margin:0}' +
        'background: rgba(255, 255, 255, 0.9);' +
         '.czn-dropdown-3{top:0;left:100%;transform:translateX(15px) translateY(0)}' +
        'backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);' +
        'border: 1px solid rgba(255, 255, 255, 0.5);' +
        'border-radius: 8px; min-width: 170px; padding: 8px 0; opacity: 0; visibility: hidden; transition: all 0.3s ease; ' +
        'box-shadow: 0 10px 25px rgba(0,0,0,0.1); list-style: none; margin: 0;}' +
       
         '.czn-dropdown-3{top:0;left:100%;transform:translateX(10px) translateY(0)}' +


        /* Show on Hover */
         '.czn-nav-menu li:hover>.czn-dropdown-2{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}' +
         '.czn-nav-menu li:hover>.czn-dropdown-2{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}' +
         '.czn-dropdown-2 li:hover>.czn-dropdown-3{opacity:1;visibility:visible;transform:translateX(0) translateY(0)}' +
         '.czn-dropdown-2 li:hover>.czn-dropdown-3{opacity:1;visibility:visible;transform:translateX(0) translateY(0)}' +


         /* Dropdown Item Styles */
         /* Dropdown Item Style */
         '.czn-dropdown-2 li a,.czn-dropdown-3 li a{padding:10px 20px;text-align:left;display:block;text-decoration:none!important;transition:all 0.2s}' +
         '.czn-dropdown-2 li a,.czn-dropdown-3 li a{padding:12px 20px;text-align:left;display:block;text-decoration:none!important}' +
         '.czn-dropdown-2 .czn-en,.czn-dropdown-3 .czn-en{color:#555;font-size:13px;font-weight:600;display:block}' +
         '.czn-dropdown-2 li a .czn-text,.czn-dropdown-3 li a .czn-text{font-size:13px;color:#fff;white-space:nowrap}' +
        '.czn-dropdown-2 li:hover{background:rgba(255,84,12,0.08)}' +
         '.czn-dropdown-2 li:hover>a .czn-text,.czn-dropdown-3 li:hover>a .czn-text{color:#ff540c}' +
         '.czn-dropdown-2 li:hover>a .czn-en,.czn-dropdown-3 li:hover>a .czn-en{color:#ff540c}' +


         /* ================= Responsive Layout (Mobile) ================= */
         /* ================= Mobile Menu Toggle ================= */
         '.czn-menu-toggle{display:none;color:#333;font-size:28px;cursor:pointer;background:none;border:none;line-height:1}' +
         '.czn-menu-toggle{display:none;color:#fff;font-size:28px;cursor:pointer;z-index:10001;position:relative;background:none;border:none;padding:0;line-height:1}' +
         '@media(max-width:900px){' +
 
        /* ================= Responsive Layout ================= */
         '@media(max-width:1024px){' +
             '.czn-navbar{padding:0 20px}' +
             '.czn-navbar{padding:0 20px}' +
             '.czn-logo-group{margin-left:10px}' +
             '.czn-logo-group{display:none}' +
             '.czn-search-box{display:none}' +
             '.czn-search-box{display:none}' +
             '.czn-menu-toggle{display:block}' +
             '.czn-menu-toggle{display:block}' +
             '.czn-nav-menu{position:fixed;top:0;left:-100%;width:260px;height:100vh;background:rgba(255,255,255,0.98);flex-direction:column;gap:0;padding-top:80px;transition:left 0.4s;overflow-y:auto;z-index:10000;box-shadow: 5px 0 15px rgba(0,0,0,0.1);}' +
             '.czn-nav-menu{position:fixed;top:0;left:-100%;width:260px;height:100vh;background:rgba(15,15,15,0.98);flex-direction:column;gap:0;padding-top:80px;transition:left 0.4s ease-in-out;overflow-y:auto;border-right:1px solid rgba(255,255,255,0.1);z-index:10000;margin:0}' +
             '.czn-nav-menu.czn-active{left:0}' +
             '.czn-nav-menu.czn-active{left:0}' +
             '.czn-nav-menu li{width:100%}' +
             '.czn-nav-menu li{width:100%}' +
             '.czn-nav-menu>li>a{padding:15px 25px;border-bottom:1px solid rgba(0,0,0,0.05);justify-content:flex-start}' +
             '.czn-nav-menu>li>a{padding:15px 20px;align-items:flex-start;border-bottom:1px solid rgba(255,255,255,0.05)}' +
             '.czn-dropdown-2,.czn-dropdown-3{position:static;transform:none!important;opacity:1;visibility:visible;box-shadow:none;background:transparent;padding:0;width:100%}' +
             '.czn-dropdown-2,.czn-dropdown-3{position:static;transform:none!important;opacity:1;visibility:visible;box-shadow:none;background:transparent;padding:0;width:100%}' +
             '.czn-dropdown-2 li a{padding-left:40px}' +
             '.czn-dropdown-2 li a{padding-left:40px;background:rgba(255,255,255,0.02)}' +
            '.czn-dropdown-3{display:none;background:rgba(0,0,0,0.3)}' +
            '.czn-dropdown-3.czn-open{display:block}' +
             '.czn-dropdown-3 li a{padding-left:60px}' +
             '.czn-dropdown-3 li a{padding-left:60px}' +
            '.czn-dropdown-3{display:none}' +
            '.czn-dropdown-3.czn-open{display:block}' +
         '}';
         '}';


     var wikiBase = 'https://cznwiki.com/';
    /* Base Wiki URL Configuration */
     var wikiBase = 'https://cznwiki.com/index.php?title=';


    // Helper function to build wiki URLs
     function wikiUrl(title) {
     function wikiUrl(title) {
         return wikiBase + title;
         return wikiBase + encodeURIComponent(title).replace(/%2F/g, '/').replace(/%3A/g, ':');
     }
     }


     var navHtml =
     var navHtml =
         '<nav class="czn-navbar">' +
         '<nav class="czn-navbar">' +
             /* Left: Mobile Toggle + Single Logo */
             /* Left: Mobile Toggle & Single Logo */
             '<div class="czn-nav-left">' +
             '<div class="czn-nav-left">' +
                 '<button class="czn-menu-toggle" id="czn-mobile-menu-btn">☰</button>' +
                 '<button class="czn-menu-toggle" id="czn-mobile-menu-btn">☰</button>' +
                 '<div class="czn-logo-group">' +
                 '<div class="czn-logo-group">' +
                     '<a href="' + wikiUrl('Main_Page') + '">' +
                     '<a href="https://cznwiki.com/">' +
                         '<img src="https://cznwiki.com/images/c/c9/Logo.png" alt="LOGO" class="czn-logo">' +
                         '<img src="https://cznwiki.com/images/c/c9/Logo.png" alt="CZN WIKI" class="czn-logo">' +
                     '</a>' +
                     '</a>' +
                 '</div>' +
                 '</div>' +
             '</div>' +
             '</div>' +


             /* Center: Navigation Menu (English Only) */
             /* Center: Navigation Menu */
             '<div class="czn-nav-center">' +
             '<div class="czn-nav-center">' +
                 '<ul class="czn-nav-menu" id="czn-nav-menu">' +
                 '<ul class="czn-nav-menu" id="czn-nav-menu">' +
Line 100: Line 91:
                     /* HOME Section */
                     /* HOME Section */
                     '<li>' +
                     '<li>' +
                         '<a href="' + wikiUrl('Main_Page') + '"><span class="czn-en">HOME</span></a>' +
                         '<a href="https://cznwiki.com/">' +
                            '<span class="czn-text">HOME</span>' +
                        '</a>' +
                         '<ul class="czn-dropdown-2">' +
                         '<ul class="czn-dropdown-2">' +
                             '<li><a href="' + wikiUrl('Main_Page') + '"><span class="czn-en">BACK</span></a></li>' +
                             '<li><a href="' + wikiUrl('Main_Page') + '"><span class="czn-text">BACK</span></a></li>' +
                             '<li><a href="https://cznwiki.com/index.php?title=%E9%A6%96%E9%A1%B5&action=purge"><span class="czn-en">REFRESH</span></a></li>' +
                             '<li><a href="https://cznwiki.com/index.php?title=%E9%A6%96%E9%A1%B5&action=purge"><span class="czn-text">REFRESH</span></a></li>' +
                         '</ul>' +
                         '</ul>' +
                     '</li>' +
                     '</li>' +
Line 109: Line 102:
                     /* WIKI Section */
                     /* WIKI Section */
                     '<li>' +
                     '<li>' +
                         '<a href="#"><span class="czn-en">WIKI</span></a>' +
                         '<a href="#"><span class="czn-text">WIKI</span></a>' +
                         '<ul class="czn-dropdown-2">' +
                         '<ul class="czn-dropdown-2">' +
                             '<li><a href="' + wikiUrl('Combatant') + '"><span class="czn-en">Combatant</span></a></li>' +
                             '<li><a href="' + wikiUrl('Combatant') + '"><span class="czn-text">Combatant</span></a></li>' +
                             '<li><a href="' + wikiUrl('Partner') + '"><span class="czn-en">Partner</span></a></li>' +
                             '<li><a href="' + wikiUrl('Partner') + '"><span class="czn-text">Partner</span></a></li>' +
                             '<li><a href="' + wikiUrl('Card') + '"><span class="czn-en">Card</span></a></li>' +
                             '<li><a href="' + wikiUrl('Card') + '"><span class="czn-text">Card</span></a></li>' +
                             '<li><a href="' + wikiUrl('Relic') + '"><span class="czn-en">Relic</span></a></li>' +
                             '<li><a href="' + wikiUrl('Relic') + '"><span class="czn-text">Relic</span></a></li>' +
                             '<li><a href="' + wikiUrl('Encounter') + '"><span class="czn-en">Encounter</span></a></li>' +
                             '<li><a href="' + wikiUrl('Encounter') + '"><span class="czn-text">Encounter</span></a></li>' +
                         '</ul>' +
                         '</ul>' +
                     '</li>' +
                     '</li>' +
Line 121: Line 114:
                     /* DATA Section */
                     /* DATA Section */
                     '<li>' +
                     '<li>' +
                         '<a href="#"><span class="czn-en">DATA</span></a>' +
                         '<a href="#"><span class="czn-text">DATA</span></a>' +
                         '<ul class="czn-dropdown-2">' +
                         '<ul class="czn-dropdown-2">' +
                             '<li><a href="' + wikiUrl('Item') + '"><span class="czn-en">Item</span></a></li>' +
                             '<li><a href="' + wikiUrl('Item') + '"><span class="czn-text">Item</span></a></li>' +
                             '<li class="czn-has-level-3">' +
                             '<li class="czn-has-level-3">' +
                                 '<a href="#" class="czn-l3-toggle"><span class="czn-en">Art</span></a>' +
                                 '<a href="#" class="czn-l3-toggle"><span class="czn-text">Art</span></a>' +
                                 '<ul class="czn-dropdown-3">' +
                                 '<ul class="czn-dropdown-3">' +
                                     '<li><a href="' + wikiUrl('Official_Media') + '"><span class="czn-en">Official Media</span></a></li>' +
                                     '<li><a href="' + wikiUrl('Official_Media') + '"><span class="czn-text">Official Media</span></a></li>' +
                                     '<li><a href="' + wikiUrl('Fanart') + '"><span class="czn-en">Fanart</span></a></li>' +
                                     '<li><a href="' + wikiUrl('Fanart') + '"><span class="czn-text">Fanart</span></a></li>' +
                                 '</ul>' +
                                 '</ul>' +
                             '</li>' +
                             '</li>' +
Line 136: Line 129:
                     /* TOOLS Section */
                     /* TOOLS Section */
                     '<li>' +
                     '<li>' +
                         '<a href="' + wikiUrl('Deck_Builder') + '"><span class="czn-en">TOOLS</span></a>' +
                         '<a href="#"><span class="czn-text">TOOLS</span></a>' +
                         '<ul class="czn-dropdown-2">' +
                         '<ul class="czn-dropdown-2">' +
                             '<li><a href="' + wikiUrl('Deck_Builder') + '"><span class="czn-en">Deck Builder</span></a></li>' +
                             '<li><a href="' + wikiUrl('Deck_Builder') + '"><span class="czn-text">Deck Builder</span></a></li>' +
                         '</ul>' +
                         '</ul>' +
                     '</li>' +
                     '</li>' +
Line 148: Line 141:
             '<div class="czn-nav-right">' +
             '<div class="czn-nav-right">' +
                 '<div class="czn-search-box">' +
                 '<div class="czn-search-box">' +
                     '<form action="https://cznwiki.com/index.php" method="get">' +
                     '<form action="https://cznwiki.com/index.php" method="get" style="display:flex;align-items:center;margin:0">' +
                         '<input type="hidden" name="title" value="Special:Search">' +
                         '<input type="hidden" name="title" value="Special:Search">' +
                         '<input type="text" name="search" placeholder="Search Wiki...">' +
                         '<input type="text" name="search" placeholder="Search Wiki...">' +
                         '<button type="submit" class="czn-search-btn">GO</button>' +
                         '<button type="submit" name="go" class="czn-search-btn">GO</button>' +
                     '</form>' +
                     '</form>' +
                 '</div>' +
                 '</div>' +
Line 159: Line 152:
     function q(s) { return document.querySelector(s); }
     function q(s) { return document.querySelector(s); }


    // Initialization Function
     var initNav = function () {
     var initNav = function () {
         if (q('.czn-navbar')) return;
         if (q('.czn-navbar')) return;


         /* Inject Styles into Head */
         /* Inject CSS Styles */
         var styleTag = document.createElement('style');
         var styleTag = document.createElement('style');
         styleTag.type = 'text/css';
         styleTag.type = 'text/css';
         styleTag.appendChild(document.createTextNode(style));
         if (styleTag.styleSheet) {
         document.head.appendChild(styleTag);
            styleTag.styleSheet.cssText = style;
        } else {
            styleTag.appendChild(document.createTextNode(style));
        }
         document.getElementsByTagName('head')[0].appendChild(styleTag);


         /* Inject Navbar HTML into Body */
         /* Inject Navigation HTML */
         document.body.insertAdjacentHTML('afterbegin', navHtml);
         var body = document.body || document.getElementsByTagName('body')[0];
        body.insertAdjacentHTML('afterbegin', navHtml);


         /* Mobile Sidebar Toggle Logic */
         /* Mobile Sidebar Toggle Logic */
Line 178: Line 175:
         if (mobileBtn && navMenu) {
         if (mobileBtn && navMenu) {
             mobileBtn.addEventListener('click', function () {
             mobileBtn.addEventListener('click', function () {
                 var isActive = navMenu.classList.toggle('czn-active');
                 navMenu.classList.toggle('czn-active');
                 mobileBtn.innerHTML = isActive ? '✕' : '☰';
                 mobileBtn.innerHTML = navMenu.classList.contains('czn-active') ? '✕' : '☰';
             });
             });
           
 
            // Close menu when clicking outside
             document.addEventListener('click', function (e) {
             document.addEventListener('click', function(e) {
                 if (window.innerWidth <= 1024) {
                 if (navMenu.classList.contains('czn-active') && !navMenu.contains(e.target) && !mobileBtn.contains(e.target)) {
                    if (!navMenu.contains(e.target) && !mobileBtn.contains(e.target)) {
                    navMenu.classList.remove('czn-active');
                        navMenu.classList.remove('czn-active');
                    mobileBtn.innerHTML = '☰';
                        mobileBtn.innerHTML = '☰';
                    }
                 }
                 }
             });
             });
         }
         }


         /* Mobile Sub-menu (Level 3) Expand Logic */
         /* Mobile Level-3 Menu Click Logic */
         var level3Toggles = document.querySelectorAll('.czn-l3-toggle');
         var level3Toggles = document.querySelectorAll('.czn-l3-toggle');
         level3Toggles.forEach(function (toggle) {
         level3Toggles.forEach(function (toggle) {
             toggle.addEventListener('click', function (e) {
             toggle.addEventListener('click', function (e) {
                 if (window.innerWidth <= 900) {
                 if (window.innerWidth <= 1024) {
                     e.preventDefault();
                     e.preventDefault();
                     var subMenu = this.nextElementSibling;
                     var subMenu = this.nextElementSibling;
                     if (subMenu) subMenu.classList.toggle('czn-open');
                     if (subMenu && subMenu.classList.contains('czn-dropdown-3')) {
                        subMenu.classList.toggle('czn-open');
                    }
                 }
                 }
             });
             });
Line 204: Line 204:
     };
     };


     // Run Initialization when ready
     /* Start initialization */
     if (document.readyState === 'complete' || document.readyState === 'interactive') {
     initNav();
        initNav();
    } else {
        document.addEventListener('DOMContentLoaded', initNav);
    }
})();
})();

Latest revision as of 15:55, 17 April 2026

(function () {
    var style =
        /* ================= Base Navigation Styles ================= */
        '.czn-navbar{position:absolute;top:0;left:0;width:100%;height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;z-index:9999;border-bottom:1px solid rgba(255,255,255,0.05)}' +

        /* Three-section Flex Layout */
        '.czn-nav-left,.czn-nav-right{flex:1;display:flex;align-items:center}' +
        '.czn-nav-left{justify-content:flex-start;gap:0}' +
        '.czn-nav-center{display:flex;justify-content:center}' +
        '.czn-nav-right{justify-content:flex-end;gap:20px}' +

        /* ================= Left LOGO Area ================= */
        '.czn-logo-group{display:flex;align-items:center}' +
        '.czn-logo{height:40px;width:auto;object-fit:contain;display:block}' +

        /* ================= Right Search Box ================= */
        '.czn-search-box{position:relative}' +
        '.czn-search-box input{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:#fff;padding:8px 15px;border-radius:20px;width:200px;outline:none;transition:all 0.3s;font-size:14px}' +
        '.czn-search-box input::placeholder{color:rgba(255,255,255,0.4)}' +
        '.czn-search-box input:focus{border-color:#ff540c;background:rgba(255,255,255,0.15)}' +
        '.czn-search-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:#ff540c;color:#fff;border:none;padding:5px 12px;border-radius:16px;cursor:pointer;font-size:12px;font-weight:bold;transition:all 0.3s}' +
        '.czn-search-btn:hover{background:#ff6a2a}' +

        /* ================= Desktop Menu Styles ================= */
        '.czn-nav-menu{display:flex;list-style:none;gap:35px;margin:0;padding:0;height:100%;align-items:center}' +
        '.czn-nav-menu li{position:relative;list-style:none}' +
        '.czn-nav-menu>li>a{text-decoration:none!important;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 0;position:relative;transition:all 0.3s}' +

        /* Menu Item Text */
        '.czn-nav-menu li a .czn-text{color:#ffffff;font-size:15px;font-weight:600;letter-spacing:1px;text-transform:uppercase;transition:color 0.3s}' +

        /* Hover & Active States */
        '.czn-nav-menu>li:hover>a .czn-text,.czn-nav-menu>li.czn-active>a .czn-text{color:#ff540c}' +

        /* ================= Dropdown Menus ================= */
        '.czn-dropdown-2,.czn-dropdown-3{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(15px);background:rgba(0,0,0,0.9);border-radius:8px;min-width:160px;padding:10px 0;opacity:0;visibility:hidden;transition:all 0.3s ease;box-shadow:0 10px 30px rgba(0,0,0,0.5);list-style:none;margin:0}' +
        '.czn-dropdown-3{top:0;left:100%;transform:translateX(15px) translateY(0)}' +

        /* Show on Hover */
        '.czn-nav-menu li:hover>.czn-dropdown-2{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}' +
        '.czn-dropdown-2 li:hover>.czn-dropdown-3{opacity:1;visibility:visible;transform:translateX(0) translateY(0)}' +

        /* Dropdown Item Style */
        '.czn-dropdown-2 li a,.czn-dropdown-3 li a{padding:12px 20px;text-align:left;display:block;text-decoration:none!important}' +
        '.czn-dropdown-2 li a .czn-text,.czn-dropdown-3 li a .czn-text{font-size:13px;color:#fff;white-space:nowrap}' +
        '.czn-dropdown-2 li:hover>a .czn-text,.czn-dropdown-3 li:hover>a .czn-text{color:#ff540c}' +

        /* ================= Mobile Menu Toggle ================= */
        '.czn-menu-toggle{display:none;color:#fff;font-size:28px;cursor:pointer;z-index:10001;position:relative;background:none;border:none;padding:0;line-height:1}' +

        /* ================= Responsive Layout ================= */
        '@media(max-width:1024px){' +
            '.czn-navbar{padding:0 20px}' +
            '.czn-logo-group{display:none}' +
            '.czn-search-box{display:none}' +
            '.czn-menu-toggle{display:block}' +
            '.czn-nav-menu{position:fixed;top:0;left:-100%;width:260px;height:100vh;background:rgba(15,15,15,0.98);flex-direction:column;gap:0;padding-top:80px;transition:left 0.4s ease-in-out;overflow-y:auto;border-right:1px solid rgba(255,255,255,0.1);z-index:10000;margin:0}' +
            '.czn-nav-menu.czn-active{left:0}' +
            '.czn-nav-menu li{width:100%}' +
            '.czn-nav-menu>li>a{padding:15px 20px;align-items:flex-start;border-bottom:1px solid rgba(255,255,255,0.05)}' +
            '.czn-dropdown-2,.czn-dropdown-3{position:static;transform:none!important;opacity:1;visibility:visible;box-shadow:none;background:transparent;padding:0;width:100%}' +
            '.czn-dropdown-2 li a{padding-left:40px;background:rgba(255,255,255,0.02)}' +
            '.czn-dropdown-3{display:none;background:rgba(0,0,0,0.3)}' +
            '.czn-dropdown-3.czn-open{display:block}' +
            '.czn-dropdown-3 li a{padding-left:60px}' +
        '}';

    /* Base Wiki URL Configuration */
    var wikiBase = 'https://cznwiki.com/index.php?title=';

    function wikiUrl(title) {
        return wikiBase + encodeURIComponent(title).replace(/%2F/g, '/').replace(/%3A/g, ':');
    }

    var navHtml =
        '<nav class="czn-navbar">' +
            /* Left: Mobile Toggle & Single Logo */
            '<div class="czn-nav-left">' +
                '<button class="czn-menu-toggle" id="czn-mobile-menu-btn">☰</button>' +
                '<div class="czn-logo-group">' +
                    '<a href="https://cznwiki.com/">' +
                        '<img src="https://cznwiki.com/images/c/c9/Logo.png" alt="CZN WIKI" class="czn-logo">' +
                    '</a>' +
                '</div>' +
            '</div>' +

            /* Center: Navigation Menu */
            '<div class="czn-nav-center">' +
                '<ul class="czn-nav-menu" id="czn-nav-menu">' +

                    /* HOME Section */
                    '<li>' +
                        '<a href="https://cznwiki.com/">' +
                            '<span class="czn-text">HOME</span>' +
                        '</a>' +
                        '<ul class="czn-dropdown-2">' +
                            '<li><a href="' + wikiUrl('Main_Page') + '"><span class="czn-text">BACK</span></a></li>' +
                            '<li><a href="https://cznwiki.com/index.php?title=%E9%A6%96%E9%A1%B5&action=purge"><span class="czn-text">REFRESH</span></a></li>' +
                        '</ul>' +
                    '</li>' +

                    /* WIKI Section */
                    '<li>' +
                        '<a href="#"><span class="czn-text">WIKI</span></a>' +
                        '<ul class="czn-dropdown-2">' +
                            '<li><a href="' + wikiUrl('Combatant') + '"><span class="czn-text">Combatant</span></a></li>' +
                            '<li><a href="' + wikiUrl('Partner') + '"><span class="czn-text">Partner</span></a></li>' +
                            '<li><a href="' + wikiUrl('Card') + '"><span class="czn-text">Card</span></a></li>' +
                            '<li><a href="' + wikiUrl('Relic') + '"><span class="czn-text">Relic</span></a></li>' +
                            '<li><a href="' + wikiUrl('Encounter') + '"><span class="czn-text">Encounter</span></a></li>' +
                        '</ul>' +
                    '</li>' +

                    /* DATA Section */
                    '<li>' +
                        '<a href="#"><span class="czn-text">DATA</span></a>' +
                        '<ul class="czn-dropdown-2">' +
                            '<li><a href="' + wikiUrl('Item') + '"><span class="czn-text">Item</span></a></li>' +
                            '<li class="czn-has-level-3">' +
                                '<a href="#" class="czn-l3-toggle"><span class="czn-text">Art</span></a>' +
                                '<ul class="czn-dropdown-3">' +
                                    '<li><a href="' + wikiUrl('Official_Media') + '"><span class="czn-text">Official Media</span></a></li>' +
                                    '<li><a href="' + wikiUrl('Fanart') + '"><span class="czn-text">Fanart</span></a></li>' +
                                '</ul>' +
                            '</li>' +
                        '</ul>' +
                    '</li>' +

                    /* TOOLS Section */
                    '<li>' +
                        '<a href="#"><span class="czn-text">TOOLS</span></a>' +
                        '<ul class="czn-dropdown-2">' +
                            '<li><a href="' + wikiUrl('Deck_Builder') + '"><span class="czn-text">Deck Builder</span></a></li>' +
                        '</ul>' +
                    '</li>' +

                '</ul>' +
            '</div>' +

            /* Right: Search Box */
            '<div class="czn-nav-right">' +
                '<div class="czn-search-box">' +
                    '<form action="https://cznwiki.com/index.php" method="get" style="display:flex;align-items:center;margin:0">' +
                        '<input type="hidden" name="title" value="Special:Search">' +
                        '<input type="text" name="search" placeholder="Search Wiki...">' +
                        '<button type="submit" name="go" class="czn-search-btn">GO</button>' +
                    '</form>' +
                '</div>' +
            '</div>' +
        '</nav>';

    function q(s) { return document.querySelector(s); }

    var initNav = function () {
        if (q('.czn-navbar')) return;

        /* Inject CSS Styles */
        var styleTag = document.createElement('style');
        styleTag.type = 'text/css';
        if (styleTag.styleSheet) {
            styleTag.styleSheet.cssText = style;
        } else {
            styleTag.appendChild(document.createTextNode(style));
        }
        document.getElementsByTagName('head')[0].appendChild(styleTag);

        /* Inject Navigation HTML */
        var body = document.body || document.getElementsByTagName('body')[0];
        body.insertAdjacentHTML('afterbegin', navHtml);

        /* Mobile Sidebar Toggle Logic */
        var mobileBtn = document.getElementById('czn-mobile-menu-btn');
        var navMenu = document.getElementById('czn-nav-menu');

        if (mobileBtn && navMenu) {
            mobileBtn.addEventListener('click', function () {
                navMenu.classList.toggle('czn-active');
                mobileBtn.innerHTML = navMenu.classList.contains('czn-active') ? '✕' : '☰';
            });

            document.addEventListener('click', function (e) {
                if (window.innerWidth <= 1024) {
                    if (!navMenu.contains(e.target) && !mobileBtn.contains(e.target)) {
                        navMenu.classList.remove('czn-active');
                        mobileBtn.innerHTML = '☰';
                    }
                }
            });
        }

        /* Mobile Level-3 Menu Click Logic */
        var level3Toggles = document.querySelectorAll('.czn-l3-toggle');
        level3Toggles.forEach(function (toggle) {
            toggle.addEventListener('click', function (e) {
                if (window.innerWidth <= 1024) {
                    e.preventDefault();
                    var subMenu = this.nextElementSibling;
                    if (subMenu && subMenu.classList.contains('czn-dropdown-3')) {
                        subMenu.classList.toggle('czn-open');
                    }
                }
            });
        });
    };

    /* Start initialization */
    initNav();
})();