html {
  max-width: 80ch;
}
main {
  font-size: 0.8em;
}
#chat-window {
  height: calc(100vh - 174px - 10vh);
  display: flex;
  flex-direction: column;
}
textarea {
  resize: none;
  line-height: 1.2;
  padding: 2px 4px;
  border-radius: 2px;
  font-family: 'Palatino Linotype', Lora, serif;
  font-size: 1em;
  transition: background-color 350ms, border-color 150ms;
  border: 1px solid;
  margin: 0 -5px;
  background-color: #eab77533;
  border-color: transparent;
  height: 20px; /* initial height */
  overflow: hidden;
}
textarea:focus {
  outline: none;
  background-color: transparent;
}
textarea:placeholder-shown:not(:focus) {
  background-color: #eab77555;
  border-color: #323a42;
}
.messages-scroller {
  height: 100%;
  display: flex;
  flex-direction: column-reverse;
  padding-right: 8px;
  margin-right: -5px;
  overflow: auto;
}
.messages .message {
  width: 100%;
  white-space: nowrap;
}
.messages .message.user {
  text-align: right;
}
.messages .message.user:not(:last-child, :nth-last-child(2)) {
  color: #323a42bb;
}
.error {
  color: #ad5f1e;
}
.poem {
  margin: 0 0 20px 0;
}
.poem h3 {
  margin-bottom: 10px;
}
.byline {
  font-style: italic;
  margin-bottom: 10px;
}
.poem-line:empty {
  margin-bottom: 20px;
}
.prompt-help {
  text-decoration: underline;
  text-decoration-color: #ad5f1e77;
  cursor: pointer;
}
.small-caps {
  font-variant-caps: small-caps;
}
ul.poem-list {
  padding: 0;
}
ul.poem-list li {
  list-style-type: none;
  margin-bottom: 0.25em;
}
footer img {
  max-height: 10vh;
}