/* One original button, with a viewport anchor shared by every reading state. */
:root{--read-left:8.61045vw;--read-top:46.37767vw;--read-width:21.37767vw;--read-height:3.85986vw;--reader-frame-width:100%;--reader-header-height:6.413302vw;--reader-book-height:max(80px,min(calc(var(--read-top) - var(--reader-header-height) - 72px),calc(100dvh - var(--reader-header-height) - 142px),calc((100vw - 64px)/1.404)))}
html,body{background:#fff}
.site-header.reference-header-mode,body:has(.hero-shell:not(.is-detail))>.site-header{position:fixed;left:0;top:0;right:auto;width:var(--reader-frame-width);height:var(--reader-header-height);display:block!important;aspect-ratio:auto;margin:0;background:#fff;z-index:90}
.hero-shell.is-detail{padding-top:var(--reader-header-height)}
#read-more-control{position:fixed;left:var(--read-left);top:var(--read-top);width:var(--read-width);height:var(--read-height);z-index:100;display:block;padding:0;margin:0;border:0;border-radius:calc(var(--read-width)*.01667);overflow:hidden;background:#900606;box-shadow:none;cursor:pointer;opacity:1;transform:none;transition:none;line-height:1}
#read-more-control>img{position:absolute;max-width:none;width:467.777778%;height:auto;left:-40.277778%;top:-1201.538462%;pointer-events:none}
#read-more-control:hover{filter:brightness(.96)}
#read-more-control:disabled,#read-more-control[aria-disabled=true]{opacity:1;cursor:wait;filter:none}
#read-more-control:focus-visible{outline:3px solid #b87a22;outline-offset:4px}
.reference-front::after{content:'';position:absolute;left:calc(8.610451% - 1px);top:calc(83.618844% - 1px);width:calc(21.377672% + 2px);height:calc(6.959315% + 2px);background:#fff;z-index:1;pointer-events:none}
.hero-shell,.purchase-section{background:#fff}
.hero-shell.is-detail .hero-layout{align-items:start}
.hero-shell.is-detail .hero-detail-copy{padding-top:0;max-height:none;overflow:visible;padding-right:0}
#book-preview,#cover-preview{background:#fff}
#book-preview::backdrop,#cover-preview::backdrop{background:#fff;backdrop-filter:none}
#book-preview{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:auto}
#book-preview .preview-toolbar{position:absolute;top:var(--reader-header-height);left:0;right:0;height:50px;margin:0;padding:10px 32px;background:#fff;color:#111;box-shadow:none;border-radius:0;z-index:5}
#book-preview .open-book{position:relative;display:block;width:calc(var(--reader-book-height)*1.404);height:var(--reader-book-height)!important;min-height:0!important;max-width:none;margin:calc(var(--reader-header-height) + 50px) auto 0;padding:0 0 8px;perspective:2000px;transform-origin:left center}
#book-preview .open-book{box-shadow:0 17px 38px #0002,0 4px 0 #ddd,0 7px 0 #930c14}
#book-preview .preview-spread{position:absolute;inset:0 0 8px;display:grid;grid-template-columns:1fr 1fr;height:auto;min-height:0!important}
#book-preview .scan-page{height:100%;min-height:0;background:#fff}
#book-preview .page-zoom{height:100%;background:#fff}
#book-preview .scan-page img{width:100%;height:100%;object-fit:contain}
.paper-page,.page-left,.page-right,.closing-page,.ending-spread .scan-page{background:#fff!important}
#book-preview .open-book::after{background:linear-gradient(90deg,transparent,rgba(0,0,0,.045) 30%,rgba(0,0,0,.18) 49%,rgba(0,0,0,.045) 53%,transparent)}
.turning-leaf-front::after,.turning-leaf-back::after{background:linear-gradient(90deg,transparent 65%,rgba(0,0,0,.08))}
.turning-leaf-front,.turning-leaf-back{background:#fff!important}
#cover-preview .preview-toolbar{background:#fff;color:#111;top:var(--reader-header-height)}
#cover-preview{padding-top:var(--reader-header-height)}
#cover-preview .cover-full-image{background:#fff}
#book-preview .closing-page{height:100%;min-height:0;overflow:hidden;padding:min(calc(var(--reader-book-height)*.06),42px);background:#fff}
#book-preview .closing-page h2{font-size:min(calc(var(--reader-book-height)*.055),36px);line-height:1.15;margin-bottom:min(calc(var(--reader-book-height)*.045),26px)}
#book-preview .closing-page p{font-size:min(calc(var(--reader-book-height)*.034),20px);line-height:1.55}
#book-preview .closing-page .section-label{font-size:min(calc(var(--reader-book-height)*.023),12px);margin-bottom:min(calc(var(--reader-book-height)*.045),26px);letter-spacing:.08em}
#book-preview .closing-purchase{gap:min(calc(var(--reader-book-height)*.04),24px);justify-content:center}
#book-preview .closing-purchase .button{font-size:min(calc(var(--reader-book-height)*.035),22px);padding:calc(var(--reader-book-height)*.03) calc(var(--reader-book-height)*.04);min-width:0;gap:calc(var(--reader-book-height)*.02)}
#book-preview .closing-purchase .button span{font-size:min(calc(var(--reader-book-height)*.06),24px)}
#book-preview .closing-page .full-content-note{font-size:min(calc(var(--reader-book-height)*.029),17px)}
#book-preview .closing-page .closing-signature{font-size:min(calc(var(--reader-book-height)*.04),23px)}
#book-preview .closing-page .closing-price{font-size:min(calc(var(--reader-book-height)*.048),30px);font-weight:700;color:var(--red);line-height:1.15}
.hero-shell.is-detail.is-unfolding .book-turner{transform:rotateY(360deg)}
/* The original book stays mounted in the same frame throughout its rotation. */
.hero-shell{position:relative}
.hero-shell .hero-layout{position:static}
.hero-shell:not(.is-detail) .book-stage,.hero-shell .book-stage{display:block;position:absolute;left:calc(var(--reader-frame-width)*850/1684);top:calc(var(--reader-frame-width)*140/1684);width:calc(var(--reader-frame-width)*670/1684);height:calc(var(--reader-frame-width)*794/1684);margin:0;padding:0;z-index:3;perspective:1800px}
.reference-front::before{content:'';position:absolute;left:50.475059%;top:14.989293%;width:39.786223%;height:85.010707%;background:#fff;z-index:1;pointer-events:none}
.hero-shell .book-turner{height:100%;aspect-ratio:auto;transform:rotateY(0deg);transition:transform 1.1s cubic-bezier(.25,.05,.2,1)}
.hero-shell.is-detail{min-height:calc(var(--reader-frame-width)*934/1684)}
.hero-shell.is-detail .book-turner{transform:rotateY(-180deg)}
.hero-shell.is-detail.is-unfolding .book-turner{transform:rotateY(-360deg);transition-duration:.65s}
/* Fit both complete pages above the shared control, in either window dimension. */
#book-preview{--reader-available-height:max(0px,min(calc(var(--read-top) - var(--reader-header-height) - 74px),calc(100dvh - var(--reader-header-height) - 74px)));--reader-book-height:min(var(--reader-available-height),calc((var(--reader-frame-width) - 48px)/1.404));--reader-book-width:calc(var(--reader-book-height)*1.404);overflow:hidden}
.reader-pages-viewport{position:absolute;left:0;right:0;top:calc(var(--reader-header-height) + 50px);height:calc(var(--reader-book-height) + 24px);padding:0 24px;overflow:hidden;background:#fff;outline-offset:-3px}
.reader-fit-hint{font-size:12px;color:#666}
#book-preview .open-book{width:var(--reader-book-width);height:var(--reader-book-height)!important;margin:0 auto;transform-origin:right center}
.is-opening .open-book{animation:open-right-to-left .8s cubic-bezier(.35,.03,.2,1);transform-origin:right center}
@keyframes open-right-to-left{from{opacity:.5;transform:perspective(2000px) rotateY(85deg)}to{opacity:1;transform:perspective(2000px) rotateY(0deg)}}
.turning-leaf{left:50%;transform-origin:left center}
.turning-leaf.is-flipping{animation-name:turn-right-to-left}
@keyframes turn-right-to-left{0%{transform:rotateY(0deg)}42%{transform:rotateY(-78deg)}58%{transform:rotateY(-105deg)}100%{transform:rotateY(-180deg)}}
@media(prefers-reduced-motion:reduce){.is-opening .open-book,.turning-leaf.is-flipping{animation:none!important}.hero-shell .book-turner{transition:none!important}}
@media(max-width:700px){.reader-fit-hint{display:none}}
