/* V8 stable reading: fixed flat pages replace the unreliable curved 3D interior. */
.cover-touch-target{position:absolute;inset:0;z-index:5;background:transparent;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.cover-touch-target:focus-visible{outline:3px solid #d6bce1;outline-offset:-9px}
.reader-dialog,.reader-page,.book-reading-stage{filter:none!important}
.reader-dialog{background:#17131c}
.reader-shell,.reader-workspace,.reading-area{min-height:0}
.reader-topbar{padding:9px max(12px,env(safe-area-inset-left));padding-top:max(9px,env(safe-area-inset-top));min-height:60px}
.reader-page{background:#fff;box-shadow:none!important}
.reader-page img{width:100%;height:100%;object-fit:contain;image-rendering:auto;filter:none!important;transform:none!important}
.reader-page.right{box-shadow:7px 11px 24px #0005!important}
.reader-page.left{box-shadow:-7px 11px 24px #0005!important}
.book-reading-stage{filter:none!important;max-width:1050px;max-height:calc(100% - 132px);box-shadow:none;perspective:1600px;align-items:center}
.book-reading-stage:after{content:"";position:absolute;inset:auto 5% -8px 5%;height:14px;background:#0005;filter:blur(14px);z-index:-1;pointer-events:none}
.spine-line{width:2px;background:linear-gradient(90deg,#4d435133,#0004,#65576b33);z-index:6}
.reading-area{background:radial-gradient(ellipse at 50% 45%,#332a39 0%,#17131d 72%,#100d14 100%);padding:12px 18px 8px}
.reader-hint{min-height:15px}
.page-turn{box-shadow:none;will-change:transform,opacity}
.page-turn.active{transition:transform .45s cubic-bezier(.22,.61,.36,1),opacity .45s ease}
/* Desk flip does not pull the book out of alignment. */
.page-turn.forward.active{transform:rotateY(-178deg)}
.page-turn.backward.active{transform:rotateY(0)}
.reader-page.right.cover-only{width:50%;margin:auto}
.zoom-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;padding:0;border:0;background:#16121b;color:#f7ebfa}
.zoom-dialog::backdrop{background:#000d}
.zoom-head{height:62px;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;font-size:14px;letter-spacing:.03em;background:#211927;position:sticky;top:0;z-index:10}
.zoom-head button{color:#fff;background:#463753;border:1px solid #ffffff33;padding:11px 14px;border-radius:7px}
.zoom-scroll{overflow:auto;overscroll-behavior:contain;height:calc(100% - 62px);display:block;text-align:center;padding:20px}
.zoom-scroll img{display:block;max-width:none;width:min(1100px,100%);height:auto;margin:0 auto;box-shadow:0 15px 35px #0009;background:white}
@media(max-width:780px){
 .reader-topbar{min-height:56px}
 .reader-title-group strong{font-size:10px;letter-spacing:.035em}
 .reader-overline{font-size:7px;letter-spacing:.1em}
 .reading-area{padding:7px 7px 6px}
 .book-reading-stage{width:min(100%,460px);height:auto;max-width:460px;max-height:calc(100% - 126px);aspect-ratio:419.56/595.3}
 .reader-page.right{width:100%}
 .reader-page.cover-only{width:100%!important}
 .reader-page.left{display:none}
 .page-turn{left:0;width:100%;opacity:1;transform:translate3d(0,0,0) rotateY(0deg)}
 .page-turn.forward.active{transform:translate3d(-9%,0,0) rotateY(-24deg);opacity:0}
 .page-turn.backward{left:0;transform:translate3d(0,0,0) rotateY(0deg);transform-origin:left center}
 .page-turn.backward.active{transform:translate3d(9%,0,0) rotateY(24deg);opacity:0}
 .reading-meta{font-size:9px}
 .reader-hint{font-size:9px;margin:4px 0}
 .reader-controls{min-height:69px}
 .reader-top-actions .zoom-button{padding:0 8px}
 .zoom-scroll img{width:max(100%,880px)}
}
@media(max-height:650px){.reader-hint{display:none}.reader-topbar{min-height:48px}.reader-controls{min-height:55px}}
@media(prefers-reduced-motion:reduce){.page-turn.active{transition:none!important}}

/* V9 — vector-sharp printed pages and clear, stable reading */
.reader-page>img,.turn-face img,.zoom-scroll img {filter:none!important;image-rendering:auto;backface-visibility:visible}
.book-reading-stage {filter:none!important;transform:none!important}
.reader-page {will-change:auto}
.reader-controls button:disabled {opacity:.34;cursor:not-allowed}
.book-toolbar .scene-open{max-width:340px;width:min(100%,340px);min-height:52px;box-shadow:0 8px 20px #0003}
.book-toolbar{margin:4px auto 0}
.sub-toolbar{justify-content:space-between;max-width:340px}
.one-book::before,.one-book::after{opacity:.19;filter:none} /* no haze over the cover */
@media(max-width:780px){
  .book-reading-stage{filter:none!important}
  .reader-page.right{box-shadow:0 8px 25px #0005!important}
  .reader-page>img,.turn-face img{object-fit:contain}
  .poster-3d{transform:perspective(1300px) rotateY(-4deg)!important;box-shadow:12px 22px 60px #000b}
  .reader-hint{letter-spacing:0}
  .zoom-scroll img{width:max(100%,1080px)}
}
