html, body { overflow-x:hidden}
html { margin:0; padding:0; }
* { margin:0; padding:0}
a{text-decoration:none;color:#63a0e9}
::-moz-selection { background: #f49914; color:#fff }
::selection { background: #f49914; color:#fff }
sup { font-family:Arial, sans-serif }

.container {z-index:1;max-width:1160px; position:relative; margin:0 auto; padding:0}
img.resp {position: absolute;top: 50% !important;left: 50% !important;float: left; opacity: 0;filter: alpha(opacity=0)}

header, footer, nav.main, div.line {float:left;width:100%;clear:both}

body {font-family: "Roboto", Ubuntu, Arial, Helvetica, sans-serif;font-size: 32px;height: 100vh;text-align: center;color: white;background-color: #2b2b2b;}

:root {
  --taille-cellule: 48px;
  --epaisseur-bordure-cellule: 1px;
  --epaisseur-padding-cellule: 2px;
  --couleur-red: #e7002a;
  --couleur-yellow: #ffbd00;
  --couleur-fond-grille: #0077c7;
  --couleur-empty: rgb(112, 112, 112);
  --couleur-icone: rgb(200, 200, 200);
}

#contenu {
    display: flex;
    flex-direction: column;
    margin-left: 25%;
    margin-right: 25%;
    justify-content: space-between;
    height: 100%;
}

#grille {
    margin-left: auto;
    margin-right: auto;
    background-color: var(--couleur-fond-grille);
	min-height: calc(6 * var(--taille-cellule) + 12 * var(--epaisseur-bordure-cellule));
}

#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;
	text-transform: uppercase;
}

#grille td.result::after {
  width: calc(var(--taille-cellule));
  height: calc(var(--taille-cellule));
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  content: " ";
}

#grille td.yellow::after {
  background-color: var(--couleur-yellow);
  border-radius: 50%;
}

#grille td.red::after {
  background-color: var(--couleur-red);
}

#grille td.empty::after {
  background-color: var(--couleur-fond-grille);
}


#input-area {
  margin: 0.5em auto 2em;
  max-width: 100%;
  width: calc(100% - 20px);
  max-width: 500px;
}

.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.red {
  background: var(--couleur-red);
}

.input-lettre.yellow {
  background: var(--couleur-yellow);
}

.input-lettre.empty {
  color: var(--couleur-empty);
  border: 1px solid var(--couleur-empty);
}

.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: 14px;
  text-align: left;
}

#notification {
    opacity: 0;
    transition: opacity linear 1s;
}
#notification.show { opacity:1}