Control Panel - Auto Clicker & Music & SpeedHack

Menu điều khiển với Auto Clicker, Music và SpeedHack (đã tích hợp)

Tendrás que instalar una extensión para tu navegador como Tampermonkey, Greasemonkey o Violentmonkey si quieres utilizar este script.

You will need to install an extension such as Tampermonkey to install this script.

Tendrás que instalar una extensión como Tampermonkey o Violentmonkey para instalar este script.

Necesitarás instalar una extensión como Tampermonkey o Userscripts para instalar este script.

Tendrás que instalar una extensión como Tampermonkey antes de poder instalar este script.

Necesitarás instalar una extensión para administrar scripts de usuario si quieres instalar este script.

(Ya tengo un administrador de scripts de usuario, déjame instalarlo)

Tendrás que instalar una extensión como Stylus antes de poder instalar este script.

Tendrás que instalar una extensión como Stylus antes de poder instalar este script.

Tendrás que instalar una extensión como Stylus antes de poder instalar este script.

Para poder instalar esto tendrás que instalar primero una extensión de estilos de usuario.

Para poder instalar esto tendrás que instalar primero una extensión de estilos de usuario.

Para poder instalar esto tendrás que instalar primero una extensión de estilos de usuario.

(Ya tengo un administrador de estilos de usuario, déjame instalarlo)

// ==UserScript==
// @name         Control Panel - Auto Clicker & Music & SpeedHack
// @namespace    http://tampermonkey.net/
// @version      2.0
// @description  Menu điều khiển với Auto Clicker, Music và SpeedHack (đã tích hợp)
// @author       YourName
// @match        *://*/*
// @grant        none
// @run-at       document-end
// ==/UserScript==

(function() {
    'use strict';
    
    // Xóa menu cũ nếu có
    document.querySelectorAll('.main-menu-fab, .main-menu-panel, .autoClick-fab, .autoClick-panel, .autoClick-menu, #music-round-btn, #music-panel').forEach(el => el && el.remove());
    
    // Hàm thêm CSS
    function addStyle(css) {
        const style = document.createElement('style');
        style.textContent = css;
        document.head.appendChild(style);
    }
    
    // CSS - Hỗ trợ cuộn trong bảng
    addStyle(`
        .main-menu-fab {
            position: fixed;
            bottom: 80px;
            right: 20px;
            width: 55px;
            height: 55px;
            border-radius: 50%;
            background: #00adb5;
            box-shadow: 0 4px 15px rgba(0,0,0,0.3);
            z-index: 999999;
            cursor: grab;
            overflow: hidden;
            border: 2px solid white;
            display: flex;
            align-items: center;
            justify-content: center;
            touch-action: none;
            user-select: none;
        }
        .main-menu-fab:active {
            cursor: grabbing;
        }
        .main-menu-fab img {
            width: 100%;
            height: 100%;
            border-radius: 50%;
            object-fit: cover;
            pointer-events: none;
        }
        .main-menu-panel {
            position: fixed;
            bottom: 150px;
            right: 20px;
            width: 320px;
            max-height: 80vh;
            background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
            border-radius: 16px;
            border: 1px solid #667eea;
            color: white;
            font-family: 'Segoe UI', Arial, sans-serif;
            font-size: 14px;
            z-index: 999998;
            box-shadow: 0 8px 25px rgba(0,0,0,0.5);
            backdrop-filter: blur(5px);
            display: flex;
            flex-direction: column;
            overflow: hidden;
            touch-action: pan-y pinch-zoom;
        }
        .main-menu-content {
            flex: 1;
            overflow-y: auto;
            overflow-x: hidden;
            padding: 12px;
            max-height: calc(80vh - 50px);
            touch-action: pan-y pinch-zoom;
        }
        .main-menu-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 12px 15px;
            background: rgba(102,126,234,0.2);
            border-bottom: 1px solid #667eea;
            cursor: grab;
            user-select: none;
            touch-action: none;
            flex-shrink: 0;
        }
        .main-menu-header:active {
            cursor: grabbing;
        }
        .main-menu-title { font-weight: bold; color: #667eea; font-size: 14px; pointer-events: none; }
        .main-menu-close {
            background: #ff4757;
            border: none;
            color: white;
            width: 26px;
            height: 26px;
            border-radius: 50%;
            cursor: pointer;
            font-size: 14px;
            transition: 0.2s;
        }
        .main-menu-close:hover { background: #ff6b81; }
        .menu-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 12px;
            margin: 8px 0;
            background: #0f0f1a;
            border-radius: 10px;
            cursor: pointer;
            transition: 0.2s;
        }
        .menu-item:hover {
            background: #1a1a2e;
        }
        .menu-item-left { display: flex; flex-direction: column; gap: 4px; flex: 1; }
        .menu-item-title { font-weight: bold; font-size: 14px; }
        .menu-item-desc { font-size: 11px; color: #aaa; }
        .arrow-icon {
            font-size: 18px;
            transition: transform 0.3s ease;
            color: #667eea;
        }
        .arrow-icon.expanded {
            transform: rotate(90deg);
        }
        .toggle-switch {
            position: relative;
            width: 50px;
            height: 24px;
            background-color: #2d2d44;
            border-radius: 12px;
            cursor: pointer;
            transition: all 0.3s;
        }
        .toggle-switch.active { background-color: #00adb5; }
        .toggle-slider {
            position: absolute;
            top: 2px;
            left: 2px;
            width: 20px;
            height: 20px;
            background-color: white;
            border-radius: 50%;
            transition: all 0.3s;
        }
        .toggle-switch.active .toggle-slider { left: 28px; }
        
        .submenu-container {
            margin-left: 15px;
            overflow: hidden;
            transition: max-height 0.3s ease;
            max-height: 0;
        }
        .submenu-container.show {
            max-height: 500px;
        }
        .submenu-item {
            padding: 10px;
            background: #0a0a14;
            border-radius: 8px;
            margin-top: 8px;
        }
        .submenu-content {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 10px;
        }
        .music-controls {
            margin-top: 5px;
            display: flex;
            gap: 10px;
        }
        .music-btn {
            flex: 1;
            padding: 8px;
            border: none;
            border-radius: 20px;
            cursor: pointer;
            font-weight: bold;
            transition: 0.2s;
        }
        .play-music-btn {
            background: linear-gradient(135deg, #4caf50, #45a049);
            color: white;
        }
        .play-music-btn:hover { opacity: 0.9; transform: scale(1.02); }
        .stop-music-btn {
            background: linear-gradient(135deg, #ff9800, #ff5722);
            color: white;
        }
        .stop-music-btn:hover { opacity: 0.9; transform: scale(1.02); }
        .music-status {
            font-size: 10px;
            text-align: center;
            margin-top: 6px;
            color: #4caf50;
        }
        .vip-badge {
            background: linear-gradient(135deg, #ffd700, #ff8c00);
            color: #000;
            padding: 2px 8px;
            border-radius: 12px;
            font-size: 10px;
            font-weight: bold;
            margin-left: 8px;
        }
        .compact-item {
            margin-bottom: 5px !important;
            padding: 8px !important;
        }
        .speed-status {
            font-size: 11px;
            color: #4caf50;
            margin-top: 5px;
            text-align: center;
        }
        
        @media (max-width: 768px) {
            .main-menu-panel { width: 300px; right: 5px; left: auto; max-height: 85vh; }
            .main-menu-fab { bottom: 70px; right: 10px; width: 50px; height: 50px; }
        }
    `);
    
    // ========== BIẾN TOÀN CỤC ==========
    let myAudio = null;
    let isPlaying = false;
    let gameSoundMuted = false;
    let musicFeatureState = {
        isMuteGame: false
    };
    let speedHackEnabled = false;
    let speedHackScript = null;
    
    // ========== HÀM LOAD SPEEDHACK ==========
    function loadSpeedHack() {
        return new Promise((resolve, reject) => {
            const scriptUrl = 'https://update.greasyfork.org/scripts/543798/Universal%20HTML5%20Speed%20Hack.user.js';
            
            fetch(scriptUrl)
                .then(response => response.text())
                .then(code => {
                    // Tạo script element để inject
                    const script = document.createElement('script');
                    script.textContent = code;
                    script.setAttribute('data-speedhack-loaded', 'true');
                    document.head.appendChild(script);
                    speedHackScript = script;
                    
                    // Đợi một chút để script khởi tạo
                    setTimeout(() => {
                        console.log('%c✅ SpeedHack đã được tải và kích hoạt!', 'color: #4caf50; font-size: 12px');
                        console.log('%c💡 Nhấn phím L để ẩn/hiện giao diện SpeedHack', 'color: #ff9800; font-size: 12px');
                        resolve();
                    }, 500);
                })
                .catch(err => {
                    console.error('Lỗi tải SpeedHack:', err);
                    reject(err);
                });
        });
    }
    
    function unloadSpeedHack() {
        if (speedHackScript) {
            speedHackScript.remove();
            speedHackScript = null;
        }
        // Xóa giao diện SpeedHack nếu có
        const speedhackUI = document.getElementById('speedhack-ui');
        if (speedhackUI) speedhackUI.remove();
        console.log('%c🔴 SpeedHack đã được tắt', 'color: #ff5722; font-size: 12px');
    }
    
    // ========== TẠO SUBMENU SPEEDHACK ==========
    function createSpeedHackSubmenu() {
        const submenuDiv = document.getElementById('speedHackSubmenu');
        if (!submenuDiv) return;
        
        submenuDiv.innerHTML = `
            <div class="submenu-item">
                <div class="submenu-content">
                    <span>⚡ Bật/Tắt SpeedHack</span>
                    <div class="toggle-switch" id="toggleSpeedHackInside">
                        <div class="toggle-slider"></div>
                    </div>
                </div>
                <div class="speed-status" id="speedHackStatus">
                    🔴 Chưa kích hoạt
                </div>
                <div style="font-size: 11px; color: #aaa; margin-top: 8px; padding: 6px; background: rgba(0,0,0,0.3); border-radius: 6px;">
                    💡 Hướng dẫn: Sau khi bật, nhấn phím <strong style="color:#4caf50">L</strong> để hiện/ẩn giao diện điều khiển tốc độ.<br>
                    🎮 Có thể tăng tốc game lên đến 100x hoặc hơn!
                </div>
            </div>
        `;
        
        const toggleSpeedHackInside = document.getElementById('toggleSpeedHackInside');
        const speedHackStatus = document.getElementById('speedHackStatus');
        
        if (toggleSpeedHackInside) {
            // Khôi phục trạng thái nếu có
            if (speedHackEnabled) {
                toggleSpeedHackInside.classList.add('active');
                if (speedHackStatus) speedHackStatus.innerHTML = '✅ Đã kích hoạt (Nhấn L để mở menu)';
            }
            
            toggleSpeedHackInside.onclick = async (e) => {
                e.stopPropagation();
                speedHackEnabled = !speedHackEnabled;
                
                if (speedHackEnabled) {
                    toggleSpeedHackInside.classList.add('active');
                    if (speedHackStatus) speedHackStatus.innerHTML = '⏳ Đang tải SpeedHack...';
                    
                    try {
                        await loadSpeedHack();
                        if (speedHackStatus) speedHackStatus.innerHTML = '✅ Đã kích hoạt (Nhấn L để mở menu)';
                    } catch (err) {
                        speedHackEnabled = false;
                        toggleSpeedHackInside.classList.remove('active');
                        if (speedHackStatus) speedHackStatus.innerHTML = '❌ Tải thất bại, thử lại sau';
                        console.error('Lỗi tải SpeedHack:', err);
                    }
                } else {
                    toggleSpeedHackInside.classList.remove('active');
                    if (speedHackStatus) speedHackStatus.innerHTML = '🔴 Chưa kích hoạt';
                    unloadSpeedHack();
                }
            };
        }
    }
    
    // ========== CHỨC NĂNG TẮT ÂM THANH GAME ==========
    function muteGameSound() {
        console.log("%c🔇 DANG TAT AM THANH GAME...", "color: #ff9800");
        
        var iframes = document.querySelectorAll('iframe');
        for (var i = 0; i < iframes.length; i++) {
            try {
                var iframeDoc = iframes[i].contentDocument;
                if (iframeDoc) {
                    var iframeMedia = iframeDoc.querySelectorAll('audio, video');
                    for (var j = 0; j < iframeMedia.length; j++) {
                        iframeMedia[j].volume = 0;
                        iframeMedia[j].muted = true;
                    }
                }
            } catch(e) {}
        }
        
        var allMedia = document.querySelectorAll('audio, video');
        for (var i = 0; i < allMedia.length; i++) {
            if (!allMedia[i].isOurMusic) {
                allMedia[i].volume = 0;
                allMedia[i].muted = true;
            }
        }
        
        var originalPlay = HTMLMediaElement.prototype.play;
        HTMLMediaElement.prototype.play = function() {
            if (this.isOurMusic) {
                return originalPlay.call(this);
            }
            this.volume = 0;
            this.muted = true;
            return Promise.resolve();
        };
        
        gameSoundMuted = true;
        const statusSpan = document.getElementById('muteGameStatus');
        if (statusSpan) statusSpan.innerHTML = '✅ Đã tắt';
    }
    
    function unmuteGameSound() {
        var allMedia = document.querySelectorAll('audio, video');
        for (var i = 0; i < allMedia.length; i++) {
            if (!allMedia[i].isOurMusic) {
                allMedia[i].volume = 1;
                allMedia[i].muted = false;
            }
        }
        gameSoundMuted = false;
        const statusSpan = document.getElementById('muteGameStatus');
        if (statusSpan) statusSpan.innerHTML = '🔊 Chưa tắt';
    }
    
    // ========== CHỨC NĂNG PHÁT NHẠC ==========
    function playMusic() {
        try {
            if (myAudio && isPlaying) {
                console.log("Nhạc đang phát rồi!");
                return;
            }
            
            if (myAudio && !isPlaying) {
                myAudio.play();
                isPlaying = true;
            } else {
                myAudio = new Audio();
                myAudio.src = 'https://files.catbox.moe/l2a2j2.mp3';
                myAudio.loop = true;
                myAudio.volume = 0.8;
                myAudio.muted = false;
                myAudio.isOurMusic = true;
                
                myAudio.play().then(() => {
                    isPlaying = true;
                    const statusSpan = document.getElementById('songStatus');
                    if (statusSpan) {
                        statusSpan.innerHTML = '🎵 ĐANG PHÁT';
                        statusSpan.style.color = '#4caf50';
                    }
                    console.log("✅ Đang phát nhạc: Sớm như vậy");
                }).catch(err => console.error("Lỗi phát nhạc:", err));
            }
        } catch(e) { console.error(e); }
    }
    
    function stopMusic() {
        if (myAudio) {
            myAudio.pause();
            isPlaying = false;
            const statusSpan = document.getElementById('songStatus');
            if (statusSpan) {
                statusSpan.innerHTML = '⏸ ĐÃ DỪNG';
                statusSpan.style.color = '#ffeb3b';
            }
            console.log("Đã dừng nhạc");
        }
    }
    
    // ========== TẠO SUBMENU MUSIC ==========
    function createMusicSubmenu() {
        const submenuDiv = document.getElementById('musicSubmenu');
        if (!submenuDiv) return;
        
        submenuDiv.innerHTML = `
            <div class="submenu-item">
                <div class="submenu-content">
                    <span>🔇 Tắt âm thanh game</span>
                    <div class="toggle-switch" id="toggleMuteGame">
                        <div class="toggle-slider"></div>
                    </div>
                </div>
                <span id="muteGameStatus" style="font-size: 10px; color: #ffeb3b;">🔊 Chưa tắt</span>
            </div>
            <div class="submenu-item compact-item">
                <div style="font-size: 12px; margin-bottom: 8px;">🎵 Sớm như vậy - Bùi Trường Linh</div>
                <div class="music-controls">
                    <button class="music-btn play-music-btn" id="playMusicBtn">▶ PLAY</button>
                    <button class="music-btn stop-music-btn" id="stopMusicBtn">⏹ DỪNG</button>
                </div>
                <div class="music-status">
                    Trạng thái: <span id="songStatus">⏸ Chưa phát</span>
                </div>
            </div>
        `;
        
        const toggleMuteGame = document.getElementById('toggleMuteGame');
        if (toggleMuteGame && musicFeatureState.isMuteGame) {
            toggleMuteGame.classList.add('active');
            muteGameSound();
        }
        
        if (toggleMuteGame) {
            toggleMuteGame.onclick = (e) => {
                e.stopPropagation();
                musicFeatureState.isMuteGame = !musicFeatureState.isMuteGame;
                if (musicFeatureState.isMuteGame) {
                    toggleMuteGame.classList.add('active');
                    muteGameSound();
                } else {
                    toggleMuteGame.classList.remove('active');
                    unmuteGameSound();
                }
            };
        }
        
        const playBtn = document.getElementById('playMusicBtn');
        if (playBtn) {
            playBtn.onclick = (e) => { 
                e.stopPropagation(); 
                playMusic();
            };
        }
        
        const stopBtn = document.getElementById('stopMusicBtn');
        if (stopBtn) {
            stopBtn.onclick = (e) => { 
                e.stopPropagation(); 
                stopMusic();
            };
        }
    }
    
    // ========== TẠO SUBMENU VIP ==========
    function createVipSubmenu() {
        const submenuDiv = document.getElementById('vipSubmenu');
        if (!submenuDiv) return;
        
        submenuDiv.innerHTML = `
            <div class="submenu-item">
                <div class="submenu-content">
                    <span>👑 Log hoạt động VIP</span>
                </div>
                <div style="font-size: 11px; color: #ffd700; margin-top: 8px; padding: 8px; background: #1a1a2e; border-radius: 8px;">
                    📝 Tính năng đang phát triển<br>
                    🔜 Sắp ra mắt: Auto Farm, Auto Quest, và nhiều tính năng VIP khác!
                </div>
            </div>
        `;
    }
    
    // ========== TẠO NÚT MENU TRÒN ==========
    const fab = document.createElement('div');
    fab.className = 'main-menu-fab';
    fab.innerHTML = '<img src="https://i.postimg.cc/3wJFzXWv/resized-image.jpg" alt="Menu">';
    document.body.appendChild(fab);
    
    // ========== TẠO PANEL MENU CHÍNH ==========
    const panel = document.createElement('div');
    panel.className = 'main-menu-panel';
    panel.style.display = 'none';
    panel.innerHTML = `
        <div class="main-menu-header" id="mainMenuHeader">
            <span class="main-menu-title">Control Panel</span>
            <button class="main-menu-close" id="closeMenuBtn">✖</button>
        </div>
        <div class="main-menu-content">
            <div class="menu-item">
                <div class="menu-item-left">
                    <span class="menu-item-title">🎯 Auto Clicker</span>
                    <span class="menu-item-desc">Auto click theo toa do</span>
                </div>
                <div class="toggle-switch" id="toggleAutoClicker">
                    <div class="toggle-slider"></div>
                </div>
            </div>
            <div class="menu-item" id="speedHackItem">
                <div class="menu-item-left">
                    <span class="menu-item-title">⚡ SpeedHack</span>
                    <span class="menu-item-desc">Tang toc game (Da ho tro)</span>
                </div>
                <div class="arrow-icon" id="speedHackArrow">▶</div>
            </div>
            <div id="speedHackSubmenu" class="submenu-container"></div>
            <div class="menu-item" id="musicItem">
                <div class="menu-item-left">
                    <span class="menu-item-title">🎵 Music</span>
                    <span class="menu-item-desc">Nghe nhạc & tắt âm game</span>
                </div>
                <div class="arrow-icon" id="musicArrow">▶</div>
            </div>
            <div id="musicSubmenu" class="submenu-container"></div>
            
            <div class="menu-item" id="vipItem">
                <div class="menu-item-left">
                    <span class="menu-item-title">👑 Log [VIP] <span class="vip-badge">VIP</span></span>
                    <span class="menu-item-desc">Tính năng đặc biệt dành cho VIP</span>
                </div>
                <div class="arrow-icon" id="vipArrow">▶</div>
            </div>
            <div id="vipSubmenu" class="submenu-container"></div>
        </div>
    `;
    document.body.appendChild(panel);
    
    // ========== XỬ LÝ MỞ/ĐÓNG SUBMENU ==========
    let musicExpanded = false;
    let vipExpanded = false;
    let speedHackExpanded = false;
    
    // Music submenu
    const musicItem = document.getElementById('musicItem');
    const musicArrow = document.getElementById('musicArrow');
    const musicSubmenu = document.getElementById('musicSubmenu');
    
    if (musicItem) {
        musicItem.addEventListener('click', (e) => {
            e.stopPropagation();
            musicExpanded = !musicExpanded;
            if (musicExpanded) {
                musicArrow.classList.add('expanded');
                musicSubmenu.classList.add('show');
                createMusicSubmenu();
            } else {
                musicArrow.classList.remove('expanded');
                musicSubmenu.classList.remove('show');
            }
        });
    }
    
    // VIP submenu
    const vipItem = document.getElementById('vipItem');
    const vipArrow = document.getElementById('vipArrow');
    const vipSubmenu = document.getElementById('vipSubmenu');
    
    if (vipItem) {
        vipItem.addEventListener('click', (e) => {
            e.stopPropagation();
            vipExpanded = !vipExpanded;
            if (vipExpanded) {
                vipArrow.classList.add('expanded');
                vipSubmenu.classList.add('show');
                createVipSubmenu();
            } else {
                vipArrow.classList.remove('expanded');
                vipSubmenu.classList.remove('show');
            }
        });
    }
    
    // SpeedHack submenu
    const speedHackItem = document.getElementById('speedHackItem');
    const speedHackArrow = document.getElementById('speedHackArrow');
    const speedHackSubmenu = document.getElementById('speedHackSubmenu');
    
    if (speedHackItem) {
        speedHackItem.addEventListener('click', (e) => {
            e.stopPropagation();
            speedHackExpanded = !speedHackExpanded;
            if (speedHackExpanded) {
                speedHackArrow.classList.add('expanded');
                speedHackSubmenu.classList.add('show');
                createSpeedHackSubmenu();
            } else {
                speedHackArrow.classList.remove('expanded');
                speedHackSubmenu.classList.remove('show');
            }
        });
    }
    
    // ========== KÉO THẢ HỖ TRỢ CẢ PC & MOBILE ==========
    function makeDraggable(element, dragHandle = null, onClickCallback = null) {
        let isDragging = false;
        let dragStarted = false;
        let startX = 0, startY = 0;
        let initialLeft = 0, initialTop = 0;
        
        const handle = dragHandle || element;
        
        const onStart = (clientX, clientY) => {
            isDragging = true;
            dragStarted = false;
            startX = clientX;
            startY = clientY;
            
            const rect = element.getBoundingClientRect();
            initialLeft = rect.left;
            initialTop = rect.top;
            
            element.style.cursor = 'grabbing';
            if (dragHandle) dragHandle.style.cursor = 'grabbing';
        };
        
        const onMove = (clientX, clientY) => {
            if (!isDragging) return;
            
            const dx = clientX - startX;
            const dy = clientY - startY;
            
            if (Math.abs(dx) > 5 || Math.abs(dy) > 5) {
                dragStarted = true;
            }
            
            let newLeft = initialLeft + dx;
            let newTop = initialTop + dy;
            
            newLeft = Math.max(0, Math.min(window.innerWidth - element.offsetWidth, newLeft));
            newTop = Math.max(0, Math.min(window.innerHeight - element.offsetHeight, newTop));
            
            element.style.left = newLeft + 'px';
            element.style.top = newTop + 'px';
            element.style.right = 'auto';
            element.style.bottom = 'auto';
        };
        
        const onEnd = () => {
            if (isDragging) {
                isDragging = false;
                element.style.cursor = '';
                if (dragHandle) dragHandle.style.cursor = '';
                
                if (!dragStarted && onClickCallback) {
                    onClickCallback();
                }
                dragStarted = false;
            }
        };
        
        handle.addEventListener('mousedown', (e) => {
            e.preventDefault();
            onStart(e.clientX, e.clientY);
        });
        
        window.addEventListener('mousemove', (e) => {
            if (isDragging) onMove(e.clientX, e.clientY);
        });
        
        window.addEventListener('mouseup', onEnd);
        
        handle.addEventListener('touchstart', (e) => {
            e.preventDefault();
            const touch = e.touches[0];
            onStart(touch.clientX, touch.clientY);
        });
        
        window.addEventListener('touchmove', (e) => {
            if (isDragging) {
                e.preventDefault();
                const touch = e.touches[0];
                onMove(touch.clientX, touch.clientY);
            }
        });
        
        window.addEventListener('touchend', onEnd);
    }
    
    makeDraggable(fab, null, () => {
        if (panel.style.display === 'none') {
            panel.style.display = 'flex';
        } else {
            panel.style.display = 'none';
        }
    });
    
    const panelHeader = document.getElementById('mainMenuHeader');
    makeDraggable(panel, panelHeader, null);
    
    document.getElementById('closeMenuBtn').addEventListener('click', (e) => {
        e.stopPropagation();
        panel.style.display = 'none';
    });
    
    // ========== XỬ LÝ TOGGLE AUTO CLICKER ==========
    let autoClickerEnabled = false;
    const toggleAutoClicker = document.getElementById('toggleAutoClicker');
    if (toggleAutoClicker) {
        toggleAutoClicker.addEventListener('click', (e) => {
            e.stopPropagation();
            autoClickerEnabled = !autoClickerEnabled;
            if (autoClickerEnabled) {
                toggleAutoClicker.classList.add('active');
                fetch('https://raw.githubusercontent.com/Minhbeo8/autoclickGUI/refs/heads/main/autoclick.js')
                    .then(res => res.text())
                    .then(code => {
                        const script = document.createElement('script');
                        script.textContent = code;
                        document.head.appendChild(script);
                        script.remove();
                    }).catch(err => console.error(err));
            } else {
                toggleAutoClicker.classList.remove('active');
                document.querySelectorAll('.autoClick-fab, .autoClick-panel, .autoClick-menu').forEach(el => el.remove());
            }
        });
    }
    
    console.log('%c✅ Menu đã sẵn sàng! Click nút tròn góc phải dưới', 'color: #0f0; font-size: 14px');
    console.log('%c🎵 Music - Bấm PLAY để nghe nhạc', 'color: #ff9800; font-size: 12px');
    console.log('%c⚡ SpeedHack - Bật toggle và nhấn L để mở menu tốc độ', 'color: #ff9800; font-size: 12px');
})();