/* Facing pages keep the printed book's original reading order. */
.story-reader{max-width:1160px;padding-bottom:45px;outline:none;scroll-margin-top:0}
.story-reader .reader-bar{position:static;margin-bottom:12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;padding:12px 15px}
.story-reader .reader-bar label{text-align:center;min-width:0}
.story-reader .reader-bar select{width:min(100%,210px);max-width:100%;font-size:14px}
.story-reader .reader-control{min-width:102px}
.reader-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 15px}
.reader-actions button{background:transparent;border:1px solid #bfa995;border-radius:25px;color:var(--ink);min-height:44px;padding:10px 18px;font:13px var(--sans)}
.reader-actions button:hover{background:#eee0ce}
.reader-position{text-align:center;font-size:12px;letter-spacing:.02em;color:var(--muted);margin:12px 0 18px;min-height:19px}
.story-cover-stage{display:flex;justify-content:center;padding:16px 20px 45px;perspective:1200px}
.story-cover-button{position:relative;display:block;width:min(100%,355px);padding:0;border:0;border-radius:3px 10px 10px 3px;background:#19374b;box-shadow:4px 2px 0 #e9dfcb,7px 3px 0 #c3b49a,12px 15px 27px #3f281b38;transform:rotate(-2deg);transition:transform .25s,box-shadow .25s;cursor:pointer}
.story-cover-button:hover{transform:rotate(0deg) translateY(-4px);box-shadow:4px 2px 0 #e9dfcb,7px 3px 0 #c3b49a,15px 20px 32px #3f281b44}
.story-cover-button:before{content:'';position:absolute;inset:0 auto 0 0;width:12px;background:linear-gradient(90deg,#0005,#fff1,transparent);z-index:1;pointer-events:none}
.story-cover-button img{display:block;width:100%;height:auto;border-radius:inherit}
.cover-open-label{position:absolute;bottom:-21px;left:50%;transform:translateX(-50%);white-space:nowrap;border-radius:30px;padding:14px 23px;background:var(--berry);color:#fffaf0;box-shadow:0 4px 12px #39241c2b;font:14px var(--sans)}
.book-viewport{background:#e9dfd0;border:1px solid #d1c0ab;border-radius:20px;padding:34px 25px 40px;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}
.book-spread{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:min(1040px,calc((100dvh - 355px)*22/17));margin:auto;perspective:2400px;isolation:isolate;box-shadow:0 3px 0 #e7dcc9,0 5px 0 #b9a48d,0 7px 0 #eee6d7,0 9px 0 #b9a48d,0 16px 28px #49322240;border-radius:5px}
.book-page{position:relative;aspect-ratio:11/17;min-width:0;background:#fffaf0;overflow:hidden}
.book-page img,.turn-page-face img{display:block;width:100%;height:100%;object-fit:contain;background:#fffaf0;user-select:none}
.book-page-left{border-radius:5px 0 0 5px}.book-page-right{border-radius:0 5px 5px 0}
.book-page:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2}
.book-page-left:after{background:linear-gradient(90deg,#00000005 0%,transparent 7%,transparent 88%,#65513d14 97%,#3c2c1d24 100%)}
.book-page-right:after{background:linear-gradient(90deg,#3c2c1d24 0%,#65513d12 3%,transparent 12%,transparent 95%,#00000005 100%)}
.book-spread:after{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:#65503b38;z-index:3;pointer-events:none}
.page-turner{position:absolute;top:0;bottom:0;width:50%;transform-style:preserve-3d;z-index:5;pointer-events:none}
.turn-forward{left:50%;transform-origin:left center}.turn-backward{left:0;transform-origin:right center}
.turn-page-face{position:absolute;inset:0;backface-visibility:hidden;background:#fffaf0;overflow:hidden;box-shadow:0 0 14px #34221726}
.turn-page-back{transform:rotateY(180deg)}
.book-endpaper{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:15%;text-align:center;background:radial-gradient(circle at 20% 25%,#c3ae7c30 0 2px,transparent 3px),radial-gradient(circle at 80% 75%,#c3ae7c30 0 2px,transparent 3px),#f6eddb;color:#6e765d}
.book-endpaper>span{font:clamp(25px,4vw,55px) Georgia;color:#ab8851}.book-endpaper strong{font:clamp(20px,3vw,42px) Georgia}.book-endpaper p{font:clamp(11px,1.4vw,18px)/1.7 Georgia}
.book-viewport.is-enlarged{max-height:80dvh;touch-action:auto}.book-viewport.is-enlarged .book-spread{width:150%;min-width:900px;max-width:none;margin:0}
.reader-instructions{text-align:center;line-height:1.7;margin-top:18px}.story-reader .reader-text>div{white-space:pre-wrap;max-width:750px;margin:auto}
@media(max-width:760px){
 .book-spread{max-width:100%}
 .story-reader .reader-bar{gap:7px;padding:9px}.story-reader .reader-control{min-width:74px;padding:10px 12px}.story-reader .reader-bar select{font-size:13px;padding:5px}
 .reader-actions{gap:7px}.reader-actions button{font-size:12px;padding:9px 14px}.story-cover-button{max-width:300px}.book-viewport{padding:18px 7px 24px;border-radius:12px}
 .reader-position{font-size:11px;margin-block:10px 15px}.book-endpaper{padding:12%;gap:9px}.book-endpaper strong{font-size:21px}.book-endpaper p{font-size:11px}
}
@media(max-width:380px){.story-reader .reader-control{min-width:65px;padding-inline:8px;font-size:11px}.story-reader .reader-bar select{font-size:12px}}
@media(prefers-reduced-motion:reduce){.story-cover-button{transition:none;transform:none}}
