main {
    margin:0.5rem;
}

fieldset {
    border: solid 2px black;
    border-radius: 1rem;
    background-color: #f3f3f3;
}

button {
    cursor: pointer;
}

button:disabled {
    cursor: auto;
}

/* ==== Grille ====*/
#grille {
    display: grid;
    grid-template-columns: auto auto;
    grid-column-gap: 2rem
}

/* ===== DÃ© ===== */
#de {
    justify-self: right;
    width: 20rem;
    text-align: center;
}

#de_visuel {
    margin: 0 auto;
    border-radius: 1.5rem;
    font-size: 10rem;
    background-size: 4.4rem;
    line-height: 10rem;
}

/* ==== LÃ©gende ==== */
#themes {
    justify-self: right;
    width: 20rem;
}
#themes table {
    border-spacing: 0.3rem 0.8rem;
}
#themes th {
    font-size: 2rem;
    border-radius: 0.3rem;
}

/* ==== Plateau ==== */
#plateau {
    justify-self: left;
    grid-column-start: 2;
    grid-column-end: 2;
    grid-row-start: 1;
    grid-row-end: 3;

    user-select: none;
}

#plateau table {
    font-size: 3rem;
    margin: 0 auto;
}

#plateau td {
    width: 5rem;
    height: 5rem;
    text-align: center;
}

.texte {
    font-size: 1.5rem;
    text-shadow: 0.08rem 0.08rem 0.16rem grey;
}

.cel {
    border: 1px solid black;
    border-radius: 0.5rem;
    background-color: #f3f3f3;
}

.centre {
    border: none;
    background-color: white;
    background-image: url('../images/plateau.png');
    background-position: center;
    background-size: 14rem;
    background-repeat: no-repeat;
}

.symb {
    font-size: 2rem;
}

.c1 {
    background-color: #ffcc99;
}
.c2 {
    background-color: #ffcccc;
}
.c3 {
    background-color: #cc99ff;
}
.c4 {
    background-color: #ccccff;
}
.c5 {
    background-color: #99ccff;
}
.c6 {
    background-color: #99ffcc;
}
.c7 {
    background-color: #ffffcc;
}

a.source {
    display: grid;
    grid-template-columns: 2.5rem auto;
    margin: 0.5rem 0 0.5rem 1rem;
    border-radius: 0.5rem;
    color: black;
    text-decoration: none;
    min-height: 2.4rem;
}
a.source > div {
    display: flex;
    align-items: center;
}
a.source > div.num {
    justify-content: center;
    font-size: 1.2rem;
    font-weight: bold;
    background-color: #00000066;
    color: white;
    margin-right:0.4rem;
    border-radius: 0.5rem 0 0 0.5rem;
}