/* 편집기 · 썸네일 · 뷰어 · 인쇄가 공유하는 페이지 렌더링 스타일 (Ebook.renderPage) */
.ebook-page { position:relative; width:100%; aspect-ratio:var(--page-ratio,1.414); overflow:hidden; container-type:inline-size; color:#343a33; background:#fffefa; font-family:'Gowun Batang',Georgia,serif; line-height:normal; }
.ebook-cmp { position:absolute; display:flex; box-sizing:border-box; overflow:hidden; }
.ebook-cmp-text { width:100%; white-space:pre-wrap; overflow-wrap:anywhere; }
.ebook-cmp--image { background:#d9d8cf0d; }
.ebook-cmp--image img { width:100%; height:100%; display:block; object-fit:cover; user-select:none; }
.ebook-cmp.is-hidden { opacity:.2; outline:1px dashed #7b8175; outline-offset:-1px; }
/* 영상: 표지 + 가운데 ▶ (Ebook.renderPage). 뷰어에서 누르면 .ebook-video-live 플레이어로 바뀐다. html2canvas(PDF)도 그대로 그린다 */
.ebook-cmp--video { background:#1d211c; cursor:pointer; }
.ebook-cmp--video img { width:100%; height:100%; display:block; object-fit:cover; user-select:none; }
.ebook-video-play { position:absolute; left:50%; top:50%; width:6cqw; height:6cqw; margin:-3cqw 0 0 -3cqw; border-radius:50%; background:rgba(0,0,0,.6); border:.25cqw solid #fff; box-sizing:border-box; }
.ebook-video-play::after { content:''; position:absolute; left:2cqw; top:1.45cqw; border-style:solid; border-width:1.3cqw 0 1.3cqw 2.1cqw; border-color:transparent transparent transparent #fff; }
.ebook-video-url { position:absolute; left:0; right:0; bottom:0; padding:.5cqw 1cqw; background:rgba(0,0,0,.65); color:#fff; font:1.1cqw/1.3 'Noto Sans KR',sans-serif; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ebook-cmp--video.is-playing { cursor:auto; background:#000; }
.ebook-video-live { width:100%; height:100%; border:0; display:block; background:#000; }
