body {
  height: 100vh;
  display: grid;
  grid-template-columns: repeat(var(--columns), 1fr);
  grid-template-rows: repeat(var(--rows), 1fr);
  overflow: hidden;
}

div.input {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

input[type='radio'] {
  -webkit-appearance: none;
  appearance: none;
  margin: 5px;
  width: 20px;
  height: 20px;
  border: 1px solid rgb(160, 160, 160);
  border-radius: 50%;
  display: grid;
  place-content: center;
}

input[type='radio']::before {
  content: '';
  width: 0.8em;
  height: 0.8em;
  border-radius: 50%;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  background: var(--background);
}

input[type='radio']:checked::before,
input[type='radio']:hover::before {
  transform: scale(1);
}

div#settings {
  position: fixed;
  top: 30px;
  right: 30px;
  font-size: 20px;
  z-index: 100;
  background: white;
  border: solid 1.5px black;
  gap: 10px;
  display: flex;
  flex-direction: column;
  padding: 15px 20px;
  border-radius: 15px;
}

.setting {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

select,
input[type='range'] {
  width: 165px;
}

input[type='range'] {
  appearance: none;
  background: none;
  margin-left: 15px;
}

input[type='range']::-webkit-slider-thumb {
  appearance: none;
  height: 10px;
  width: 10px;
  background: black;
  cursor: pointer;
  border-radius: 50px;
}

input[type='range']::-webkit-slider-runnable-track {
  background: white;
  border-radius: 50px;
  border: solid 2px white;
  outline: 1.5px solid black;
  height: 14px;
}

select {
  padding: 5px 10px;
  border-radius: 100px;
  border: solid 1.5px black;
  font-size: 20px;
  margin-left: 15px;
  outline: none;
}
