html, body {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  padding: 0 0.5em;
}

.visualizer {
  width: 100%;
  height: 60px;
  background-color: black;
}

.buttons {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.buttons button {
  flex-grow: 1;
  padding: 1em;
  margin: 0.5em;
}

button {
  height: auto;
  border: 0;
  color: white;
}

button {
  background-color: #0ad;
}
button:hover, button:focus {
  background-color: #0ce;
}
button:active {
  background-color: #09c;
}
button.red {
  background-color: #c00;
}
button.red:hover, button.red:focus {
  background-color: #f00;
}
button.red:active {
  background-color: #a00;
}
button:disabled {
  background-color: gray;
}

.sound-clips p {
  margin: 0;
  white-space: pre-wrap;
  word-wrap: break-word;
}

.sound-clips .clip {
  margin-bottom: 0.5em;
  border-top: 1px solid gray;
  padding-top: 0.5em;
  box-sizing: border-box;
}

.sound-clips .clip p {
  width: 100%;
  display: inline-block;
}

.sound-clips .clip button {
  float: right;
  padding: 0.5em;
  margin: 0 0.5em;
}

.sound-clips .clip button.plus {
  float: none;
}
