/* One book surface, with a continuous reading order for long chapters. */
.book {
  border-left: 5px solid #8b5963;
  box-shadow: 3px 3px 0 #e5d8c2, 5px 5px 0 #f6eddd, 7px 7px 0 #ccbaa0, 0 22px 55px #57453126;
}
.book::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 14px; background: linear-gradient(90deg, #836c4926, transparent); z-index: 2; pointer-events: none; }
.reading-tools { border-bottom: 1px solid #bda98d; box-shadow: 0 4px 12px #493c350d; }
.reader-chapters { border: 0; border-right: 1px solid var(--line); border-radius: 0; }
.ribbon { background: repeating-linear-gradient(90deg, #9d6470 0 1px, #ae7881 1px 3px); color: #fff6e8; }
.primary-button { box-shadow: inset 0 0 0 3px #ffffff16; }
.poem-title-block, .poem-heading-wrap { text-align: center; }
.poem-title-block h2, .poem-heading-wrap h2 { text-wrap: balance; }
.poem-title-block h2 { margin-bottom: 16px; }
.poem {
  max-width: 700px;
  margin: 0 auto;
  padding: 0 18px;
  font-size: 20px;
  line-height: 1.8;
}
.poem .stanza {
  max-width: none;
  margin: 0 0 1.35em;
  font-family: var(--body);
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  color: var(--ink);
}
.poem .stanza:last-child { margin-bottom: 0; }
.poem-boundary {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 700px;
  margin: 28px auto;
  padding: 0 36px;
  color: var(--muted);
  font-family: var(--ui);
  font-size: 12px;
  line-height: 1.5;
}
.poem-boundary::after { content: ''; height: 1px; flex: 1; background: var(--line); }
.poem-boundary::before { content: ''; height: 1px; flex: 1; background: var(--line); }
.poem-end { margin-top: 40px; margin-bottom: 20px; }
.poem-title-block, .poem-heading-wrap { max-width: 650px; margin-inline: auto; padding: 32px 40px 0; }
.poem-heading-wrap { display: block; border-bottom: 0; }
.poem-heading-wrap h2 { margin: 0; font-family: var(--heading); font-size: 44px; line-height: 1.15; letter-spacing: 0; text-transform: none; color: var(--ink); }
.poem-navigation { max-width: 650px; margin: auto; padding: 20px 40px 32px; align-items: center; }
.poem-navigation .primary-button { margin-left: auto; }
@media (min-width: 980px) {
  body:has(.chapter-poems, .chapter-rei, .chapter-questions) :is(.book, .reading-tools) { max-width: 940px; }
  :is(.chapter-poems, .chapter-rei, .chapter-questions) > .sheet { box-shadow: inset 14px 0 23px -19px #63503b50; }
  .chapter-poems > .left-sheet { padding: 84px 60px 36px; }
  .chapter-poems .left-content { gap: 40px; }
  .anthology-intro h1 { font-size: 58px; }
  .chapter-poems .poem-index a { font-size: 24px; }
  .chapter-rei h1 { font-size: 56px; }
  .rei-title { padding-inline: 50px 20px; }
  .rei-companion { padding-inline: 30px 50px; }
  .chapter-questions { display: block; }
  .chapter-questions::after { display: none; }
  .chapter-questions > .left-sheet { padding: 86px 90px 30px; }
  .chapter-questions .left-content { position: static; }
  .chapter-questions h1 { font-size: 58px; max-width: 650px; }
  .chapter-questions .prose, .questions-invitation { max-width: 650px; }
  .chapter-questions .group-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
  .chapter-questions > .right-sheet { padding: 32px 90px 48px; border-top: 1px solid var(--line); }
  .question-toggle { font-size: 30px; line-height: 1.3; }
  .answer { padding-left: 26px; }
  .answer-label { font-size: 11px; }
  .answer-text { font-size: 19px; line-height: 1.85; max-width: 62ch; }
}
@media (max-width: 679px) {
  .book { margin-inline: 8px 12px; border-left-width: 3px; }
  .masthead { padding: 15px 22px; }
  .masthead-note { font-size: 15px; }
  .reading-tools { margin-inline: 8px 12px; margin-bottom: 15px; }
  .reader-tool { font-size: 12px; }
  .reader-location { font-size: 11px; }
  .bookmark { left: 22px; }
  .bookmark-label { font-family: var(--hand); font-size: 21px; letter-spacing: 0; }
  .chapter-eyebrow { font-size: 10px; letter-spacing: .09em; }
  .chapter-hello h1 { font-size: 72px; }
  .greeting { margin-top: 24px; }
  .prose, .answer-text { font-size: 18px; line-height: 1.75; }
  .greeting p:last-child { font-size: 17px; }
  .welcome-actions { margin-top: 24px; }
  .welcome-actions .primary-button { font-family: var(--heading); font-size: 23px; padding-block: 8px; }
  .chapter-poems > .left-sheet { padding-bottom: 28px; }
  .poem { padding-inline: 9px; font-size: 18px; line-height: 1.75; }
  .poem-boundary { padding-inline: 26px; font-size: 11px; margin-block: 24px; }
  .poem-title-block, .poem-heading-wrap { padding-inline: 26px; }
  .poem-title-block h2 { font-size: 40px; margin-top: 14px; }
  .poem-heading-wrap h2 { font-size: 36px; }
  .poem-navigation { padding: 8px 26px 24px; gap: 14px; }
  .poem-navigation .primary-button { width: 100%; min-height: 52px; font-family: var(--heading); font-size: 24px; }
  .poem-navigation .text-link { min-height: 44px; }
  .page-nav { border-top: 3px double var(--line); }
  .page-nav a { font-family: var(--heading); font-size: 20px; }
  .page-nav a small { font-family: var(--ui); font-size: 11px; }
  .page-count { font-family: var(--heading); font-size: 17px; }
  .answer { padding-left: 12px; }
  .answer-label { font-size: 10px; }
  .answer-discussion { padding: 18px; }
  .answer-discussion-actions > :is(button,a) { width: 100%; }
  .question-toggle { font-size: 28px; }
  .rei-companion .pet-status { min-height: 3.4em; }
}
@media (max-width: 360px) {
  .masthead { padding-inline: 18px; }
  .masthead-note { font-size: 13px; }
  .book-name { font-size: 26px; }
  .poem { font-size: 17px; padding-inline: 7px; }
  .poem-boundary { padding-inline: 23px; font-size: 10px; }
  .poem-title-block, .poem-heading-wrap, .poem-navigation { padding-inline: 23px; }
  .poem-title-block h2 { font-size: 35px; }
  .reader-tool { font-size: 11px; }
  .reader-location { font-size: 10px; }
  .answer-text { font-size: 17px; }
}
