#indigo-book { width: min(1120px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); overflow: hidden; background: #35275d; border-radius: 8px 15px 15px 8px; }
#indigo-book .story-dialog-bar { min-height: 48px; padding: 6px 18px; background: #29213f; }
#indigo-book .indigo-stage { min-height: 0; padding: 14px 18px 10px; }
#indigo-book .indigo-pagination { margin: 0; padding: 10px 2px 0; border: 0; color: #fff8e8; font-size: 14px; gap: 8px; flex-wrap: nowrap; }
#indigo-book .indigo-pagination button { min-height: 40px; background: #fff8e8; color: #35275d; padding: 7px 14px; }
#indigo-book .indigo-opening-cover { inset: 14px 18px 62px; }
.reader-spread { height: min(640px, calc(100dvh - 170px)); display: grid; grid-template-columns: 1fr 1fr; perspective: 1800px; border-radius: 3px 8px 8px 3px; box-shadow: 3px 3px 0 #d4c7ac, 6px 6px 0 #f1e4c8, 8px 9px 14px #130e2280; background: #fff8e8; }
.reader-leaf { position: relative; box-sizing: border-box; border-right: 1px solid transparent; min-width: 0; height: 100%; padding: 26px 30px 36px; background: #fff8e8; color: #302b38; transform-origin: left center; backface-visibility: hidden; overflow: hidden; }
.reader-leaf:nth-child(odd) { background: linear-gradient(90deg, #fff8e8 94%, #dfd2b8); border-right: 1px solid #cbbfA5; }
.reader-leaf:nth-child(even) { background: linear-gradient(90deg, #e9ddc5, #fff8e8 6%); }
.reader-leaf .reader-content { height: 100%; overflow: hidden; font-family: 'Source Sans 3', sans-serif; font-size: 17px; line-height: 1.55; overflow-wrap: anywhere; }
.reader-content p { font: inherit; white-space: pre-line; margin: 0 0 12px; }
.reader-content h2 { font-family: Chewy, sans-serif; font-size: 27px; line-height: 1.15; margin: 0 0 18px; color: #392b56; }
.reader-running-title { font-size: 11px !important; letter-spacing: .06em; color: #786b80; margin-bottom: 14px !important; }
.reader-number { position: absolute; bottom: 10px; left: 0; right: 0; text-align: center; font: 13px 'Source Sans 3', sans-serif; color: #786b80; }
.reader-art .reader-content { display: flex; flex-direction: column; justify-content: center; }
.reader-art figure { margin: 0; }
.reader-art img { display: block; width: 100%; height: auto !important; max-height: min(470px, calc(100dvh - 280px)); object-fit: contain; }
.reader-art figcaption { font-size: 13px; line-height: 1.4; margin-top: 12px; text-align: center; }
.reader-measure { position: absolute; visibility: hidden; pointer-events: none; top: 0; left: 0; }
@media (max-width: 720px) {
  #indigo-book { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  #indigo-book .indigo-stage { padding: 10px 10px 8px; }
  #indigo-book .story-dialog-bar { padding: 6px 12px; font-size: 13px; }
  #indigo-book .indigo-opening-cover { inset: 10px 10px 60px; }
  .reader-spread { grid-template-columns: 1fr; height: min(680px, calc(100dvh - 154px)); }
  .reader-leaf { padding: 22px 24px 34px; }
  .reader-leaf .reader-content { font-size: 16px; line-height: 1.55; }
  .reader-content h2 { font-size: 25px; }
  #indigo-book .indigo-pagination button { padding: 7px 10px; }
}
@media (max-height: 450px) { .reader-leaf { padding: 12px 18px 26px; } .reader-content h2 { font-size: 20px; margin-bottom: 8px; } .reader-running-title { margin-bottom: 6px !important; } }
