*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#efeeeb;color:#183c55;font-family:Arial,sans-serif}.cover-stage{position:relative;width:100%;height:100vh;height:100svh;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#faf9f7 0%,#efeeeb 75%)}#book-position{position:absolute;height:min(74svh,750px);aspect-ratio:707/1000;max-width:calc(100vw - 76px);top:48%;left:50%;transform:translate(-50%,-50%);pointer-events:none}
#book-shell{position:absolute;z-index:3;transform-origin:center center}#flipbook{position:relative}.book-page{overflow:hidden;background:#faf9f6}.empty-page{background:transparent!important;pointer-events:none}.contents-page{background:#fff;pointer-events:none}.contents-page iframe{display:block;border:0;max-width:none;transform-origin:0 0;pointer-events:none}.cover-page{border-radius:3px 5px 5px 3px;box-shadow:inset 0 0 0 1px #fff9}.cover-page img{display:block;width:100%;height:100%}.cover-page:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(90deg,#162c3918 0,#50606b10 .5%,#fff6 1%,#ffffff10 1.6%,#47596710 2%,transparent 2.6%);box-shadow:inset 0 1px 0 #fff,inset -1px 0 0 #b1b2b370}.inside-cover{background:linear-gradient(90deg,#faf9f6 80%,#e3e0d9 100%)}
#book-depth{position:absolute;z-index:0;pointer-events:none;border-radius:2px 3px 3px 2px;background:#eeede8;box-shadow:1px 1px 0 #c6c7c1,2px 2px 0 #faf9f5,3px 3px 0 #c9cac3,4px 4px 0 #f4f3ed,5px 5px 0 #d0d1ca,8px 10px 18px #2436470f,13px 18px 30px #2436470c}#book-depth:before{content:'';position:absolute;left:-3px;top:1px;bottom:-4px;width:5px;border-radius:2px 0 0 2px;background:linear-gradient(90deg,#b9c0c1,#eceeeb 65%,#d2d6d4)}
#page-window{position:absolute;z-index:1;background:white;overflow:hidden;pointer-events:none;transform-origin:0 0}#page-window:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 10px 0 18px -12px #142f4580;transition:opacity .5s}#page-window.zooming{z-index:10}#page-window.zooming:after{opacity:0}#page-window iframe{display:block;border:0;transform-origin:0 0;pointer-events:none;background:#fff;max-width:none}
.continue-control{position:absolute;z-index:5;width:110px;height:110px;left:calc(50% + 230px);top:calc(50% + 180px);border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;color:#183c55;font-size:13px;line-height:1.5;letter-spacing:.3px;background:#f7f6f2e8;transition:background .2s,color .2s,opacity .25s;box-shadow:0 6px 20px #233a4b06}.continue-control:hover{background:#fff;color:#b73935}.continue-control:focus-visible{outline:2px solid #b73935;outline-offset:7px}.control-ring{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke-width:.8}.ring-track{stroke:#183c552b}.ring-moving{stroke:#183c55;stroke-dasharray:100 258;stroke-linecap:round;transform-origin:center;animation:orbit 10s linear infinite}.control-arrow{position:absolute;bottom:16px;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.opening .continue-control{pointer-events:none;opacity:0}.opening .ring-moving{animation-play-state:paused}.opening #book-shell{transition:transform 1100ms cubic-bezier(.4,0,.2,1)}.stf__parent{touch-action:none}.stf__wrapper{padding-bottom:0!important}@keyframes orbit{to{transform:rotate(360deg)}}
@media(max-width:800px){#book-position{height:min(67svh,620px);max-width:calc(100vw - 76px);top:44%}.continue-control{width:96px;height:96px;font-size:12px;left:calc(50% - 48px);top:auto;bottom:4svh}.control-arrow{bottom:12px}}
@media(max-height:540px) and (min-width:701px){#book-position{height:76svh}.continue-control{left:calc(50% + 140px);top:calc(50% - 50px);bottom:auto}}
@media(prefers-reduced-motion:reduce){.ring-moving{animation:none}.continue-control,.opening #book-shell{transition:none}}
/* Keep the cover bounded even when an upload omits the flip engine. */
#flipbook{height:100%}#flipbook:not(.stf__parent) .book-page{display:none}#flipbook:not(.stf__parent) .cover-page{display:block;position:absolute;left:50%;top:0;width:50%;height:100%}
