html {
  background-image: linear-gradient(to right, #2e3192, #1bffff);
}

html {
  font-size: 10px;
}

body,
html {
  margin: 0;
  padding: 0;
  font-family: sans-serif;
}

.gradient-65 {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(to bottom, #d4145a, #fbb03b);
  z-index: -1;
  transition: opacity 0.3s linear;
  opacity: 0;
}

.gradient-83 {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(to left, #662d8c, #ed1e79);
  z-index: -1;
  transition: opacity 0.3s linear;
  opacity: 0;
}

.gradient-68 {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(to top, #02aabd, #00cdac);
  z-index: -1;
  transition: opacity 0.5s linear;
  opacity: 0;
}

.gradient-70 {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(to top left, #ea8d8d, #a890fe);
  z-index: -1;
  transition: opacity 0.5s linear;
  opacity: 0;
}
.gradient-71 {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(to top right, #d8b5ff, #1eae98);
  z-index: -1;
  transition: opacity 0.5s linear;
  opacity: 0;
}
.gradient-72 {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(to bottom left, #bff098, #6fd6ff);
  z-index: -1;
  transition: opacity 0.5s linear;
  opacity: 0;
}
.gradient-74 {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.gradient-75 {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(to bottom right, #764ba2, #667eea);
  z-index: -1;
  transition: opacity 0.5s linear;
  opacity: 0;
}
.gradient-76 {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(to left, #a1c4fd, #c2e9fb);
  z-index: -1;
  transition: opacity 0.5s linear;
  opacity: 0;
}
.gradient-192 {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(to right, #09203f, #537895);
  z-index: -1;
  transition: opacity 0.5s linear;
  opacity: 0;
}

.keys {
  display: flex;
  flex: 1;
  min-height: 100vh;
  align-items: center;
  justify-content: center;
}

.key {
  border: 0.4rem solid gray;
  border-radius: 0.5rem;
  margin: 1rem;
  font-size: 1rem;
  padding: 1rem 0.5rem;
  transition: all 0.07s ease;
  width: 10rem;
  text-align: center;
  color: white;
  background-color: rgba(0, 0, 0, 0.4);
  text-shadow: 0 0 0.5rem black;
}

.playing {
  transform: scale(1.1);
  border-color: #ffc600;
  box-shadow: 0 0 1rem #ffc600;
}

kbd {
  display: block;
  font-size: 4rem;
}

.sound {
  font-size: 1.2rem;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  color: #ffc600;
}
