.shelf-page{overflow-x:clip}.signature{display:block;width:100px;height:48px}.signature-ink{display:block;width:100px;height:51px;overflow:visible}.signature-ink path{stroke-dasharray:1;stroke-dashoffset:1;animation:ryan-write 1.1s linear .35s forwards}.signature-ink path:nth-child(2){animation-duration:.4s;animation-delay:1.53s}@keyframes ryan-write{to{stroke-dashoffset:0}}
.shelf-page .page.wide{width:min(1120px,calc(100% - 48px))}.shelf-page .page-nav{margin-bottom:58px}.shelf-heading{text-align:center;margin-bottom:0}.shelf-heading>p{margin-left:auto;margin-right:auto}.shelf-heading h1{font-size:24px}.book-stage{height:490px;width:100vw;position:relative;left:50%;margin-left:-50vw;overflow:hidden;touch-action:pan-y;cursor:grab;isolation:isolate;perspective:1800px}.book-stage.is-dragging{cursor:grabbing}.book-track{position:relative;width:100%;height:100%;transform-style:preserve-3d}.book{position:absolute;left:0;top:0;width:200px;height:278px;display:block;text-decoration:none;outline-offset:14px;transform-style:preserve-3d;user-select:none;-webkit-user-select:none;will-change:transform;z-index:1}.book-model{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transform:rotateY(-34deg) skewY(23deg);transition:transform .65s cubic-bezier(.2,.75,.2,1);will-change:transform}.book-front,.book-back{position:absolute;inset:0;background:var(--cover);border-radius:1px 3px 3px 1px;backface-visibility:hidden}.book-front{display:flex;flex-direction:column;color:var(--book-ink);transform:translateZ(12px);box-shadow:inset 5px 0 7px #0002,1px 0 1px #ffffff40;overflow:hidden}.book-front::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0003 0,transparent 4%,#ffffff20 5%,transparent 7%,transparent 96%,#0002);pointer-events:none}.book-back{transform:translateZ(-10px);box-shadow:8px 12px 18px #25321c18}.book-pages{position:absolute;right:0;top:3px;bottom:3px;width:22px;background:repeating-linear-gradient(90deg,#d7d4c9 0px,#f8f5eb 1px,#e4e0d4 2px,#f8f5eb 3px);transform-origin:right center;transform:rotateY(-90deg) translateX(12px);backface-visibility:visible}.book-top{position:absolute;top:0;left:3px;right:2px;height:22px;background:repeating-linear-gradient(#ece9df 0px,#c8c6bc 1px,#f8f6ed 2px);transform-origin:top center;transform:rotateX(90deg) translateY(-10px)}.book-spine{position:absolute;left:0;top:0;bottom:0;width:22px;background:var(--cover);color:var(--book-ink);transform-origin:left center;transform:rotateY(90deg) translateX(-12px);writing-mode:vertical-rl;display:flex;align-items:center;justify-content:space-between;font-size:10px;padding:12px 1px;box-shadow:inset -4px 0 6px #0002}.book-spine small{color:inherit;font-size:6px}.book-cover-title{font-size:17px;letter-spacing:.04em;line-height:1.3;padding:15px 14px 10px}.book-cover-title small{display:block;font-size:6px;letter-spacing:.2em;margin-top:4px;color:inherit;opacity:.6}.book-art{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;overflow:hidden}.book-art img{width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}.book-cover-foot{display:flex;justify-content:space-between;padding:10px 12px;font-size:6px;letter-spacing:.13em}.book.is-active{z-index:30!important}.book.is-active .book-model{transform:translate3d(-24px,-40px,65px) rotateY(-19deg) skewY(16deg)}.book.is-active .book-back{box-shadow:18px 25px 28px #25321c25}.book.is-opening{z-index:50!important}.book.is-opening .book-model{transform:translate3d(-15px,-55px,150px) rotateY(0deg) skewY(0deg) scale(1.12);transition:transform .42s cubic-bezier(.2,.7,.2,1)}.book.is-opening .book-front{transform-origin:left center;animation:cover-open .45s .12s ease-in forwards}@keyframes cover-open{to{transform:translateZ(12px) rotateY(-35deg)}}.book-stage.is-opening .book:not(.is-opening){opacity:.25;transition:opacity .35s}.shelf-status{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);margin:0 0 22px}.shelf-index{display:flex;gap:10px 25px;flex-wrap:wrap;font-size:12px;margin-bottom:32px}.shelf-index a{text-decoration:none;color:var(--muted)}.shelf-index a:hover{color:var(--ink)}.volume-heading{margin-bottom:30px}.volume-back{display:inline-block;margin-bottom:35px;text-decoration:none;font-size:12px;color:var(--muted)}.volume-contents{display:flex;flex-wrap:wrap;gap:10px 23px;margin:0 0 45px;padding-bottom:22px;border-bottom:1px solid var(--rule);font-size:12px}.volume-chapter{scroll-margin-top:30px;margin-bottom:55px}.volume-chapter h2{display:flex;align-items:center;gap:18px;font-size:15px;margin-bottom:25px}.volume-chapter h2>span{color:#a6aa9f;font-size:10px;letter-spacing:.1em}.volume-chapter .archive-grid{columns:3}.volume-chapter:target h2{color:var(--accent)}
@media(max-width:700px){.shelf-heading h1{font-size:20px}.shelf-page .page-nav{margin-bottom:42px}.book-stage{height:390px}.book{width:164px;height:232px}.book-cover-title{font-size:14px;padding:12px 12px 8px}.shelf-status{font-size:10px;flex-direction:column;gap:2px}.shelf-index{gap:10px 20px}.volume-chapter .archive-grid{columns:2}.signature{width:88px}.signature-ink{width:88px}}
.book-stage{height:clamp(530px,calc(420px + 8.5vw),650px)}
@media(max-width:700px){.book-stage{height:420px}}
@media(prefers-reduced-motion:reduce){.signature-ink path{animation:none!important;stroke-dashoffset:0}.book-model,.book-front{animation:none!important;transition:none!important}.book.is-active .book-model{transform:rotateY(-34deg) skewY(23deg)}}
