.reflect-book{padding:0;text-align:left;font:inherit;width:100%;cursor:pointer;transition:border-color .2s}
.book-cover{position:absolute;z-index:4;width:min(92%,850px,calc((100dvh - 230px) * 1.5));padding:0;border:0;background:var(--museum-bg);border-radius:.4rem;transform-origin:left center;box-shadow:0 20px 60px #0008;backface-visibility:hidden}
.book-cover img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:.4rem}
.book-cover span{display:block;padding:.6rem 1rem;font-size:.875rem;color:var(--museum-gold);min-height:44px}
.book-cover[hidden]{display:none}.book-cover:disabled{opacity:1;cursor:default}
.showing-cover .book-stage{visibility:hidden}
.showing-cover .book-message,.showing-cover .book-retry{position:relative;z-index:5;background:var(--museum-bg)}
@media(max-height:500px){.book-cover{width:min(75%,calc((100dvh - 170px) * 1.5))}}
.reflect-book:hover{border-color:var(--museum-gold)}
.book-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:clamp(.75rem,2vw,2rem);border:0;background:var(--museum-bg);color:var(--museum-ink);overflow:auto;overscroll-behavior:contain}
.book-dialog::backdrop{background:var(--museum-bg)}
.book-dialog[open]{display:flex;flex-direction:column;gap:1rem}
.book-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.book-heading h2{font-size:clamp(1.35rem,2.6vw,2.4rem);letter-spacing:-.02em;margin:.25rem 0;line-height:1.2}
.book-heading .eyebrow{font-size:.75rem}
.book-close{flex-shrink:0;width:44px;height:44px;border:1px solid var(--museum-border);border-radius:50%;background:transparent;font-size:1.8rem}
.book-reading-area{flex:1;min-height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;perspective:2200px;padding:.75rem 0}
.book-stage{position:relative;width:min(100%,calc((100dvh - 240px) * 2.3636));aspect-ratio:2.3636;display:grid;grid-template-columns:1fr 1fr;transform-style:preserve-3d;box-shadow:0 20px 60px #0009,0 4px 0 #c8c0b3,0 8px 0 #70695d;border:1px solid #e5dfd555;border-radius:3px;background:var(--color-background)}
.book-stage.single-page{width:min(100%,calc((100dvh - 260px) * 1.1818));aspect-ratio:1.1818;grid-template-columns:1fr}
.book-sheet{position:relative;min-width:0;background:var(--color-background);overflow:hidden}
.book-sheet img,.leaf-face img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.book-left:after,.book-right:after{content:"";position:absolute;inset:0;pointer-events:none}
.book-left:after{background:linear-gradient(90deg,transparent 93%,#21170e22)}
.book-right:after{background:linear-gradient(90deg,#21170e22,transparent 7%)}
.single-page .book-right{display:none}.single-page .book-left:after{background:linear-gradient(90deg,#21170e11,transparent 3%)}
.book-leaf{position:absolute;top:0;bottom:0;width:50%;z-index:2;transform-style:preserve-3d;will-change:transform}
.turn-forward{left:50%;transform-origin:left center}.turn-back{left:0;transform-origin:right center}
.single-leaf{left:0;width:100%}
.leaf-face{position:absolute;inset:0;background:var(--color-background);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.leaf-back{transform:rotateY(180deg)}
.leaf-face:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#21170e22,transparent 15%,#21170e0a 80%,#21170e18);pointer-events:none}
.book-message{font-size:.875rem;text-align:center;margin-top:1rem;color:var(--museum-muted)}.book-message:empty{display:none}
.book-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem 1.5rem}
.book-navigation,.book-jump{display:flex;align-items:center;justify-content:center;gap:.5rem}
.book-toolbar button,.book-retry{min-width:44px;min-height:44px;border:1px solid var(--museum-border);border-radius:2rem;background:var(--museum-surface);padding:.5rem .8rem;font-size:.875rem}
.book-toolbar .book-play{min-width:155px;background:var(--museum-gold);color:var(--museum-bg);border-color:var(--museum-gold)}
.book-jump{font-size:.875rem}.book-jump input{width:4.5rem;min-height:44px;border:1px solid var(--museum-border);border-radius:.4rem;background:var(--museum-surface);color:var(--museum-ink);font:inherit;text-align:center;padding:.3rem}
.book-position{font-size:.875rem;color:var(--museum-muted);text-align:center}
.book-transcript{font-size:.875rem;color:var(--museum-muted);flex-shrink:0;max-width:65rem;width:100%;margin:0 auto}
.book-transcript summary{cursor:pointer;min-height:44px;display:list-item;padding:.5rem 0}
.book-transcript div{white-space:pre-wrap;line-height:1.8;max-height:30dvh;overflow:auto;padding:1rem;background:var(--museum-surface);color:var(--museum-ink)}
@media(max-width:600px){.book-dialog{padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.5rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left))}.book-heading .eyebrow{font-size:.7rem;letter-spacing:.1em}.book-dialog[open]{gap:.5rem}.book-toolbar{gap:.4rem .75rem}.book-position{width:100%}.book-reading-area{min-height:160px}.book-transcript summary{text-align:center;list-style-position:inside}}
@media(max-height:500px){.book-heading h2,.book-transcript{display:none}.book-stage.single-page{width:min(100%,calc((100dvh - 155px) * 1.1818))}.book-dialog[open]{gap:.4rem}.book-reading-area{min-height:100px;padding:0}.book-heading{min-height:44px}.book-position{width:auto}}
