* {
  margin: 0;
  padding: 0;
  outline: none;
  border: none;
  box-sizing: border-box;
  font-size: inherit;
  font-weight: inherit;
}

main {
  height: 100vh;
  background-color: hsl(40, 10%, 95%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: sans-serif;
}

.grid {
  background-color: #bbb8b0;
  width: 80vmin;
  height: 80vmin;
  display: grid;
  grid-template-rows: repeat(4, 1fr);
  grid-template-columns:  repeat(4, 1fr);
  grid-gap: 0.5rem;
  padding: 0.5rem;
  border-radius: 0.2rem;
}

.element {
  background-color: hsl(35, 10%, 80%);
  color: #202020;
    font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0.1rem;
}

.element-2 { background-color: hsl(40, 50%, 95%); font-size: 300%; }
.element-4 { background-color: hsl(30, 50%, 90%); font-size: 300%; }
.element-8 { background-color: hsl(20, 80%, 80%); font-size: 300%; }
.element-16 { background-color: hsl(15, 95%, 75%); font-size: 275%; }
.element-32 { background-color: hsl(10, 100%, 70%); font-size: 275%; }
.element-64 { background-color: hsl(8, 100%, 60%); font-size: 275%; }
.element-128 { background-color: hsl(45, 100%, 85%); font-size: 250%; }
.element-256 { background-color: hsl(45, 100%, 85%); font-size: 250%; }
.element-512 { background-color: hsl(45, 100%, 85%); font-size: 250%; }
.element-1024 { background-color: hsl(50, 100%, 75%); font-size: 200%; }