<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Realm Gate</title>
    <style>
        @font-face {
            font-family: 'Bookshelf Symbol 7';
            src: local('Bookshelf Symbol 7');
        }
        body, html {
            margin: 0;
            padding: 0;
            font-family: 'Bookshelf Symbol 7', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background-color: #1a1a1a;
            color: #f0f0f0;
            height: 100vh;
            overflow: hidden;
        }
        .container {
            position: relative;
            width: 100%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><circle cx="50" cy="50" r="40" stroke="%23333" stroke-width="2" fill="none"/><path d="M50 10 L90 90 L10 90 Z" stroke="%23333" stroke-width="2" fill="none"/></svg>');
            background-size: 100px 100px;
        }
        .login-form {
            background-color: rgba(40, 40, 40, 0.8);
            padding: 2rem;
            border-radius: 10px;
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
            text-align: center;
            transition: opacity 2s ease;
        }
        h1 {
            font-size: 2.5rem;
            margin-bottom: 1.5rem;
            text-transform: uppercase;
            letter-spacing: 0.2em;
        }
        form {
            display: flex;
            flex-direction: column;
            align-items: center;
        }
        input {
            width: 100%;
            padding: 0.8rem;
            margin-bottom: 1rem;
            border: none;
            border-radius: 5px;
            background-color: rgba(255, 255, 255, 0.1);
            color: #f0f0f0;
            font-size: 1rem;
            font-family: inherit;
        }
        button {
            padding: 0.8rem 2rem;
            border: none;
            border-radius: 5px;
            background-color: #4a4a4a;
            color: #f0f0f0;
            font-size: 1rem;
            cursor: pointer;
            transition: background-color 0.3s ease;
            font-family: inherit;
        }
        button:hover {
            background-color: #5a5a5a;
        }
        #message {
            margin-top: 1rem;
            font-style: italic;
        }
        .realm {
            position: absolute;
            font-size: 1.5rem;
            opacity: 0;
            transition: all 3s ease;
            width: 120px;
            height: 120px;
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: 50%;
            background-color: rgba(40, 40, 40, 0.8);
            text-align: center;
        }
        .realm.visible {
            opacity: 1;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="login-form" id="loginForm">
            <h1>Midgard</h1>
            <form id="passwordForm">
                <input type="password" id="password" placeholder="password" required>
                <button type="submit">Enter</button>
            </form>
            <div id="message"></div>
        </div>
    </div>

    <script>
        const realms = [
            'Midgard', 'Asgard', 'Vanaheim', 'Alfheim', 'Jotunheim', 
            'Nidavellir', 'Niflheim', 'Muspelheim', 'Helheim'
        ];

        function positionRealms() {
            const container = document.querySelector('.container');
            const centerX = container.offsetWidth / 2;
            const centerY = container.offsetHeight / 2;
            const radius = Math.min(centerX, centerY) * 0.8;

            realms.forEach((realm, index) => {
                const angle = (index / realms.length) * 2 * Math.PI;
                const x = centerX + radius * Math.cos(angle) - 60;
                const y = centerY + radius * Math.sin(angle) - 60;

                const realmElement = document.createElement('div');
                realmElement.textContent = realm;
                realmElement.className = 'realm';
                realmElement.style.left = `${x}px`;
                realmElement.style.top = `${y}px`;
                container.appendChild(realmElement);
            });
        }

        document.getElementById('passwordForm').addEventListener('submit', function(e) {
            e.preventDefault();
            const password = document.getElementById('password').value;
            const messageElement = document.getElementById('message');
            const loginForm = document.getElementById('loginForm');
            
            if (password === 'Yggdrasil') {
                messageElement.textContent = 'Access granted. Welcome to Yggdrasil...';
                messageElement.style.color = '#4CAF50';
                
                setTimeout(() => {
                    loginForm.style.opacity = '0';
                    positionRealms();

                    setTimeout(() => {
                        loginForm.style.display = 'none';
                        document.querySelectorAll('.realm').forEach((realm, index) => {
                            setTimeout(() => {
                                realm.classList.add('visible');
                            }, index * 300);
                        });
                    }, 2000);
                }, 6000);
            } else {
                messageElement.textContent = 'Incorrect password. Access denied.';
                messageElement.style.color = '#F44336';
            }
        });
    </script>
</body>
</html>