body {
  height: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
}

#grid {
  height: calc(min(100vw, 100vh - 100px));
  width: calc(min(100vw, 100vh - 100px));
  margin: auto auto;
}

td {
  width: 25%;
  height: 25%;
  text-align: center;
  vertical-align: middle;
  border-radius: 25px;
  border: 4px solid #000;
  font-size: 15vmin;
  font-family: sans;
}

button#shuffle {
  margin: auto auto;
  display: block;
  width: calc(100vmin - 100px);
  height: 100px;
  font-size: 5vmin;
  background-color: #ccc;
  border: none;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
}
