/* ==========================
   ESTILO GENERAL
========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial, Helvetica, sans-serif;
}

body{

    background:linear-gradient(135deg,#1E3C72,#2A5298);
    min-height:100vh;

    display:flex;
    flex-direction:column;
    align-items:center;

    color:white;

}

/* ==========================
        CABECERA
========================== */

header{

    text-align:center;
    margin-top:30px;
    margin-bottom:25px;

}

header h1{

    font-size:45px;
    letter-spacing:3px;

}

header p{

    margin-top:10px;
    font-size:18px;

}

/* ==========================
      CONTENEDOR
========================== */

main{

    width:95%;
    max-width:1200px;

    display:flex;
    justify-content:center;
    align-items:flex-start;

    gap:40px;
    flex-wrap:wrap;

}

/* ==========================
        CARTÓN
========================== */

#carton{

    background:white;

    padding:25px;

    border-radius:20px;

    box-shadow:0px 10px 30px rgba(0,0,0,.35);

}

/* ==========================
        TABLA
========================== */

table{

    border-collapse:collapse;

}

th{

    width:80px;
    height:60px;

    background:#1976D2;

    color:white;

    font-size:28px;

    border:2px solid white;

}

td{

    width:80px;
    height:80px;

    border:2px solid #CCC;

    text-align:center;

    font-size:28px;

    font-weight:bold;

    cursor:pointer;

    transition:.25s;

    color:#333;

}

/* ==========================
       CASILLAS
========================== */

.casilla{

    background:#FAFAFA;

}

.casilla:hover{

    background:#BBDEFB;

    transform:scale(1.05);

}

/* ==========================
        LIBRE
========================== */

.libre{

    background:#FFD54F;

    color:black;

}

/* ==========================
     CASILLA MARCADA
========================== */

.marcada{

    background:#4CAF50 !important;

    color:white;

}

/* ==========================
         PANEL
========================== */

#panel{

    width:300px;

    background:white;

    border-radius:20px;

    color:#333;

    padding:20px;

    box-shadow:0px 10px 30px rgba(0,0,0,.35);

}

#panel h2{

    text-align:center;

    margin-bottom:15px;

}

/* ==========================
      ÚLTIMA BOLILLA
========================== */

#ultimaBolilla{

    width:140px;
    height:140px;

    margin:auto;

    border-radius:50%;

    background:#FFC107;

    display:flex;
    justify-content:center;
    align-items:center;

    font-size:55px;

    font-weight:bold;

    margin-bottom:25px;

    box-shadow:0px 0px 20px rgba(0,0,0,.3);

}

/* ==========================
      HISTORIAL
========================== */

#historial{

    min-height:170px;

    border:2px solid #DDD;

    padding:10px;

    overflow-y:auto;

    line-height:35px;

    font-size:22px;

}

/* ==========================
        BOTONES
========================== */

#botones{

    width:100%;

    display:flex;

    justify-content:center;

    gap:20px;

    margin-top:30px;

    margin-bottom:40px;

}

button{

    background:#1976D2;

    color:white;

    border:none;

    padding:15px 30px;

    border-radius:10px;

    cursor:pointer;

    font-size:18px;

    transition:.3s;

}

button:hover{

    background:#1565C0;

    transform:translateY(-3px);

}

button:disabled{

    background:gray;

    cursor:not-allowed;

}

/* ==========================
      RESPONSIVE
========================== */

@media(max-width:900px){

    main{

        flex-direction:column;
        align-items:center;

    }

    td{

        width:60px;
        height:60px;
        font-size:22px;

    }

    th{

        width:60px;
        height:50px;

    }

}