<html><head><base href="https://example.com"><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Crypto Battle Royale</title><style>

    @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&family=Orbitron:wght@400;700&display=swap');


    :root {

        --primary-color: #4a4e69;

        --secondary-color: #22223b;

        --accent-color: #9a8c98;

        --text-color: #f2e9e4;

        --bg-color: #0f0f1f;

    }


    body {

        font-family: 'Roboto', sans-serif;

        background-color: var(--bg-color);

        color: var(--text-color);

        margin: 0;

        overflow: hidden;

        display: flex;

        justify-content: flex-start;

        align-items: center;

        height: 100vh;

        padding-left: 20px;

    }


    #map {

        background-image: url('https://i.imgur.com/NSoxZrJ.jpeg');

        background-size: cover;

        width: 800px;

        height: 600px;

        position: relative;

        border-radius: 20px;

        box-shadow: 0 15px 30px rgba(0,0,0,0.4);

        margin-right: 270px;

        border: 3px solid var(--accent-color);

        overflow: hidden;

    }


    .character {

        position: absolute;

        width: 50px;

        height: 50px;

        background-color: rgba(255, 255, 255, 0.15);

        border: 2px solid var(--accent-color);

        box-sizing: border-box;

        cursor: pointer;

        border-radius: 12px;

        overflow: hidden;

        transition: all 0.3s ease;

        display: flex;

        justify-content: center;

        align-items: center;

        font-family: 'Orbitron', sans-serif;

        font-weight: 700;

        font-size: 12px;

        text-shadow: 2px 2px 4px rgba(0,0,0,0.7);

        box-shadow: 0 5px 15px rgba(0,0,0,0.3);

    }


    .character:hover {

        transform: scale(1.1);

        box-shadow: 0 0 20px rgba(255,255,255,0.6);

    }


    .character-name {

        position: absolute;

        top: -28px;

        left: 50%;

        transform: translateX(-50%);

        color: var(--text-color);

        font-size: 14px;

        white-space: nowrap;

        text-shadow: 2px 2px 4px rgba(0,0,0,0.7);

        font-weight: 700;

        font-family: 'Orbitron', sans-serif;

        background-color: rgba(0,0,0,0.6);

        padding: 3px 8px;

        border-radius: 10px;

    }


    .health-bar {

        width: 50px;

        height: 6px;

        background-color: #00ff00;

        position: absolute;

        bottom: -12px;

        left: 0;

        border-radius: 3px;

        transition: all 0.3s ease;

        box-shadow: 0 2px 4px rgba(0,0,0,0.3);

    }


    #controls {

        position: fixed;

        top: 20px;

        right: 20px;

        width: 250px;

        background-color: rgba(74, 78, 105, 0.3);

        padding: 25px;

        border-radius: 20px;

        backdrop-filter: blur(15px);

        box-shadow: 0 8px 32px rgba(0,0,0,0.2);

        border: 2px solid var(--accent-color);

    }


    #controls input, #controls button, #controls select {

        width: 100%;

        padding: 12px;

        margin-bottom: 15px;

        border: none;

        border-radius: 8px;

        background-color: rgba(255,255,255,0.15);

        color: var(--text-color);

        font-size: 16px;

        font-family: 'Roboto', sans-serif;

        transition: all 0.3s ease;

    }


    #controls input::placeholder, #controls select {

        color: rgba(255,255,255,0.7);

    }


    #controls button {

        background-color: var(--primary-color);

        cursor: pointer;

        font-weight: 700;

        text-transform: uppercase;

        letter-spacing: 1px;

    }


    #controls button:hover {

        background-color: var(--accent-color);

        transform: translateY(-2px);

        box-shadow: 0 5px 15px rgba(0,0,0,0.2);

    }


    #winner {

        position: fixed;

        bottom: 40px;

        left: 50%;

        transform: translateX(-50%);

        font-size: 48px;

        color: #ffd700;

        display: none;

        text-shadow: 3px 3px 6px rgba(0,0,0,0.5);

        font-weight: 700;

        font-family: 'Orbitron', sans-serif;

        background-color: rgba(0,0,0,0.7);

        padding: 20px 40px;

        border-radius: 20px;

        animation: winnerPulse 2s infinite;

    }


    @keyframes winnerPulse {

        0% { transform: translateX(-50%) scale(1); }

        50% { transform: translateX(-50%) scale(1.05); }

        100% { transform: translateX(-50%) scale(1); }

    }


    #cryptoSelect {

        background-color: rgba(255,255,255,0.15);

        color: var(--text-color);

        appearance: none;

        background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');

        background-repeat: no-repeat;

        background-position: right 12px top 50%;

        background-size: 12px auto;

        padding-right: 30px;

    }


</style></head><body>

    <div id="map"></div>

    <div id="controls">

        <select id="cryptoSelect">

            <option value="">Select Cryptocurrency</option>

            <option value="BTC">BTC</option>

            <option value="ETH">ETH</option>

            <option value="ADA">ADA</option>

            <option value="SOL">SOL</option>

            <option value="DOGE">DOGE</option>

            <option value="QQ">QQ</option>

            <option value="NO">NO</option>

            <option value="PEPE">PEPE</option>

            <option value="GF">GF</option>

            <option value="PANDA">PANDA</option>

            <option value="YAYA">YAYA</option>

            <option value="SATOSHI">SATOSHI</option>

            <option value="CAT">CAT</option>

            <option value="ORD">ORD</option>

            <option value="CLOWN">CLOWN</option>

            <option value="YY">YY</option>

            <option value="JUMP">JUMP</option>

            <option value="DONALD">DONALD</option>

            <option value="A">A</option>

            <option value="MIMI">MIMI</option>

            <option value="MIQI">MIQI</option>

            <option value="RABBIT">RABBIT</option>

            <option value="SHEEP">SHEEP</option>

            <option value="SNAKE">SNAKE</option>

            <option value="PEACE">PEACE</option>

            <option value="RAT">RAT</option>

            <option value="MONKEY">MONKEY</option>

            <option value="DRAGON">DRAGON</option>

            <option value="X">X</option>

            <option value="SEAL">SEAL</option>

            <option value="COW">COW</option>

            <option value="OTTER">OTTER</option>

            <option value="ORD(">ORD(</option>

            <option value="ORD{">ORD{</option>

            <option value="ORD%">ORD%</option>

            <option value="ORD<">ORD<</option>

        </select>

        <button onclick="addCrypto()">Add Cryptocurrency</button>

        <button onclick="addRandomCryptos()">Add Random Cryptos</button>

        <button onclick="startSimulation()">Start Battle</button>

    </div>

    <div id="winner"></div>


    <script>

        let characters = [];

        let simulationStarted = false;

        const cryptoColors = {

            'BTC': '#F7931A', 'ETH': '#627EEA', 'ADA': '#0033AD', 'SOL': '#00FFA3',

            'DOGE': '#C3A634', 'QQ': '#FF4500', 'NO': '#FF6347', 'PEPE': '#00FF00',

            'GF': '#FF69B4', 'PANDA': '#000000', 'YAYA': '#FFD700', 'SATOSHI': '#FF8C00',

            'CAT': '#FFA500', 'ORD': '#1E90FF', 'CLOWN': '#FF00FF', 'YY': '#8A2BE2',

            'JUMP': '#00CED1', 'DONALD': '#FF4500', 'A': '#7FFF00', 'MIMI': '#FF1493',

            'MIQI': '#00BFFF', 'RABBIT': '#FF69B4', 'SHEEP': '#FFFFFF', 'SNAKE': '#32CD32',

            'PEACE': '#4169E1', 'RAT': '#808080', 'MONKEY': '#8B4513', 'DRAGON': '#FF0000',

            'X': '#000000', 'SEAL': '#4682B4', 'COW': '#000000', 'OTTER': '#8B4513',

            'ORD(': '#FF6347', 'ORD{': '#FF4500', 'ORD%': '#FF8C00', 'ORD<': '#FFA500'

        };


        function addCrypto() {

            const select = document.getElementById('cryptoSelect');

            const selectedCrypto = select.value;

            if (!selectedCrypto) {

                alert("Please select a cryptocurrency!");

                return;

            }

            addCharacter(selectedCrypto);

        }


        function addCharacter(name) {

            const map = document.getElementById('map');

            const characterElement = document.createElement('div');

            characterElement.className = 'character';

            characterElement.style.left = `${Math.random() * (780 - 50)}px`;

            characterElement.style.top = `${Math.random() * (580 - 50)}px`;

            characterElement.dataset.health = 100;

            characterElement.dataset.isPoisonous = 'false';

            characterElement.style.backgroundColor = cryptoColors[name] || '#FFFFFF';

            characterElement.innerHTML = `

                <div class="character-name">${name}</div>

                ${name}

                <div class="health-bar"></div>

            `;

            map.appendChild(characterElement);

            characters.push(characterElement);

            updateHealthBar(characterElement);

        }


        function addRandomCryptos() {

            const cryptoList = Object.keys(cryptoColors);

            for (let i = 0; i < 5; i++) {

                const randomCrypto = cryptoList[Math.floor(Math.random() * cryptoList.length)];

                addCharacter(randomCrypto);

            }

        }


        function startSimulation() {

            simulationStarted = true;

            characters.forEach(char => {

                setInterval(() => moveCharacter(char), 100);

            });

        }


        function moveCharacter(char) {

            if (!simulationStarted) return;


            let x = parseInt(char.style.left);

            let y = parseInt(char.style.top);


            const deltaX = (Math.random() - 0.5) * 10;

            const deltaY = (Math.random() - 0.5) * 10;

            x = Math.max(0, Math.min(750, x + deltaX));

            y = Math.max(0, Math.min(550, y + deltaY));


            char.style.left = x + 'px';

            char.style.top = y + 'px';


            checkCollisions(char);

        }


        function checkCollisions(character) {

            const x1 = parseInt(character.style.left);

            const y1 = parseInt(character.style.top);

            const width = 50;

            const height = 50;


            characters.forEach(other => {

                if (character === other) return;


                const x2 = parseInt(other.style.left);

                const y2 = parseInt(other.style.top);


                if (x1 < x2 + width &&

                    x1 + width > x2 &&

                    y1 < y2 + height &&

                    y1 + height > y2) {

                    handleCollision(character, other);

                }

            });

        }


        function handleCollision(char1, char2) {

            if (char1.dataset.isPoisonous === 'true') {

                reduceHealth(char2, 10);

            } else if (char2.dataset.isPoisonous === 'true') {

                reduceHealth(char1, 10);

            } else {

                const rand = Math.random();

                if (rand < 0.5) {

                    transformToPoisonousInsect(char1);

                } else {

                    transformToPoisonousInsect(char2);

                }

            }

            checkForWinner();

        }


        function reduceHealth(char, amount) {

            char.dataset.health = Math.max(0, parseInt(char.dataset.health) - amount);

            updateHealthBar(char);

            if (parseInt(char.dataset.health) === 0) {

                char.remove();

                characters = characters.filter(c => c !== char);

            }

        }


        function updateHealthBar(char) {

            const healthBar = char.querySelector('.health-bar');

            const healthPercentage = parseInt(char.dataset.health);

            healthBar.style.width = `${healthPercentage}%`;

            healthBar.style.backgroundColor = `rgb(${255 - healthPercentage * 2.55}, ${healthPercentage * 2.55}, 0)`;

        }


        function transformToPoisonousInsect(char) {

            char.dataset.isPoisonous = 'true';

            char.style.backgroundColor = '#FF00FF';

            char.querySelector('.character-name').textContent = "POISON";

            char.textContent = "☠️";

        }


        function checkForWinner() {

            const remainingCharacters = characters.filter(char => char.dataset.isPoisonous === 'false');

            if (remainingCharacters.length === 1) {

                const winnerName = remainingCharacters[0].querySelector('.character-name').textContent;

                const winnerDiv = document.getElementById('winner');

                winnerDiv.textContent = `${winnerName} wins!`;

                winnerDiv.style.display = 'block';

                simulationStarted = false;

            }

        }

    </script>

</body></html>