body {
  background-color: #222222;
  color: #ffffff;
  overflow: hidden;
  margin: 0;
}

.container {
  display: flex;
  flex-direction: column;
  height: 100vh;
}

.progress-area {
  font-size: 1.5rem;
  font-family: 'EB Garamond', serif;
  display: flex;
  align-items: center;
  padding: 0.5em;
  height: 2rem;
}

#chapter-count {
  color: #a6a6a6;
  min-width: 4em;
  text-align: center;
  font-weight: bold;
}

#progress-bar {
  flex-grow: 1;
  height: 80%;
  border: 2px #a6a6a6 solid;
  margin: 0 0.5em;
}

#progress-bar-fill {
  height: 100%;
  background-color: #a6a6a6;
  transition: width;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}

#clock {
  color: #a6a6a6;
  min-width: 4em;
  text-align: center;
  font-weight: bold;
}

.main-text {
  font-size: 2.5rem;
  font-family: 'EB Garamond', serif;
  overflow: hidden;
  padding: 0 2em;
  flex-grow: 1;
}

.main-text .book-title {
  font-size: 5.5rem;
  text-align: center;
  margin-bottom: 1em;
  margin-top: 1em;
  filter: brightness(85%);
}

.main-text .book-subtitle {
  font-size: 3.5rem;
  text-align: center;
  margin-bottom: 1em;
  margin-top: -1.5em;
  filter: brightness(85%);
}

.main-text .book-author {
  font-size: 3.5rem;
  text-align: center;
  margin-bottom: 2em;
  filter: brightness(85%);
}

.main-text .chapter > .title {
  font-size: 3.5rem;
  text-align: center;
  margin-bottom: 0.75em;
  margin-top: 0.75em;
}

.main-text .illustration {
  text-align: center;
}

.main-text .illustration img {
  max-width: 100%;
}

.main-text .chapter > .title:has(.sentence.current-sentence) {
  filter: unset;
}

.main-text .title .sentence.current-sentence {
  text-shadow: 0 0 4px #dddddd;
  color: #ffffff;
  filter: brightness(100%);
}

.main-text .epigraph {
  font-style: italic;
  text-align: right;
  margin-left: 2em;
}

.main-text .paragraph {
  margin: 0;
  transition-property: color, filter;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  color: #ffffff;
}

.main-text .paragraph .sentence {
  filter: brightness(40%);
}

.main-text .paragraph + .paragraph {
  margin-top: 0.25em;
  text-indent: 2em;
}

.main-text .section + .section {
  margin-top: 1.5em;
}

.main-text .chapter + .chapter {
  margin-top: 100vh;
}

.main-text .chapter:last-child {
  margin-bottom: 100vh;
}

.main-text .paragraph:has(.current-sentence) .sentence {
  filter: brightness(65%);
}

.main-text .paragraph .sentence {
  transition-property: color, text-shadow, filter;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}

.main-text .paragraph .sentence.current-sentence {
  text-shadow: 0 0 4px #dddddd;
  filter: brightness(100%);
}

.main-text [data-em='true'] {
  font-style: italic;
}

.page {
  display: flex;
  flex-direction: row;
}

.sidebar {
  display: none;
  flex-direction: column;
  width: 480px;
  min-width: 480px;
  border-left: 2px solid #a6a6a6;
}

.streamlabs-alerts {
  height: 260px;
  width: 100%;
}

.streamlabs-description {
  width: 100%;
  text-align: center;
  font-family: 'EB Garamond', serif;
  font-size: 2rem;
  padding-top: 0.75em;
  padding-bottom: 1em;
  border-top: 2px solid #a6a6a6;
  border-bottom: 2px solid #a6a6a6;
}

.description-name {
  font-size: 3rem;
}

.description-note {
  font-size: smaller;
}

.streamlabs-chat {
  flex-grow: 1;
  width: 100%;
}