/* CSS reset */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Style the body */
.main {
  background-color: #7cc798;
  margin: 0;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

/* Style the piano to use flex box */
.piano {
  display: flex;
}

.song {
  display: block;
  margin-bottom: 1rem;
}

.key {
  /* CSS variables */
  height: calc(var(--width) * 4);
  width: var(--width);
}

.white {
  --width: 100px;
  background-color: white;
  border: 1px solid #333;
}

.black {
  --width: 60px;
  background-color: black;
  margin-left: calc(var(--width) /-2);
  margin-right: calc(var(--width) /-2);
  z-index: 2;
}

.white.active {
  background-color: #ccc;
}

.black.active {
  background-color: #333;
}