.collection-book{--paper-ratio:.7071;background:radial-gradient(ellipse at 50% 35%,#72745a 0%,#494b30 68%);color:#fff;padding:20px 24px 16px;overflow:hidden;isolation:isolate}
.book-toolbar{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:18px;font-size:11px}
.book-toolbar .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.book-toolbar button,.book-toolbar select,.book-zoom-toolbar button,.book-zoom-toolbar select{font:inherit;border:1px solid #ffffff60;color:inherit;background:#ffffff0a;border-radius:3px;padding:8px 12px;cursor:pointer;min-height:34px}
.book-toolbar select{max-width:180px}.book-toolbar option{background:#494b30;color:white}.book-toolbar button:hover,.book-toolbar select:hover{background:#ffffff18}
.book-stage{position:relative;display:flex;align-items:center;justify-content:center;gap:24px;padding:0 48px;min-height:260px}
.book-spread{--book-height:max(280px,min(calc(100svh - 395px),740px,calc((100vw - 144px)/1.4142)));position:relative;display:flex;height:var(--book-height);width:calc(var(--book-height)*1.4142);max-width:100%;aspect-ratio:1.4142;perspective:2400px;filter:drop-shadow(0 15px 18px #17180f80);outline-offset:8px;touch-action:pan-y}
.book-spread.is-single{width:calc(var(--book-height)*.7071);aspect-ratio:.7071}
.book-page{position:relative;flex:0 0 50%;height:100%;overflow:hidden;background:#f5f3ec;box-shadow:0 0 0 1px #e6e2d7}
.is-single>.book-page{flex-basis:100%}.book-page img{display:block;width:100%;height:100%;object-fit:fill;user-select:none;-webkit-user-drag:none}
.book-page::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2}
.book-page.page-left::after{background:linear-gradient(to left,#2524163d,transparent 8%,transparent 97%,#fff3)}
.book-page.page-right::after{background:linear-gradient(to right,#2524164a,transparent 9%,transparent 97%,#fff3)}
.is-single>.book-page::after{background:linear-gradient(to right,#0002,transparent 2%,transparent 98%,#0002)}
.book-spread:not(.is-single)::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:#26271670;pointer-events:none;z-index:5}
.book-hotspot{position:absolute;z-index:3;border-radius:2px}.book-hotspot:hover,.book-hotspot:focus-visible{background:#494b301b;outline:2px solid #494b30;outline-offset:1px;box-shadow:0 2px 6px #494b3020}
.book-arrow{position:absolute;top:50%;transform:translateY(-50%);border:1px solid #e8e7e26b;background:#ffffff10;color:#e8e7e2;border-radius:50%;width:40px;height:40px;font-size:30px;line-height:1;cursor:pointer;z-index:10}
.book-previous{left:0}.book-next{right:0}.book-arrow:hover{background:#fff3}.book-arrow:disabled{opacity:.25;cursor:default}
.book-status{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;font-size:10px;letter-spacing:.02em;color:#e8e7e2cf;margin-top:22px}.book-status span:first-child{font-weight:600;color:white}
.book-program-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:11px}.book-program-links a{color:#fff;border-bottom:1px solid #beb5a2;padding:4px 0}
.book-program-links:empty{display:none}
.book-leaf{position:absolute;top:0;bottom:0;width:50%;z-index:8;transform-style:preserve-3d;pointer-events:none;transition:transform .32s cubic-bezier(.25,.65,.25,1)}
.book-leaf.forward{left:50%;transform-origin:left center}.book-leaf.backward{left:0;transform-origin:right center}.book-leaf.forward.turning{transform:rotateY(-180deg)}.book-leaf.backward.turning{transform:rotateY(180deg)}
.book-leaf .leaf-face{position:absolute;inset:0;backface-visibility:hidden;background:#f5f3ec;overflow:hidden}.book-leaf .leaf-face img{width:100%;height:100%;object-fit:fill}.book-leaf .leaf-back{transform:rotateY(180deg)}.book-leaf .leaf-face::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0002,transparent 25%,#0001)}
#book-zoom-dialog{width:min(1100px,96vw);max-height:94svh;padding:0;border:0;background:#e8e7e2;color:#494b30;box-shadow:0 12px 60px #0008}#book-zoom-dialog::backdrop{background:#1f2018d9}.book-zoom-toolbar{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#494b30;color:white;font-size:12px}#book-zoom-image{display:block;width:100%;height:auto}#book-zoom-links{padding:16px;text-align:center;font-size:12px}#book-zoom-links a{display:inline-block;margin:5px 10px;text-decoration:underline}
.collection-book:fullscreen{height:100%;overflow:auto;display:flex;flex-direction:column;justify-content:center}.collection-book:fullscreen .book-spread{--book-height:min(80svh,1100px,calc((100vw - 144px)/1.4142))}
@media(max-width:720px){.collection-book{padding:14px 12px}.book-toolbar{gap:6px;font-size:10px;margin-bottom:14px}.book-toolbar button,.book-toolbar select{padding:7px 9px}.book-stage{padding:0 32px;gap:0}.book-spread,.book-spread.is-single{--book-height:min(66svh,calc((100vw - 88px)*1.4142));width:calc(var(--book-height)*.7071);aspect-ratio:.7071}.book-page{flex-basis:100%}.book-spread::after{display:none}.book-arrow{width:27px;height:38px;border-radius:3px;font-size:26px}.book-status{gap:6px 14px;font-size:9px;margin-top:16px}.book-toolbar select{max-width:130px}.book-program-links{font-size:10px}}
@media(prefers-reduced-motion:reduce){.book-leaf{transition:none}}
@media(max-width:720px){.book-title-link{min-height:24px;margin-top:min(0px,calc((var(--book-height)*var(--title-height-fraction) - 24px)/2))}.collection-book:fullscreen .book-spread{--book-height:min(76svh,calc((100vw - 88px)*1.4142))}}
