* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  height: 100vh;
  background-color: aliceblue;
}

.container {
  display: flex;
  align-items: center;
  flex-direction: column;
  position: relative;
  width: 50rem;
  height: 45rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: brown;
  border-radius: 3rem;
  .title {
    color: antiquewhite;
    font-size: 4rem;
    margin: 2rem 0;
  }
  .grid-container {
    display: flex;
    flex-wrap: wrap;
    width: 85%;
    height: 58%;
    margin-bottom: 1rem;
    background-color: black;
    border: 0.2rem solid #ff9800cc;
  }
  .controls {
    display: flex;
    gap: 4rem;
    button {
      width: 5rem;
      height: 5rem;
      border-radius: 50%;
      margin-bottom: 1rem;
      border-color: crimson;
      font-weight: bold;
      color: antiquewhite;
      background-color: brown;
    }
  }
  .size-setting {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    input {
      flex: 1;
      width: 60%;
      padding: 0.5rem;
      background-color: antiquewhite;
      caret-color: brown;
      border-radius: 0.5rem;
      border-color: crimson;
      &:focus-visible {
        outline: none;
      }
    }
    .resize {
      height: 2rem;
      padding: 0.5rem;
      border-radius: 0.5rem;
      background-color: brown;
      border-color: crimson;
      color: antiquewhite;
      font-weight: bold;
    }
  }
}

@media (max-width: 767px) {
  .container {
    width: 24rem;
    .title {
      font-size: 3rem;
    }
    .controls {
      gap: 1rem;
      button {
        width: 3rem;
        height: 3rem;
        font-size: 0.6rem;
      }
    }
  }
}
