body {
  margin: 0 auto;
  max-width: 800px;
  padding-top: 45px;
}

a {
  color: inherit;
  text-decoration: none;
}

.home {
  padding: 20px;
}

.header {
  align-items: center;
  background-color: #ddd;
  border-bottom: 1px solid #aaa;
  box-sizing: border-box;
  display: flex;
  flex-flow: row nowrap;
  font-size: 20px;
  font-weight: bold;
  margin: 0 auto;
  max-width: 800px;
  padding: 10px;
  position: fixed;
  top: 0;
  width: 100%;
}

@media (min-width: 801px) {
  .header {
    border-left: 1px solid #aaa;
    border-right: 1px solid #aaa;
  }
}

.header > div:nth-child(1) {
  flex-grow: 1;
}

.header > div:nth-child(2) {
  width: 25px;
}

.header > div:nth-child(3) {
  width: 80px;
}

.header > div:nth-child(4) {
  width: 100px;
}

.header > div:nth-child(5) {
  width: 25px;
}

.header svg {
  vertical-align: text-top;
}

.play_summary {
  padding: 20px;
}

.play_summary > div:nth-child(1) {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}

.scene {
  height: calc(100vh - 80px); /* scrolling at the scene div */
  overflow-y: scroll;
  padding: 20px 0;
}

.scene_direction {
  padding: 10px 20px;
}

.speech {
  padding: 10px 20px;
}

.selected_speech {
  background-color: #ddd;
}

.speaker {
  display: block;
  padding-bottom: 5px;
}
