
        html, body {
            height: 100%;
            min-height: 100%;
        }
        body {
            margin: 0;
            padding: 0;
            min-height: 100vh;
            background: radial-gradient(ellipse at center, #23272f 60%, #181c24 100%);
            font-family: 'Inter', Arial, sans-serif;
            overflow-x: hidden;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            box-shadow: 0 0 0 40vw #000a inset, 0 0 120px 40px #000c inset;
        }
        #flames-bg {
            position: fixed;
            inset: 0;
            width: 100vw;
            height: 100vh;
            z-index: -1;
            pointer-events: none;
            opacity: 0;
            transition: opacity 0.5s;
            background:
                radial-gradient(ellipse at 50% 95%, #ff9800ee 0%, #ff222200 60%),
                radial-gradient(ellipse at 30% 100%, #ff4d00cc 0%, #ff222200 70%),
                radial-gradient(ellipse at 70% 98%, #ffd700cc 0%, #ff222200 60%),
                radial-gradient(ellipse at 60% 90%, #ff2200cc 0%, #ff222200 70%),
                radial-gradient(ellipse at 40% 92%, #ff6600ee 0%, #ff222200 70%),
                radial-gradient(ellipse at 50% 100%, #ff0000ee 0%, #ff222200 80%),
                radial-gradient(ellipse at 60% 80%, #ffae00bb 0%, #ff222200 70%),
                radial-gradient(ellipse at 40% 85%, #ff3300bb 0%, #ff222200 80%);
            animation: flames-move 1.1s linear infinite, flames-flicker 0.7s infinite alternate;
            filter: blur(2.2px) brightness(1.35) saturate(2.2);
        }
        body.flames #flames-bg {
            opacity: 1;
        }
        @keyframes flames-move {
            0% {
                background-position:
                    50% 95%, 30% 100%, 70% 98%, 60% 90%, 40% 92%, 50% 100%, 60% 80%, 40% 85%;
            }
            30% {
                background-position:
                    52% 92%, 28% 97%, 72% 95%, 62% 88%, 38% 90%, 48% 98%, 62% 77%, 38% 82%;
            }
            60% {
                background-position:
                    48% 98%, 32% 103%, 68% 101%, 58% 92%, 42% 94%, 52% 102%, 58% 83%, 42% 88%;
            }
            100% {
                background-position:
                    50% 95%, 30% 100%, 70% 98%, 60% 90%, 40% 92%, 50% 100%, 60% 80%, 40% 85%;
            }
        }
        @keyframes flames-flicker {
            0% { filter: blur(2.2px) brightness(1.35) saturate(2.2); }
            100% { filter: blur(2.7px) brightness(1.6) saturate(2.7); }
        }
        #particles-bg {
            position: fixed;
            inset: 0;
            width: 100vw;
            height: 100vh;
            z-index: 0;
            pointer-events: none;
            opacity: 1;
            transition: opacity 0.5s;
            background: transparent;
        }
        body.eyes-active #particles-bg {
            opacity: 0;
        }
        #eyes-bg {
            position: fixed;
            inset: 0;
            width: 100vw;
            height: 100vh;
            z-index: 1;
            pointer-events: none;
        }
        .eye-bg {
            position: absolute;
            width: 80px;      /* más ancho */
            height: 34px;     /* más bajo */
            left: calc(var(--x) * 100vw);
            top: calc(var(--y) * 100vh);
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0.0;
            transition: opacity 0.4s cubic-bezier(.4,2,.6,1);
            z-index: 0;
            filter: drop-shadow(0 0 16px #000b) drop-shadow(0 0 32px #000c);
            border-radius: 60% / 80%; /* ovalado horizontal */
        }
        .eye-bg.open {
            opacity: 1;
        }
        .eye-ball {
            width: 100%;
            height: 100%;
            background: #fff;
            border: 4px solid #222;
            border-radius: 60% / 80%; /* ovalado horizontal */
            box-shadow: 0 0 24px #000a, 0 0 32px #ff222244 inset;
            position: relative;
            overflow: hidden;
        }
        .eye-ball::after {
            content: '';
            position: absolute;
            left: 60%; top: 30%;
            width: 12px; height: 8px;
            background: rgba(255,255,255,0.18);
            border-radius: 50% / 60%;
            filter: blur(1.5px);
            z-index: 3;
        }
        .eye-lid {
            position: absolute;
            left: 0; top: 0;
            width: 100%; height: 100%;
            background: linear-gradient(180deg, #181c24 60%, #23272f 100%);
            border-radius: 50% / 60%;
            z-index: 2;
            transition: transform 0.4s cubic-bezier(.4,2,.6,1);
            transform: scaleY(1);
            box-shadow: 0 0 24px #000c inset;
        }
        .eye-bg.open .eye-lid {
            transform: scaleY(0);
        }
        .pupil {
            position: absolute;
            left: 50%; top: 50%;
            width: 14px; height: 18px; /* Achatada */
            background: radial-gradient(ellipse at 60% 40%, #2196f3 60%, #000 100%);
            /* azul por defecto */
            border-radius: 50% / 60%;
            transform: translate(-50%, -50%);
            transition: transform 0.10s cubic-bezier(.4,2,.6,1);
            box-shadow: 0 0 12px #ff222288, 0 0 6px #000a;
            z-index: 1;
            border: 2px solid #000;
        }
        .pupil::after {
            content: '';
            position: absolute;
            left: 60%; top: 30%;
            width: 4px; height: 4px;
            background: #fff8;
            border-radius: 50%;
            filter: blur(0.5px);
            z-index: 2;
        }
        .eye-bg.red .pupil,
        .pupil.evil {
            background: radial-gradient(ellipse at 60% 40%, #ff2222 60%, #000 100%);
        }
        .gamer-glow {
            color:rgb(255, 255, 255);
            text-shadow: 0 0 8px #ffae33, 0 0 24px #ff4d4d;
            font-family: 'Orbitron', 'Inter', Arial, sans-serif;
            font-size: 2.4rem; /* Más grande */
            letter-spacing: 2px;
            margin-bottom: 0.5rem;
            text-align: center;
        }
        .container {
            position: relative;
            z-index: 2;
            background: rgba(24,28,36,0.97);
            box-shadow: 0 8px 32px #ff4d4d55;
            border-radius: 18px;
            padding: 1.2rem 1rem 1.2rem 1rem;
            max-width: 380px; /* MÁS ANCHO */
            margin: 0 auto;
            border: 2.5px solid #ffae33;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        /* RESPONSIVE: fondo negro y partículas en móvil */
        @media (max-width: 600px) {
            body {
                background: #111 !important;
            }
            #particles-bg {
                opacity: 1 !important;
                display: block !important;
            }
            #flames-bg {
                display: none !important;
            }
            .container {
                max-width: 99vw;
                padding-left: 1.2rem;
                padding-right: 1.2rem;
            }
            .input-group input[type="email"],
    .input-group input[type="password"],
    .input-group input[type="text"] {
        width: 75%; /* aún menos ancho en móvil */
        margin-left: auto;
        margin-right: auto;
        display: block;
    }
        }

        .alert {
            background: #ff4d4d;
            color: #fff;
            padding: 0.7rem 1rem;
            border-radius: 8px;
            margin-bottom: 1rem;
            font-weight: bold;
            box-shadow: 0 2px 12px #ff4d4d44;
            width: 100%;
            text-align: center;
        }
        form {
            width: 95%;
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }
        label {
            color: #ffae33;
            font-weight: bold;
            margin-bottom: 0.2rem;
            letter-spacing: 1px;
        }
        .input-group {
            position: relative;
            display: flex;
            align-items: center;
        }
        input[type="email"],
input[type="password"],
input[type="text"] {
    width: 85%; /* menos ancho */
    margin-left: auto;
    margin-right: auto;
    display: block;
    padding: 0.45rem 2.2rem 0.45rem 1.1rem; /* Menos alto */
    border-radius: 10px;
    border: 2.5px solid #ffae33;
    background: linear-gradient(90deg, #181c24 60%, #23272f 100%);
    color: #ffae33;
    font-size: 1.08rem;
    font-family: 'Orbitron', 'Inter', Arial, sans-serif;
    letter-spacing: 1px;
    outline: none;
    box-shadow: 0 0 12px #ffae3344, 0 0 0px #ff4d4d00;
    transition: 
        border 0.2s,
        box-shadow 0.25s,
        background 0.3s,
        color 0.2s;
    text-shadow: 0 0 4px #ffae33cc, 0 0 2px #fff2;
}

input[type="email"]:focus,
input[type="password"]:focus,
input[type="text"]:focus {
    border: 2.5px solid #ff4d4d;
    background: linear-gradient(90deg, #23272f 60%, #181c24 100%);
    color: #fff;
    box-shadow: 0 0 16px #ff4d4d88, 0 0 32px #ffae3344;
    text-shadow: 0 0 8px #ff4d4d, 0 0 2px #fff2;
    animation: gamer-glow-input 0.7s linear;
}

@keyframes gamer-glow-input {
    0% { box-shadow: 0 0 0px #ff4d4d00, 0 0 0px #ffae3300; }
    60% { box-shadow: 0 0 24px #ff4d4d88, 0 0 48px #ffae3344; }
    100% { box-shadow: 0 0 16px #ff4d4d88, 0 0 32px #ffae3344; }
}
        .eye-icon {
            position: absolute;
            right: 0.7rem;
            top: 50%;
            transform: translateY(-50%);
            cursor: pointer;
            z-index: 3;
        }
        button[type="submit"] {
            background: linear-gradient(90deg, #ff4d4d 0%, #ffae33 100%);
            color: #fff;
            border: none;
            border-radius: 30px;
            padding: 0.6rem 1.8rem;
            font-size: 1rem;
            font-weight: bold;
            text-transform: uppercase;
            letter-spacing: 1px;
            box-shadow: 0 4px 16px #ff4d4d33, 0 1.5px 0 #fff2 inset;
            cursor: pointer;
            margin-top: 1rem;
            transition: background 0.2s, transform 0.2s, box-shadow 0.2s, border-color 0.2s;
        }
        button[type="submit"]:hover {
            background: linear-gradient(90deg, #ffae33 0%, #ff4d4d 100%);
            transform: scale(1.07);
            box-shadow: 0 8px 32px #ffae3355;
        }
        .recuperar-link, a {
            color: #ffae33;
            text-decoration: none;
            font-size: 0.95rem;
            transition: color 0.2s;
        }
        .recuperar-link:hover, a:hover {
            color: #ff4d4d;
            text-decoration: underline;
        }
        .login-actions {
            display: flex;
            flex-direction: column;
            gap: 0.6rem;
            margin-top: 1rem;
            align-items: center;
        }
        .login-actions a {
            font-size: 0.95rem;
        }
        .volver-home-btn {
            display: inline-block;
            margin-bottom: 1.2rem;
            margin-top: 2.2rem; /* Más espacio arriba */
            padding: 0.4rem 1.2rem;
            border-radius: 18px;
            background: linear-gradient(90deg, #23272f 60%, #181c24 100%);
            color: #ffae33;
            font-family: 'Orbitron', 'Inter', Arial, sans-serif;
            font-weight: bold;
            letter-spacing: 1px;
            border: 2px solid #ffae33;
            text-decoration: none;
            box-shadow: 0 2px 12px #ffae3344;
            transition: background 0.2s, color 0.2s, border 0.2s;
        }
        .volver-home-btn:hover {
            background: linear-gradient(90deg, #ffae33 0%, #ff4d4d 100%);
            color: #fff;
            border: 2px solid #ff4d4d;
        }
        @media (max-width: 480px) {
            .container {
                padding: 0.7rem 0.2rem;
                max-width: 98vw;
            }
            .eye-bg {
                width: 36px;
                height: 36px;
            }
        }
        @media (max-width: 600px) {
            body {
                padding: 0;
                min-height: 100vh;
                box-shadow: none;
            }
            .container {
                max-width: 98vw;
                min-width: 0;
                padding: 0.7rem 0.2rem;
                border-radius: 10px;
                border-width: 1.5px;
                box-shadow: 0 2px 12px #ff4d4d33;
            }
            .gamer-glow {
                font-size: 1.5rem;
                margin-bottom: 1.5rem;
                
            }
            label {
                font-size: 1rem;
            }
            .input-group input[type="email"],
            .input-group input[type="password"],
            .input-group input[type="text"] {
                width: 80%; /* aún menos ancho en móvil */
                margin-left: auto;
                margin-right: auto;
                display: block;
                padding: 0.38rem 2.1rem 0.38rem 0.8rem;
                border-radius: 7px;
            }
            button[type="submit"] {
                font-size: 0.95rem;
                padding: 0.5rem 1.2rem;
                border-radius: 20px;
                margin-top: 0.7rem;
            }
            .volver-home-btn {
                font-size: 0.95rem;
                padding: 0.3rem 0.8rem;
                margin-top: 1.2rem;
                margin-bottom: 0.8rem;
                border-radius: 12px;
            }
            .alert {
                font-size: 0.98rem;
                padding: 0.5rem 0.6rem;
            }
            .eye-bg {
                width: 36px;
                height: 18px;
            }
            #eyes-bg,
            #flames-bg {
                display: none !important;
            }
            .login-actions {
                gap: 0.3rem;
                margin-top: 0.7rem;
            }
            .login-actions a,
            .recuperar-link {
                font-size: 0.93rem;
            }
        }
        @keyframes evil-shake {
            0% { transform: translate(-50%, -50%) rotate(-2deg) scale(1.05); }
            20% { transform: translate(-50%, -50%) rotate(2deg) scale(1.1); }
            40% { transform: translate(-50%, -50%) rotate(-3deg) scale(1.08);}
            60% { transform: translate(-50%, -50%) rotate(3deg) scale(1.12);}
            80% { transform: translate(-50%, -50%) rotate(-2deg) scale(1.09);}
            100% { transform: translate(-50%, -50%) rotate(0deg) scale(1.05);}
        }
        .pupil.evil {
            animation: evil-shake 0.25s infinite linear;
            filter: drop-shadow(0 0 8px #ff2222) drop-shadow(0 0 16px #ff2222);
        }
   