* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {

    --color-true-black: #000;
    --color-black: #121A1D;
    --color-black-60: #121A1D9c;
    --color-grey: #808080;
    --color-light-grey: #adadad;
    --color-lighter-grey: #cdcdcd;
    --color-dark-blue: #084C61;
    --color-blue: #3C89AA;
    --color-light-blue: #56A3A6;
    --color-green: #63D166;
    --color-red: #DB504A;
    --color-yellow: #E3B505;
    --color-white: #FAF4EA;
    --color-true-white: #fff;

    --font-title: 'Grotesk';
    --font-text: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    --font-minesweeper: "minesweeper";

    --cell-size: 30px;
    --cell-border-size: 4px;
    --mine-found-bg-color: #ff0000;

    --background-image: url("../../media/image/background.webp")
}

/* GENERAL */

html {
    height: 100%;
}

body {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--background-image);
    background-size: cover;
}

h1 {
    font-family: var(--font-minesweeper);
    font-weight: 400;
    font-size: 1.2rem;
    color: var(--color-white);
}

/* HEADER */
header {
    /* position */
    width: 100%;
    height: auto;
    padding: 1rem;
    /* display */
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* color */
    background-color: var(--color-dark-blue);
}

.minesweeper__backToHub {
    text-align: center;
    transition: all 0.2s ease;
}

.minesweeper__backToHub:hover {
    -webkit-mask-image: linear-gradient(
        -75deg,
        var(--color-black) 20%,
        var(--color-black-60) 50%,
        var(--color-black) 80%
    );
    -webkit-mask-size: 200%;
    animation: shine 1.5s infinite;
}

.minesweeper__backToHub > h2 {
    font-family: var(--font-title);
    font-weight: 400;
    font-size: 1.5rem;
    color: var(--color-white);
}

/* MAIN */
main {
    /* position */
    height: 100%;
    width: 100%;
    /* display */
    display: flex;
    align-items: center;
    justify-content: center;
}

.minesweeper__body {
    /* position */
    width: auto;
    height: auto;
    margin: auto;
    /* display */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    /* other */
    background-color: var(--color-lighter-grey);
    border: var(--cell-border-size) outset var(--color-lighter-grey);
}

/* #region HEADER */
.minesweeper__boardHeader {
    width: 100%;

    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;
    justify-content: center;
}

.minesweeper__flagLeft {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-family: var(--font-minesweeper);
}
.minesweeper__flagLeft::after {
    content: "";
    display: inline-block;
    width: 2.5rem;
    height: 2.5rem;
    background-image: url("../../media/image/minesweeper_flag.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.minesweeper__restartbutton {
    width: 4rem;
    height: 4rem;
    justify-self: center;
    background-color: var(--color-lighter-grey);
    border: var(--cell-border-size) outset;
    cursor: pointer;

    /* Configuration de l'icône via background */
    background-repeat: no-repeat;
    background-position: center;
    background-size: 80%;
}
.minesweeper__restartbutton[data-state="normal"] { background-image: url("../../media/image/minesweeper_smiley.svg"); }
.minesweeper__restartbutton[data-state="surprised"] { background-image: url("../../media/image/minesweeper_smiley_surprised.svg"); }
.minesweeper__restartbutton[data-state="dead"] { background-image: url("../../media/image/minesweeper_smiley_dead.svg"); }
.minesweeper__restartbutton[data-state="cool"] { background-image: url("../../media/image/minesweeper_smiley_cool.svg"); }

/* active */
.minesweeper__restartbutton:active {
    border-style: inset;
}

.minesweeper__timer {
    width: auto;
    justify-self: end;
    font-family: var(--font-minesweeper);
}
/* #endregion HEADER */

.minesweeper__board {
    border: var(--cell-border-size) solid var(--color-grey);
    border-collapse: collapse;
}



.minesweeper__board th {
    width: var(--cell-size);
    height: var(--cell-size);
    padding: 0;
}


.minesweeper__board th>button {
    width: 100%;
    height: 100%;
    border: 2px solid var(--color-grey);
    background: var(--color-lighter-grey);
    position: relative;
}

/* cell number */
.minesweeper__board th>button::before {
    position: absolute;
    inset: 0px;
    border: var(--cell-border-size) solid #ffffff;
    content: '';
}



.minesweeper__board th.not-discover>button::before {
    content: "";
    border-style: outset;
    cursor: pointer;
}
.minesweeper__board th.flag>button::before {
    content: "";
    background-image: url("../../media/image/minesweeper_flag.svg");
    background-repeat: no-repeat;
    background-position: center;
    color: var(--color-red);
    border-style: outset;
    cursor: pointer;
}

.minesweeper__board th.bomb>button::before {
    content: url("../../media/image/minesweeper_bomb.svg");
    background-color: var(--color-light-grey);
    border: none;
}
.minesweeper__board th.bomb.lastClicked>button::before {
    background-color: var(--mine-found-bg-color);
}




.minesweeper__board th.number0>button {
    background: var(--color-light-grey);
}.minesweeper__board th.number0>button::before {
    /* content: url("../../media/image/minesweeper_1.svg"); */
    /* border-style: inset; */
    border: none;
}

.minesweeper__board th.number1>button {
    background: var(--color-light-grey);
}.minesweeper__board th.number1>button::before {
    content: url("../../media/image/minesweeper_1.svg");
    /* border-style: inset; */
    border: none;
}

.minesweeper__board th.number2>button {
    background: var(--color-light-grey);
}.minesweeper__board th.number2>button::before {
    content: url("../../media/image/minesweeper_2.svg");
    /* border-style: inset; */
    border: none;
}

.minesweeper__board th.number3>button {
    background: var(--color-light-grey);
}.minesweeper__board th.number3>button::before {
    content: url("../../media/image/minesweeper_3.svg");
    /* border-style: inset; */
    border: none;
}

.minesweeper__board th.number4>button {
    background: var(--color-light-grey);
}.minesweeper__board th.number4>button::before {
    content: url("../../media/image/minesweeper_4.svg");
    /* border-style: inset; */
    border: none;
}

.minesweeper__board th.number5>button {
    background: var(--color-light-grey);
}.minesweeper__board th.number5>button::before {
    content: url("../../media/image/minesweeper_5.svg");
    /* border-style: inset; */
    border: none;
}

.minesweeper__board th.number6>button {
    background: var(--color-light-grey);
}.minesweeper__board th.number6>button::before {
    content: url("../../media/image/minesweeper_6.svg");
    /* border-style: inset; */
    border: none;
}

.minesweeper__board th.number7>button {
    background: var(--color-light-grey);
}.minesweeper__board th.number7>button::before {
    content: url("../../media/image/minesweeper_7.svg");
    /* border-style: inset; */
    border: none;
}

.minesweeper__board th.number8>button {
    background: var(--color-light-grey);
}.minesweeper__board th.number8>button::before {
    content: url("../../media/image/minesweeper_8.svg");
    /* border-style: inset; */
    border: none;
}

/* .minesweeper__board th.state-not-discover>button:hover::before {
    border-style: inset;
} */



		










@media (min-width: 600px) {
    h1 {
        font-size: 2.5rem;
    }
    .minesweeper__backToHub>h2 {
        font-size: 2.5rem;
    }
}