r*{
    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;
    justify-content:center;
    align-items:center;
}

.contenedor{
    width:700px;
    background:white;
    padding:30px;
    border-radius:15px;
    box-shadow:0 0 20px rgba(0,0,0,.4);
    text-align:center;
}

h1{
    color:#ff0000;
    margin-bottom:15px;
}

.descripcion{
    margin-bottom:20px;
    font-size:18px;
}

table{
    margin:auto;
    border-collapse:collapse;
}

td{
    border:2px solid #333;
    width:80px;
    height:70px;
}

input{
    width:100%;
    height:100%;
    text-align:center;
    font-size:24px;
    border:none;
    outline:none;
}

button{
    margin:10px;
    padding:15px 25px;
    font-size:18px;
    border:none;
    border-radius:8px;
    cursor:pointer;
    transition:.3s;
}

#cargar{
    background:#2ecc71;
    color:white;
}

#cargar:hover{
    background:#27ae60;
}

#sortear{
    background:#3498db;
    color:white;
}

#sortear:hover{
    background:#2980b9;
}

#sortear:disabled{
    background:gray;
    cursor:not-allowed;
}

#numeroSorteado{
    margin-top:25px;
    font-size:32px;
    color:#c0392b;
}

#mensaje{
    margin-top:20px;
    color:green;
    font-size:42px;
}

.marcado{
    background:#e74c3c;
    color:white;
    font-weight:bold;
}

.marcado::placeholder{
    color:white;
}

@media(max-width:700px){

    .contenedor{
        width:95%;
    }

    td{
        width:55px;
        height:55px;
    }

    input{
        font-size:18px;
    }

}