.epub-reader-modal { position: fixed; top: 1rem !important; bottom: 1rem; left: 50% !important; width: min(1200px, calc(100vw - 2rem)); height: auto; max-width: none !important; max-height: none; margin: 0; transform: translateX(-50%) !important; display: flex; flex-direction: column; overflow: hidden; box-sizing: border-box; background: #fffdf7; }
.epub-reader button.is-bookmarked { border-color: #e9b8c6; background: #fde7ed; color: #8f3f57; box-shadow: 0 1px 0 rgba(143, 63, 87, .08); }
.epub-reader button.is-bookmarked:hover { background: #fbdbe5; }
.epub-reader.is-dark button.is-bookmarked { border-color: #8f5365; background: #4b2f3a; color: #ffd9e4; }
.epub-reader button:disabled { cursor: not-allowed; opacity: .5; }
.epub-reader button.is-ready { border-color: #e5b95b; background: #fff4c4; color: #72530b; }
.epub-reader__stage > .epub-container { height: 100% !important; }
.epub-reader-modal > .modal-header { flex: 0 0 auto; }.epub-reader-modal > #reader-body { display: block; flex: 1 1 auto; min-height: 0; height: auto !important; padding: 0 !important; overflow: hidden; }.epub-reader { height: 100%; display: flex; flex-direction: column; color: #1f2937; background: #fffdf7; }.epub-reader.is-dark { color: #e5e7eb; background: #111827; }.epub-reader__toolbar, .epub-reader__footer { display: flex; flex: 0 0 auto; align-items: center; gap: .75rem; padding: .75rem 1rem; border-bottom: 1px solid #e5e7eb; }.epub-reader__footer { justify-content: space-between; border-top: 1px solid #e5e7eb; border-bottom: 0; }.epub-reader.is-dark .epub-reader__toolbar, .epub-reader.is-dark .epub-reader__footer { border-color: #374151; }.epub-reader__book { display: grid; flex: 1; min-width: 0; gap: .15rem; }.epub-reader__book strong, .epub-reader__book span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.epub-reader__book span, [data-reader-status] { color: #6b7280; font-size: .875rem; }.epub-reader__actions { display: flex; gap: .35rem; }.epub-reader button { padding: .45rem .65rem; border: 1px solid #d1d5db; border-radius: .45rem; color: inherit; background: transparent; cursor: pointer; }.epub-reader button:hover { background: rgba(79, 172, 254, .13); }.epub-reader__main { position: relative; flex: 1 1 auto; min-height: 0; background: #fffdf7; }.epub-reader.is-dark .epub-reader__main { background: #111827; }.epub-reader__stage { width: 100%; height: 100%; min-height: 0; overflow: hidden; background: #fffdf7; }.epub-reader.is-dark .epub-reader__stage { background: #111827; }.epub-reader__stage iframe { background: #fffdf7; }.epub-reader.is-dark .epub-reader__stage iframe { background: #111827; }.epub-reader__loading { padding: 2rem; text-align: center; }.epub-reader__toc { position: absolute; z-index: 2; inset: 0 auto 0 0; width: min(340px, 84%); overflow: auto; padding: .75rem; border-right: 1px solid #d1d5db; background: inherit; box-shadow: 8px 0 18px rgba(0, 0, 0, .15); }.epub-reader__toc button { display: block; width: 100%; margin-bottom: .35rem; text-align: left; }.epub-reader__pdf { width: 100%; height: 100%; border: 0; }.epub-reader__text { height: 100%; margin: 0; padding: 2rem; box-sizing: border-box; overflow-y: auto; font-size: var(--reader-font-size, 18px); line-height: 1.75; white-space: pre-wrap; }
@media (max-width: 640px) { .epub-reader-modal { top: 0 !important; bottom: 0; width: 100vw; border-radius: 0; }.epub-reader__toolbar { align-items: flex-start; }.epub-reader__actions { flex-wrap: wrap; justify-content: flex-end; }.epub-reader__footer { padding: .65rem; }.epub-reader__text { padding: 1.25rem; } }
