:root {
  --taille-cellule: 48px;
  --epaisseur-bordure-cellule: 1px;
  --epaisseur-padding-cellule: 2px;
  --couleur-bien-place: #e7002a;
  --couleur-mal-place: #ffbd00;
  --couleur-fond-grille: #8101ff;
  --couleur-non-trouve: rgb(112, 112, 112);
  --couleur-icone: rgb(255, 255, 255);
}

@font-face {
  font-family: "Roboto Medium";
  src: url("/fonts/Roboto-Medium.ttf");
}

body {
  font-family: "Roboto Medium", Ubuntu, Arial, Helvetica, sans-serif;
  font-size: 32px;
  background-color: #a382c3;
  height: 100vh;
  text-align: center;
  color: white;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
      backface-visibility: hidden;
	  -webkit-font-smoothing: subpixel-antialiased;
}

#contenu {
  display: flex;
  flex-direction: column;
  margin-left: 25%;
  margin-right: 25%;
  justify-content: space-between;
  height: 100%;
}

@media (max-width: 1024px) {
  #contenu {
    margin-left: 2px;
    margin-right: 2px;
  }
}

header {
  display: grid;
  grid-template-columns: 1fr 6fr 1fr;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border-bottom: 1px solid white;
  margin-top: 0.1em;
  margin-bottom: 0.25em;
}

h1 {
  margin: 0;
  font-size: 1.4em;
}

#configuration-audio-icone {
  height: 32px;
  width: 40px;
}

#grille {
  margin-left: auto;
  margin-right: auto;
  background-color: var(--couleur-fond-grille);
}

#grille table {
  border-spacing: 0;
}

#grille td {
  width: calc(var(--taille-cellule) - 2 * var(--epaisseur-padding-cellule));
  height: calc(var(--taille-cellule) - 2 * var(--epaisseur-padding-cellule));
  text-align: center;
  position: relative;
  padding: var(--epaisseur-padding-cellule);
  color: white;
  border: 1px solid white;
  z-index: 0;
}

#grille td:not(.resultat) {
  background-color: var(--couleur-fond-grille);
}

#grille td.resultat::after {
  width: calc(var(--taille-cellule));
  height: calc(var(--taille-cellule));
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  content: " ";
}

#grille td.mal-place::after {
  background-color: var(--couleur-mal-place);
  border-radius: 50%;
}

#grille td.bien-place::after {
  background-color: var(--couleur-bien-place);
}

#grille td.non-trouve::after {
  background-color: var(--couleur-fond-grille);
}

#fin-de-partie-panel,
#victoire-panel,
#defaite-panel {
  display: none;

  font-size: 24px;
}

#input-area {
      margin: 0.5em auto 2em;
    max-width: 100%;
    width: calc(100% - 20px);
    max-width: 500px;
    background-color: #343434;
    padding: 20px;
    border-radius: 15px;
}

.input-ligne {
  display: flex;
  justify-content: space-between;
  gap: 0.25em;
  width: 100%;
}

.input-ligne + .input-ligne {
  margin-top: 0.25em;
}

.input-lettre {
  font-size: 18px;
  display: inline-block;
  border: 1px solid white;
  border-radius: 5px;
  user-select: none;
  flex-grow: 1;
  flex-shrink: 0;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: monospace;
}

.input-lettre.input-lettre-vide {
  border: 0;
  flex-grow: 2;
}

.input-lettre.input-lettre-entree {
  flex-grow: 2;
}

.input-lettre.lettre-bien-place {
  background: var(--couleur-bien-place);
}

.input-lettre.lettre-mal-place {
  background: var(--couleur-mal-place);
}

.input-lettre.lettre-non-trouve {
  color: var(--couleur-non-trouve);
  border: 1px solid var(--couleur-non-trouve);
}

.input-lettre:hover,
.input-lettre:active {
  cursor: pointer;
}

.input-lettre.input-lettre-vide:hover,
.input-lettre.input-lettre-vide:active {
  cursor: initial;
}


#regles-panel {
font-size: 18px!important;
    text-align: left!important;
    background-color: #8101ff!important;
    color: white!important;
    padding: 0 15px 0 15px!important;
    border-radius: 15px!important;
    height: 50px!important;
    overflow: hidden!important;
    border: 5px solid #8101ff!important;
    position:absolute!important;
    margin-right:25%;
    z-index:10;
}

@media (max-width: 1024px) {
  #regles-panel {
    margin-right: 25px!important;
  }
}

#regles-panel>p {
background-color:inherit;
color:inherit;
}

#regles-panel:hover,#regles-panel:active{
	height:auto!important;
    background-color: white!important;
    color: #8101ff!important;
}



#credits-panel {
  font-size: 14px;
  text-align: left;
}

#regles-panel a,
#regles-panel a:visited,
#credits-panel a,
#credits-panel a:visited,
#fin-de-partie-panel a,
#fin-de-partie-panel a:visited {
  color: white;
}

#notification {
  margin-top:50px!important;
  opacity: 0;
  transition: opacity linear 1s;
}
