/* =========================================================
   MISIÓN OVSICORI
   ESTILOS GENERALES
========================================================= */

*{
    box-sizing:border-box;
}

:root{

    --bg:#a70008;
    --panel:#c9c0c0;
    --panel2:#6d6d6e;

    --purple:#eee9e9;
    --purple2:#fafafa;

    --blue:#a30000;

    --text:#fdfcfc;
    --muted:#bac2df;

    --green:#36d399;
    --red:#ff6b81;
}

html,
body{

    margin:0;
    min-height:100%;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    background:
        linear-gradient(
            135deg,
            #27336bc0,
            #333333e8 55%,
            #a1000079 
        );

    color:var(--text);
}

body{
    overflow-x:hidden;
}

button{
    font:inherit;
}



/* =========================================================
   PANTALLAS
========================================================= */

.pantalla{
    display:none;
}

.pantalla.activa{
    display:block;
}

main{
    width:min(1180px,94%);
    margin:28px auto 60px;
}



/* =========================================================
   HERO
========================================================= */

.hero{

    text-align:center;

    padding:40px 25px;

    background:
        linear-gradient(
            145deg,
            #6d6d6e,
            #414040f3
        );

    border:4px solid #9b0000;

    border-radius:24px;

    box-shadow:
        0 20px 60px
        rgb(3, 3, 3);
}

.logo-planeta{
    font-size:55px;
}

.mini-titulo{

    color:var(--purple2);

    font-weight:bold;

    letter-spacing:3px;
}

.hero h1{

    margin:8px 0;

    font-size:
        clamp(
            32px,
            5vw,
            55px
        );
}

.subtitulo{

    color:var(--muted);

    max-width:650px;

    margin:
        10px auto 20px;

    line-height:1.6;
}

.linea-decorativa{

    width:100px;

    height:4px;

    background:
        linear-gradient(
            90deg,
            var(--purple),
            var(--blue)
        );

    margin:
        20px auto;

    border-radius:10px;
}

.estadisticas{

    display:flex;

    justify-content:center;

    gap:18px;

    flex-wrap:wrap;
}

.estadisticas div{

    min-width:150px;

    padding:15px;

    border-radius:15px;

    background:#565657;

    border:2px solid #ce010b;
}

.estadisticas span{

    display:block;

    font-size:27px;

    font-weight:bold;

    color:var(--purple2);
}

.estadisticas small{

    color:var(--muted);

    font-size:12px;
}



/* =========================================================
   MENÚ
========================================================= */

.misiones-grid{

    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:18px;

    margin-top:22px;
}

.mision-card{

    position:relative;

    border:3px solid #9b0000;

    background:#6d6d6e;

    color:var(--text);

    border-radius:18px;

    padding:25px;

    text-align:left;

    cursor:pointer;

    transition:.2s;
}

.mision-card:hover{

    transform:
        translateY(-4px);

    border-color:
        var(--purple);

    background:#7c7d7e9d;
}

.numero-mision{

    color:
        var(--purple2);

    font-weight:bold;

    font-size:14px;
}

.icono-mision{

    font-size:43px;

    margin:
        12px 0;
}

.contenido-mision h2{

    margin:
        0 0 8px;
}

.contenido-mision p{

    color:
        var(--muted);

    line-height:1.5;

    min-height:48px;
}

.estado-mision{

    display:inline-block;

    padding:
        7px 11px;

    border-radius:20px;

    background:#000280e0;

    color:#ffffff;

    font-size:13px;

    margin-top:10px;
}

.estado-mision.completada{

    background:#123d35;

    color:#4ce0b1;
}



/* =========================================================
   CABECERA DE LOS JUEGOS
========================================================= */

.cabecera-juego{

    display:grid;

    grid-template-columns:
        auto 1fr auto;

    gap:18px;

    align-items:center;

    margin-bottom:22px;
}

.cabecera-juego h1{

    margin:4px 0;

    font-size:28px;
}

.numero-superior{

    color:
        var(--purple2);

    font-weight:bold;

    font-size:13px;

    letter-spacing:1px;
}

.btn-regresar{

    border:2px solid #9b0000 ;

    background:#e9e7e7;

    color:#d82d2d;

    border-radius:12px;

    padding:
        11px 16px;

    cursor:pointer;
}

.btn-regresar:hover{

    border-color:
        var(--purple);
}

.marcador{

    padding:
        12px 16px;

    background:#c00b23c9;
    

    border:2px solid #dfdcdc;

    border-radius:12px;

    white-space:nowrap;
}



/* =========================================================
   DETECTA EL PELIGRO
========================================================= */

.introduccion-juego{

    background:#6e6f72;

    border:2px solid #ffffff;

    border-radius:18px;

    padding:20px;

    margin-bottom:20px;
}

.introduccion-juego p{

    color:var(--muted);

    line-height:1.6;
}

.selector-escenarios{

    display:flex;

    gap:10px;

    flex-wrap:wrap;

    margin-top:15px;
}

.escenario-btn{

    border:2px solid #fffefe;

    background:#6e6f72;

    color:rgb(243, 241, 241);

    border-radius:12px;

    padding:
        11px 16px;

    cursor:pointer;
}

.escenario-btn:hover{

    border-color:
        var(--purple);
}

.escenario-btn.activo{

    background:#da001d;

    border-color:#da001d;
}

.peligro-contenedor{

    background:
       #6e6f72;

    border:2px solid #fafafa;

    border-radius:20px;

    padding:25px;
}

.peligro-contenedor h2{

    text-align:center;

    margin-top:0;
}

.instruccion-peligro{

    color:var(--muted);

    text-align:center;
}

.lista-peligros{

    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:14px;

    margin-top:25px;
}

.peligro-opcion{

    min-height:105px;

    padding:20px;

    border-radius:15px;

    border:2px solid #c7c6c6;

    background:#17254de7;

    color:white;

    cursor:pointer;

    transition:.2s;

    text-align:center;

    font-weight:bold;

    font-size:16px;
}

.peligro-opcion:hover{

    border-color:
        var(--purple);

    transform:
        translateY(-2px);
}

.peligro-opcion.correcto{

    background:#355549;

    border-color:
        var(--green);

    color:#04b177;
}

.peligro-opcion.incorrecto{

    background:#461d2a;

    border-color:
        var(--red);

    color:#fa7b90;
}

.peligro-opcion.bloqueado{

    pointer-events:none;
}

.progreso-peligro{

    text-align:center;

    color:var(--muted);

    margin-top:25px;

    font-size:16px;
}

.mensaje-juego{

    text-align:center;

    margin-top:18px;

    min-height:25px;

    color:var(--purple2);

    font-weight:bold;
}



/* =========================================================
   SOPA DE LETRAS
========================================================= */

.instrucciones-sopa{

    background:#666769;

    border:2px solid #aa0000;

    border-radius:18px;

    padding:20px;

    margin-bottom:20px;
}

.instrucciones-sopa p{

    color:var(--muted);

    line-height:1.6;
}

.palabras-lista{

    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:8px;

    margin-top:18px;
}

.palabra-item{

    padding:
        9px 11px;

    border-radius:9px;

    background:#e94747e7;

    color:#fefeff;

    border:2px solid #d6d7d8;

    font-weight:bold;

    text-align:center;
}

.palabra-item.encontrada{

    text-decoration:line-through;

    background:#216156;

    color:#6ee7bd;

    border-color:#236a5c;
}

.sopa-area{

    background:#6e6f72;

    border:2px solid #aa0000;

    border-radius:18px;

    padding:20px;

    overflow:auto;
}

.sopa-tablero{

    display:grid;

    grid-template-columns:
        repeat(18,minmax(28px,1fr));

    gap:3px;

    width:min(100%,760px);

    margin:auto;

    touch-action:none;

    user-select:none;
}

.celda-sopa{

    aspect-ratio:1;

    border:
        1px solid #f7f7f771;

    background:#182346;

    color:#f7f8ff;

    border-radius:4px;

    font-weight:bold;

    font-size:
        clamp(
            10px,
            1.4vw,
            16px
        );

    cursor:pointer;

    padding:0;

    display:flex;

    align-items:center;

    justify-content:center;
}

.celda-sopa:hover{

    background:#f85858;
}

.celda-sopa.seleccionando{

    background:#f85858;
}

.celda-sopa.encontrada{

    background:#ffffff;

    color:rgb(160, 1, 1);

    border-color:#f57070;
}



/* =========================================================
   DETECTIVE VOLCÁNICO
========================================================= */

.detective-contenedor{

    display:grid;

    grid-template-columns:
        1fr 1fr;

    gap:20px;
}

.pistas-panel{

    background:#9b0000;

    border:2px solid #fffffff8;

    border-radius:18px;

    padding:25px;
}

.etiqueta{

    color:var(--purple2);

    font-size:12px;

    font-weight:bold;

    letter-spacing:2px;
}

.pistas-panel h2{

    margin:
        12px 0 20px;
}

.pista{

    padding:15px;

    margin-bottom:10px;

    border-radius:12px;

    background:#e4e3e3fd;

    border:2px solid #747272f6;

    color:#38383b;

    line-height:1.5;
}

.opciones-volcanes{

    display:grid;

    grid-template-columns:
        1fr;

    gap:14px;

    align-content:start;
}

.opcion-volcan{

    min-height:80px;

    border:3px solid #9b0000;

    background:#dbdbdb;

    color:#000000ef;

    border-radius:14px;

    padding:18px;

    cursor:pointer;

    font-size:17px;

    font-weight:bold;
}

.opcion-volcan:hover{

    background:#706d6dad;

    border-color:
        var(--purple);
}



/* =========================================================
   ROMPECABEZAS 3 X 3
========================================================= */

.puzzle-selector{

    background:#bb0101bb;

    border:2px solid #e2e2e2;

    border-radius:18px;

    padding:22px;

    margin-bottom:20px;
}

.puzzle-selector p{

    color:var(--muted);

    line-height:1.5;
}

.volcanes-puzzle{

    display:flex;

    gap:10px;

    flex-wrap:wrap;

    margin-top:18px;
}

.volcan-puzzle-btn{

    border:1px solid #f2f2f3;

    background:#dcdcdde0;

    color:#161616;

    border-radius:12px;

    padding:
        13px 20px;

    cursor:pointer;

    font-weight:bold;
}

.volcan-puzzle-btn:hover{

    border-color:
        var(--purple);

    background:#bebebe;
}

.volcan-puzzle-btn.completado{

    background:#143d35;

    border-color:
        var(--green);

    color:#72e8c4;
}

.puzzle-juego{

    background:#696969bb;

    border:3px solid #f3f2f2;

    border-radius:20px;

    padding:25px;
}

.puzzle-juego h2{

    text-align:center;

    color:var(--purple2);

    margin-top:0;
}

.puzzle-contenido{

    display:grid;

    grid-template-columns:
        minmax(260px,430px)
        minmax(300px,560px);

    gap:35px;

    justify-content:center;

    align-items:start;
}

.zona-piezas h3,
.zona-tablero h3{

    text-align:center;

    margin-top:0;
}

.piezas-puzzle{

    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:8px;

    min-height:360px;

    padding:10px;

    border-radius:14px;

    background:#111b3f;

    border:2px solid #d7d7d8;
}

.pieza-puzzle{

    width:100%;

    aspect-ratio:1;

    border-radius:7px;

    background-repeat:no-repeat;

    background-size:300% 300%;

    border:2px solid #c8c9ca;

    cursor:grab;

    user-select:none;
}

.pieza-puzzle:hover{

    border-color:
        var(--purple2);
}

.pieza-puzzle:active{

    cursor:grabbing;
}

.tablero-puzzle{

    width:100%;

    max-width:560px;

    aspect-ratio:1;

    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    grid-template-rows:
        repeat(3,1fr);

    border:
        2px solid #ebebeb;

    border-radius:15px;

    overflow:hidden;

    background:#080d21;

    margin:auto;
}

.espacio-puzzle{

    width:100%;

    height:100%;

    min-width:0;

    min-height:0;

    border:
        1px dashed #d4d3d4;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#64709c;

    font-size:13px;

    position:relative;

    overflow:hidden;
}

.espacio-puzzle .pieza-puzzle{

    width:100%;

    height:100%;

    aspect-ratio:auto;

    border:0;

    border-radius:0;

    cursor:default;

    flex:none;
}

.espacio-puzzle.completo{

    border-color:
        var(--green);
}

.oculto{

    display:none !important;
}



/* =========================================================
   TRIVIA
========================================================= */

.trivia-contenedor{

    max-width:850px;

    margin:auto;
}

.barra-trivia{

    display:flex;

    justify-content:
        space-between;

    gap:15px;

    flex-wrap:wrap;

    padding:15px;

    background:#4c4f58b6;

    border:3px solid #0f2791cc;

    border-radius:15px;

    margin-bottom:18px;

    color:var(--muted);
}

.pregunta-card{

    background:#0f2791cc;

    border:3px solid #dfdfdf;

    border-radius:20px;

    padding:30px;
}

.pregunta-numero{

    color:var(--purple2);

    font-size:14px;

    font-weight:bold;
}

.pregunta-card h2{

    line-height:1.5;
}

.opciones-trivia{

    display:grid;

    gap:12px;

    margin-top:22px;
}

.opcion-trivia{

    padding:17px;

    background:#545868de;

    color:white;

    border:2px solid #343641ef;

    border-radius:13px;

    cursor:pointer;

    text-align:left;
}

.opcion-trivia:hover{

    border-color:
        var(--purple);
}

.opcion-trivia.correcta{

    background:#164638;

    border-color:
        var(--green);
}

.opcion-trivia.incorrecta{

    background:#4b1d2a;

    border-color:
        var(--red);
}

.explicacion-trivia{

    margin-top:18px;

    padding:15px;

    border-radius:12px;

    background:#0d1430;

    color:#dce2f5;

    line-height:1.5;
}

.btn-principal{

    border:0;

    border-radius:12px;

    padding:
        12px 22px;

    background:
        linear-gradient(
            135deg,
            #e0e0e0,
            #a7a7a7
        );

    color:rgb(187, 9, 9);

    font-weight:bold;

    cursor:pointer;
}

.btn-principal:hover{

    filter:brightness(1.1);
}



/* =========================================================
   KIT
========================================================= */

.kit-introduccion{

    background:#4a4a4b;

    border:2px solid #8d96bb;

    border-radius:18px;

    padding:20px;

    margin-bottom:20px;

    color:var(--muted);
}

.objetos-kit{

    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    gap:12px;
}

.objeto-kit{

    min-height:105px;

    border-radius:15px;

    border:2px solid #bb0404d0;

    background:#c9c8c8;

    color:rgb(160, 1, 1);

    cursor:pointer;

    padding:15px;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    gap:8px;

    text-align:center;

    transition:.2s;
}

.objeto-kit:hover{

    border-color:
        var(--purple);
}

.objeto-kit.seleccionado{

    background:#1c2baf98;

    border-color:#1c2bafd3;

    box-shadow:
        0 0 0 2px #1c2bafe5;
}

.kit-final{

    display:flex;

    justify-content:
        space-between;

    align-items:center;

    gap:15px;

    flex-wrap:wrap;

    margin-top:20px;

    padding:18px;

    background:#4a4a4b;

    border:2px solid #8d96bb;

    border-radius:15px;
}



/* =========================================================
   MODAL
========================================================= */

.modal{

    display:none;

    position:fixed;

    inset:0;

    background:
        rgba(2,4,15,.78);

    backdrop-filter:
        blur(5px);

    z-index:50;

    align-items:center;

    justify-content:center;

    padding:20px;
}

.modal.activo{

    display:flex;
}

.modal-contenido{

    width:min(560px,95vw);

    background:#151d3d;

    border:1px solid #9a5cff;

    border-radius:22px;

    padding:32px;

    text-align:center;

    box-shadow:
        0 20px 60px
        rgba(0,0,0,.5);

    position:relative;
}

.cerrar-modal{

    position:absolute;

    top:10px;

    right:15px;

    border:0;

    background:none;

    color:#fff;

    font-size:30px;

    cursor:pointer;
}

.modal-icono{

    font-size:45px;
}

.modal-contenido h2{

    margin:
        12px 0;
}

.modal-contenido p{

    color:#d1d6ea;

    line-height:1.6;
}



/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:900px){

    .misiones-grid{

        grid-template-columns:
            repeat(2,1fr);
    }

    .puzzle-contenido{

        grid-template-columns:1fr;
    }

    .tablero-puzzle{

        margin:auto;
    }

    .detective-contenedor{

        grid-template-columns:1fr;
    }

    .objetos-kit{

        grid-template-columns:
            repeat(3,1fr);
    }

}

@media(max-width:650px){

    .misiones-grid{

        grid-template-columns:1fr;
    }

    .cabecera-juego{

        grid-template-columns:1fr;
    }

    .marcador{

        width:max-content;
    }

    .lista-peligros{

        grid-template-columns:
            repeat(2,1fr);
    }

    .palabras-lista{

        grid-template-columns:
            repeat(2,1fr);
    }

    .objetos-kit{

        grid-template-columns:
            repeat(2,1fr);
    }

    .sopa-tablero{

        grid-template-columns:
            repeat(18,25px);

        width:max-content;
    }

}

@media(max-width:430px){

    .lista-peligros{

        grid-template-columns:1fr;
    }

    .palabras-lista{

        grid-template-columns:1fr;
    }

    .hero h1{

        font-size:32px;
    }

}
.ovsi-return { position:fixed; z-index:9999; top:12px; left:12px; padding:10px 14px; color:#fff; background:#071d2d; border:1px solid rgba(255,255,255,.35); border-radius:4px; font:700 13px/1.2 Arial,sans-serif; text-decoration:none; box-shadow:0 4px 18px rgba(0,0,0,.22); }
