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

body {
  background-color: #f6f6f6;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}

.grey {
  background-color: #2f2f2f;
}
.white {
  background-color: white;
  color: black;
}

h1 {
  text-align: center;
  margin: 2rem 0;
}

.grid {
  --width: 400px;

  max-width: var(--width);
  margin: auto;
  border-radius: 0.5rem;
  overflow: hidden;
  display: grid;
  grid: repeat(5, auto) / repeat(4, auto);
  text-align: center;
  color: white;
  font-size: 1.5rem;
  box-shadow: 0 0 11px 7px rgb(0, 0, 0, 0.1);
}

.calc-head {
  padding: 2.5rem 0;
  background-color: black;
  position: relative;
  grid-area: 1 / 1 / span 1 / span 4;

  .result-display {
    height: 3rem;
    text-align: left;
    font-size: 2rem;
    width: calc(var(--width) - 40px);
    margin: 0 20px;
    overflow: hidden;
    text-wrap: no-wrap;
  }

  .dot1,
  .dot2,
  .dot3 {
    position: absolute;
    top: 10px;
    border-radius: 50%;
    width: 0.6rem;
    aspect-ratio: 1 / 1;
  }

  .dot1 {
    left: 8px;
    background-color: #ff544e;
  }

  .dot2 {
    left: 22px;
    background-color: #efdb54;
  }

  .dot3 {
    left: 36px;
    background-color: #74c61d;
  }
}

.equals {
  background-image: linear-gradient(to right, #ff544e, #efdb54);
}

.calc-head ~ div {
  padding: 2rem;
  cursor: pointer;
}

.calc-head ~ div:active {
  background-color: grey;
}
