/* Quitamos los márgenes que pone el navegador */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/* Fondo de toda la página */
body{

    background:
linear-gradient(
180deg,
#020611 0%,
#07111f 45%,
#0d1830 100%);

    color:white;

    font-family:Arial, Helvetica, sans-serif;

    display:flex;

    justify-content:center;

    align-items:center;

    height:100vh;

}

/* Caja principal */

.contenedor{

    width:92%;
    max-width:430px;

    background:rgba(16,35,58,0.88);

    border-radius:28px;

    padding:35px 25px;

    text-align:center;

    border:1px solid rgba(255,255,255,0.08);

    backdrop-filter:blur(8px);

    box-shadow:
        0 0 40px rgba(0,0,0,0.45);

}

/* Título */

h1{

    font-size:34px;

    margin-bottom:20px;

    line-height:1.3;

}

/* Subtítulo */

h2{

    font-weight:normal;

    color:#d4d4d4;

    margin-bottom:25px;

}

/* Texto */

.descripcion{

    margin-bottom:35px;

    line-height:1.6;

}

/* Caja para escribir el nombre */

input{

    width:100%;

    padding:18px;

    font-size:18px;

    border-radius:15px;

    border:2px solid transparent;

    background:#0a1728;

    color:white;

    margin-bottom:20px;

    transition:.25s;

}

input::placeholder{

    color:#9da8b7;

}

input:focus{

    outline:none;

    border-color:#F4B400;

}

/* Botón */

button{

    width:100%;

    padding:18px;

    margin-bottom:15px;

    font-size:19px;

    font-weight:bold;

    color:#08111E;

    background:#F4B400;

    border:none;

    border-radius:15px;

    cursor:pointer;

    transition:0.25s;

}

button:hover{

    transform:translateY(-3px);

    box-shadow:0 8px 18px rgba(244,180,0,.35);

}

button:active{

    transform:scale(.98);

}
/* ========================= */
/* RESPUESTAS DEL QUIZ */
/* ========================= */

.respuesta{

    width:100%;

    padding:18px;

    margin:12px 0;

    background:#132841;

    color:white;

    border:2px solid rgba(255,255,255,.20);

    border-radius:18px;

    text-align:left;

    font-size:17px;

    font-weight:500;

    cursor:pointer;

    box-shadow:0 4px 12px rgba(0,0,0,.25);

    transition:all .25s ease;

}

.respuesta:hover{

    background:#1b3555;

    border-color:#F4B400;

    box-shadow:0 0 14px rgba(244,180,0,.35);

    transform:translateY(-2px);

}

.respuesta:active{

    transform:scale(.98);

    box-shadow:0 0 6px rgba(244,180,0,.4);

}
/* Barra de progreso */

.barra{

    width:100%;

    height:10px;

    background:#1a2d45;

    border-radius:10px;

    overflow:hidden;

    margin-bottom:25px;

}

.progreso{

    width:10%;

    height:100%;

    background:#F4B400;

    transition:0.4s;

}
@media (max-width:600px){

    .contenedor{

        padding:25px 20px;

    }

    h1{

        font-size:28px;

    }

    h2{

        font-size:20px;

    }

}
/* ---------------------- */
/* PANTALLA DEL JUEGO */
/* ---------------------- */

#pantallaJuego h1{

    font-size:28px;
    margin:25px 0;
    line-height:1.4;

}

#contadorPregunta{

    color:#F4B400;
    font-size:18px;
    margin-bottom:10px;

}

/* Barra */

.barra{

    width:100%;
    height:10px;

    background:#223247;

    border-radius:20px;

    overflow:hidden;

    margin-bottom:30px;

}

.progreso{

    width:0%;

    height:100%;

    background:#F4B400;

    transition:.4s;

}

/* Respuestas */

.respuesta{

    width:100%;

    margin-bottom:15px;

    text-align:left;

    padding:18px;

    border-radius:16px;

    background:#10233A;

    color:white;

    font-size:17px;

    border:2px solid transparent;

    transition:.25s;

}

.respuesta:hover{

    border-color:#F4B400;

    transform:translateY(-2px);

}
#cronometro{
    margin:15px 0 25px;
    font-size:22px;
    font-weight:bold;
    color:#F4B400;
}
/* Móvil */

@media(max-width:600px){

    .contenedor{

        padding:25px 18px;

    }

    #pantallaJuego h1{

        font-size:24px;

    }

}
/* ===========================
   RANKING
=========================== */

#ranking{

    margin-top:25px;

    display:flex;

    flex-direction:column;

    gap:14px;

}

.fila-ranking{

    display:flex;

    align-items:center;

    background:rgba(255,255,255,0.08);

    border:1px solid rgba(255,255,255,0.15);

    border-radius:18px;

    padding:14px 18px;

    transition:0.2s;

}

.fila-ranking:hover{

    transform:scale(1.02);

    background:rgba(255,255,255,0.12);

}

.puesto{

    width:55px;

    font-size:30px;

    text-align:center;

    font-weight:bold;

}

.datos-jugador{

    flex:1;

}

.nombre{

    font-size:1.15rem;

    font-weight:bold;

    color:white;

    margin-bottom:6px;

}

.estadisticas{

    color:#d6d6d6;

    font-size:0.95rem;

}
/* ===========================
   CAMPEÓN
=========================== */

.campeon{

    background:linear-gradient(90deg,#ffd54f,#ffec99);

    color:#222;

    border:2px solid #f4b400;

    box-shadow:0 0 18px rgba(255,215,0,.45);

}

.campeon .nombre{

    color:#222;

    font-size:1.25rem;

}

.campeon .estadisticas{

    color:#444;

}
.puesto-normal{

    font-size:22px;

    color:#F4B400;

}

/* ===========================
   TU RESULTADO
=========================== */

.mi-resultado{

    margin-top:25px;

    padding:18px;

    border-radius:18px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.15);

    text-align:center;

}

.mi-resultado h3{

    margin-bottom:10px;

}
/* ===========================
   PANTALLA RANKING
=========================== */

.contenedor-ranking{

    max-height:85vh;

    overflow-y:auto;

}

/* Barra de desplazamiento */

.contenedor-ranking::-webkit-scrollbar{

    width:8px;

}

.contenedor-ranking::-webkit-scrollbar-track{

    background:transparent;

}

.contenedor-ranking::-webkit-scrollbar-thumb{

    background:#F4B400;

    border-radius:10px;

}


/* ===========================
   CIELO ESTRELLADO
=========================== */

#estrellas{

    position:fixed;

    inset:0;

    overflow:hidden;

    pointer-events:none;

    z-index:-1;

}

.estrella{

    position:absolute;

    border-radius:50%;

    background:white;

    animation:parpadear linear infinite;

}

@keyframes parpadear{

    0%,100%{

        opacity:.25;

        transform:scale(1);

    }

    50%{

        opacity:1;

        transform:scale(1.5);

    }

}

/* ===========================
   CIELO ESTRELLADO
=========================== */

#estrellas{

    position:fixed;

    inset:0;

    overflow:hidden;

    pointer-events:none;

    z-index:-1;

}

.estrella{

    position:absolute;

    border-radius:50%;

    background:white;

    animation:parpadear linear infinite;

}

@keyframes parpadear{

    0%,100%{

        opacity:.25;

        transform:scale(1);

    }

    50%{

        opacity:1;

        transform:scale(1.5);

    }

}

/* ===========================
   ESTRELLA FUGAZ
=========================== */

.fugaz{

    position:absolute;

    width:120px;

    height:2px;

    background:
    linear-gradient(
        90deg,
        white,
        rgba(255,255,255,0)
    );

    transform:rotate(-35deg);

    animation:fugaz 1.1s linear forwards;

}

@keyframes fugaz{

    from{

        opacity:0;

        transform:
            translate(0,0)
            rotate(-35deg);

    }

    10%{

        opacity:1;

    }

    to{

        opacity:0;

        transform:
            translate(450px,250px)
            rotate(-35deg);

    }

}
/* ===========================
   HALO DEL ECLIPSE
=========================== */

#halo-eclipse{

    position:fixed;

    width:700px;
    height:700px;

    left:50%;
    top:50%;

    transform:translate(-50%,-50%);

    border-radius:50%;

    pointer-events:none;

    z-index:-2;

    background:
    radial-gradient(
        circle,
        rgba(255,255,255,.12) 0%,
        rgba(255,255,255,.05) 22%,
        rgba(80,150,255,.05) 38%,
        rgba(0,0,0,0) 70%
    );

    filter:blur(30px);

    animation:halo 8s ease-in-out infinite;

}

@keyframes halo{

    0%,100%{

        transform:
            translate(-50%,-50%)
            scale(1);

        opacity:.65;

    }

    50%{

        transform:
            translate(-50%,-50%)
            scale(1.05);

        opacity:.9;

    }

}