html,
body {
  height: 100%;
}
body {
  background: #141414;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Courier New', Courier, monospace;
}
#newGame {
  position: absolute;
  top: 20px;
  left: 20px;
  background: black;
  color: white;
  border: 2px solid white;
  padding: 10px 20px;
  text-transform: uppercase;
  font-weight: bold;
  border-radius: 10px;
  transition: color 0.2s, background-color 0.2s;
}
#newGame:hover {
  background-color: green;
  cursor: pointer;
  color: white;
}
#square {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  width: 70vmin;
  height: 70vmin;
  gap: 1.5vmin;
  padding: 1.5vmin;
  border: 1vmin solid grey;
  border-radius: 5%;
  background: #141414;
  font-size: 10vmin;
}
#square b {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10%;
  color: black;
  background-color: white;
  transition: transform 0.1s;
}
#square b:empty {
  visibility: hidden;
}
#square b:hover {
  background-color: #4ecd9e;
  cursor: pointer;
}
#square b.--up {
  transform: translateY(-105%);
}
#square b.--down {
  transform: translateY(105%);
}
#square b.--left {
  transform: translateX(-105%);
}
#square b.--right {
  transform: translateX(105%);
}
