/* Original prose and forms are moved into reader pages without rewriting them. */
.reading-presentation {
  --rp-rose: #995b58;
  --rp-line: #e5d8cd;
  --rp-header-height: 86px;
  padding-bottom: calc(32px + env(safe-area-inset-bottom));
}
.reading-presentation .rp-toolbar {
  position: sticky;
  top: var(--rp-header-height);
  z-index: 19;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 16px 0 32px;
  padding: 8px 0;
  border-top: 1px solid var(--rp-line);
  border-bottom: 1px solid var(--rp-line);
  background: #fbf9f5f5;
  backdrop-filter: blur(12px);
}
.rp-modes { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; min-width: 0; }
.rp-mode-button {
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #6e5950;
  font-size: .875rem;
  line-height: 1.5;
}
.rp-mode-button[aria-pressed="true"] { background: #f0e3db; color: #633f38; font-weight: 700; }
.rp-selector-host { min-width: 0; flex: 1; }
.rp-modes { flex-shrink: 0; }
.rp-pages { min-width: 0; }
.rp-page { width: 100%; max-width: 720px; margin-inline: auto; scroll-margin-top: calc(var(--rp-header-height) + var(--rp-toolbar-height, 68px) + 16px); }
.rp-page > .reading-title { margin-top: 0; }
.rp-page > .reading-chapter { margin: 0; padding: 8px 0 34px; border: 0; border-radius: 0; background: transparent; }
.rp-page .reading-chapter > h2 { font-weight: 650; }
.rp-page .reading-subchapter > p,
.rp-page .reading-chapter > p { font-size: 1rem; line-height: 2; }
.rp-page .reading-reference-details { margin-top: 32px; }
.rp-page > .reading-end { margin-top: 40px; }
.rp-ending-title { margin: 0 0 28px; font-size: 1.625rem; font-weight: 650; }
.reading-presentation .rp-scene { width: min(100%, 460px); margin: 48px auto 54px; overflow: visible; border-radius: 0; background: transparent; }
.rp-scene > .rp-art { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: contain; }
.rp-scene figcaption {
  position: relative;
  width: fit-content;
  max-width: calc(100% - 24px);
  margin: 22px auto 0;
  padding: 19px 24px;
  color: #574139;
  border: 1px solid #dec8b9;
  border-radius: 22px 22px 22px 6px;
  background: #fffdf9;
  text-align: center;
}
.reading-presentation .rp-explanation { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 12px; margin-block: 64px; }
.rp-explanation figcaption { max-width: 100%; padding: 16px; margin: 0; border-radius: 22px 22px 6px 22px; text-align: left; }
.reading-presentation .rp-ending { width: min(100%, 320px); margin-block: 24px 40px; }
.rp-ending figcaption { border: 0; background: transparent; padding: 20px 8px; }
.rp-speaker { display: block; margin-bottom: 7px; color: #8b6153; font-size: .75rem; font-weight: 650; }
.rp-scene figcaption p { margin: 0; font-size: 1rem; line-height: 1.8; word-break: keep-all; overflow-wrap: anywhere; }
.reading-presentation[data-reading-mode="text"] .rp-scene { display: none; }
body:has(.reading-presentation) .mobile-nav { display: none; }
@media (max-width: 800px) {
  .reading-presentation { --rp-header-height: 74px; }
}
@media (max-width: 700px) {
  .reading-presentation .rp-toolbar { margin-top: 14px; gap: 2px; flex-direction: column; align-items: stretch; }
  .rp-mode-button { padding: 10px 9px; font-size: .8125rem; }
  .rp-modes { justify-content: flex-end; }
  .reading-presentation .rp-scene { margin: 38px auto 42px; }
  .rp-scene figcaption { padding: 20px; }
  .rp-explanation figcaption { padding: 14px 12px; }
  .rp-explanation figcaption p { font-size: .875rem; }
}
@media (max-width: 600px) {
  .reading-presentation { --rp-header-height: 70px; }
}
@media (max-width: 360px) {
  .rp-mode-button { padding-right: 7px; padding-left: 7px; }
  .rp-modes { gap: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .reading-presentation, .reading-presentation * { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
@media print {
  .reading-presentation { padding-bottom: 0; }
  .reading-presentation .rp-toolbar,
  .reading-presentation .rp-scene,
  .reading-presentation .rp-intro-story { display: none !important; }
  .reading-presentation .rp-page { max-width: none; }
  .reading-presentation .reading-chapter { break-inside: auto; }
  .reading-presentation .reading-subchapter > p,
  .reading-presentation .reading-chapter > p { font-size: 13px; line-height: 1.8; }
}

/* Show the stored chapter titles at their original paragraph groups. */
.reading-presentation .rp-source-title {
  margin: 28px 0 18px;
  color: #554139;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: -.02em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.reading-presentation .rg-between + .reading-subchapter { margin-top: 0; padding-top: 0; border: 0; }
.reading-presentation .reading-subchapter > .rp-source-title + p { margin-top: 0; }
@media print { .reading-presentation .rp-source-title { margin-top: 18px; font-size: 13px; } }
