.kuki-book-reader{--book-zoom:1;scroll-margin-top:116px;border-top:1px solid var(--line);padding-top:40px;margin:56px 0;max-width:100%;min-width:0}
.book-reader-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.book-reader-heading h2{margin:0;font-size:32px}.book-reader-caption{font-size:15px;color:var(--muted);margin:8px 0 0}
.book-reader-heading button{background:transparent;color:var(--ink);border-color:#afbea8;font-size:15px;padding:8px 14px}
.book-reader-heading button:hover{background:var(--mint)}
.book-reader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.book-reader-toolbar label,.book-reader-controls label{display:flex;align-items:center;gap:10px;white-space:nowrap}
.book-reader-status{margin:0;font-weight:700}
.book-reader-viewport{overflow:auto;max-height:75svh;padding:24px;background:var(--mint);border:0;border-radius:14px;overscroll-behavior:contain}
.book-spread{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;width:calc(min(100%,112.5svh - 48px) * var(--book-zoom));max-width:none;margin:0 auto;box-shadow:0 5px 20px #303d3520;background:var(--paper)}
.book-spread img{width:100%;height:auto;max-width:none;display:block;aspect-ratio:3/4;object-fit:contain;background:var(--paper)}
.book-blank{aspect-ratio:3/4;background:var(--paper)}
.book-opening{box-shadow:none;background:transparent}.book-opening .book-blank{background:transparent}.book-opening img{box-shadow:0 5px 20px #303d3520}
.book-reader-controls{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:20px;margin-top:20px}
.book-reader-controls button{padding:10px 16px}.book-reader-help{font-size:15px;text-align:center;color:var(--muted);margin:16px 0}
.book-reader-transcript{margin-top:24px;border-block:1px solid var(--line)}.book-reader-transcript summary{cursor:pointer;font-weight:700;padding:16px 0}.book-reader-transcript h3{font-size:22px;margin:20px 0 10px}.book-reader-transcript p{max-width:750px}
.book-reader-error{padding:18px 24px;background:var(--sun);color:#715534;border-radius:8px}
.book-reader-open{overflow:hidden}.kuki-book-reader.book-expanded{position:fixed;inset:0;z-index:100000;width:100%;height:100%}
.kuki-book-reader:fullscreen,.kuki-book-reader.book-expanded{background:var(--paper);padding:24px 5vw;overflow:auto;margin:0;border:0}.kuki-book-reader:fullscreen .book-reader-viewport,.book-expanded .book-reader-viewport{max-height:60svh}.kuki-book-reader:fullscreen .book-spread,.book-expanded .book-spread{width:calc(min(100%,90svh - 48px) * var(--book-zoom))}
@media(max-width:600px){.book-reader-heading{align-items:flex-start;flex-wrap:wrap}.book-reader-toolbar{font-size:16px}.book-reader-viewport{padding:8px}.book-reader-controls{gap:10px}.book-reader-controls button{padding:10px 12px}.book-reader-controls button span{display:none}.book-reader-controls select{max-width:165px}.book-reader-heading h2{font-size:28px}.kuki-book-reader:fullscreen,.kuki-book-reader.book-expanded{padding:16px}}
@media(max-width:600px){.book-opening{grid-template-columns:1fr;width:calc(min(100%,50svh) * var(--book-zoom))}.book-opening .book-blank{display:none}.kuki-book-reader:fullscreen .book-opening,.book-expanded .book-opening{width:calc(min(100%,42svh) * var(--book-zoom))}.book-reader-controls label{min-width:0}.book-reader-controls select{max-width:min(165px,45vw)}.book-reader-toolbar label{flex-wrap:wrap;white-space:normal}}
@media print{.book-reader-heading button,.book-reader-toolbar,.book-reader-controls,.book-reader-help{display:none}.book-reader-viewport{max-height:none;overflow:visible;padding:0}.book-spread{width:100%}}
