/* Preview and print share measured pages, so exports use the same chapter boundaries. */
.reader{position:fixed;inset:0;z-index:40;background:#e8e8e8;color:#333333;overflow:auto;--reader-paper:#fdfdfd;--reader-ink:#333333}.reader[data-reading-theme=sepia]{background:#dfd2b8;--reader-paper:#f8edd3;--reader-ink:#493f2e}.reader[data-reading-theme=night]{background:#181818;color:#e6e6e6;--reader-paper:#292929;--reader-ink:#e6e6e6}.reader[data-reading-theme=eink]{background:#ccc;--reader-paper:#fff;--reader-ink:#000;filter:grayscale(1)}.reader[data-reading-theme=match]{background:var(--bg);color:var(--ink);--reader-paper:var(--paper);--reader-ink:var(--paper-ink)}.reader-header{display:flex;justify-content:space-between;align-items:center;padding:16px 28px;gap:12px}.reader-header h2{font:16px var(--ui);margin:0}.reader-settings{display:flex;flex-wrap:wrap;gap:12px;padding:12px 28px;border-block:1px solid #80808044}.reader-settings label{font-size:11px;gap:3px}.reader-settings select,.reader-settings input{max-width:140px}.reader-spread{display:flex;justify-content:center;align-items:flex-start;margin:26px auto 90px;gap:2px;perspective:1500px}.reader-page{background:var(--reader-paper);color:var(--reader-ink);width:480px;height:680px;padding:48px;position:relative;box-shadow:0 8px 28px #25252518;overflow:hidden;flex-shrink:0;font-family:var(--book)}.page-content{height:100%;overflow:hidden;overflow-wrap:anywhere}.page-content p{margin:0 0 14px}.page-content h1,.page-content h2,.page-content h3{font-family:inherit;line-height:1.3;break-after:avoid}.page-content h1{font-size:2em;font-weight:400}.page-content table{border-collapse:collapse;width:100%;table-layout:fixed}.page-content td{border:1px solid #808080;padding:6px}.page-content img{max-width:100%;height:auto;max-height:100%}.page-content figure{margin:12px 0;break-inside:avoid}.page-content figcaption{font-size:.75em;text-align:center}.page-content pre{white-space:pre-wrap;font:12px/1.5 'JetBrains Mono',monospace}.page-number{position:absolute;bottom:14px;left:0;width:100%;text-align:center;font:11px var(--ui)}.running-header{position:absolute;top:16px;left:48px;right:48px;font:10px var(--ui);color:inherit;opacity:.75}.reader-footer{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:16px;background:var(--reader-paper);color:var(--reader-ink);padding:14px;border-top:1px solid #80808044}.reader-footer input{width:240px}.reader-layout-continuous .reader-spread{display:grid;gap:24px}.turn-slide{animation:slide-page .25s ease-out}.turn-fade{animation:fade-page .25s ease-out}.turn-curl{animation:curl-page .35s ease-out;transform-origin:left center}@keyframes slide-page{from{transform:translateX(20px)}to{transform:translateX(0)}}@keyframes fade-page{from{opacity:.4}to{opacity:1}}@keyframes curl-page{from{transform:rotateY(-18deg)}to{transform:rotateY(0)}}
@media(max-width:1000px){.reader-page{width:400px;height:566px;padding:40px}.reader-spread{gap:1px}.reader-page:nth-child(2){display:none}}
@media(max-width:500px){.reader-header{padding:12px}.reader-settings{padding:10px}.reader-page{width:340px;height:482px;padding:30px}.reader-spread{margin-top:16px}.reader-footer{font-size:11px;gap:8px}.reader-footer input{width:95px}.running-header{left:30px;right:30px}}
@media print{body>*{display:none!important}body>#print-root{display:block!important;background:white;color:black}.print-page{break-after:page;box-shadow:none!important;margin:0!important;background:white!important;color:black!important;width:100%!important;height:var(--print-height)!important;padding:var(--print-margin)!important}.print-page:last-child{break-after:auto}.print-page .page-number{bottom:3mm}.print-page .running-header{top:3mm}.print-page .design-canvas{print-color-adjust:exact;-webkit-print-color-adjust:exact}body{background:white} @page{size:A5;margin:0}}

/* Reader controls belong to the independent reading palette, regardless of app appearance. */
.reader button,.reader input,.reader select{background:var(--reader-paper);color:var(--reader-ink);border-color:color-mix(in srgb,var(--reader-ink) 35%,var(--reader-paper))}.reader button:hover{background:var(--reader-paper);border-color:var(--reader-ink)}.reader :focus-visible{outline-color:var(--reader-ink)}
/* Chapter styles are applied before measurement and reused by HTML/print output. */
.chapter-dropcap::first-letter{float:left;font-size:3.2em;line-height:.85;padding:.07em .12em 0 0;font-weight:500}.chapter-smallcaps{font-variant:small-caps}
.dynamic-contents-row a{display:flex;justify-content:space-between;gap:16px;text-decoration:none;color:inherit}.dynamic-contents-row span{font-variant-numeric:tabular-nums}.page-content th{border:1px solid #808080;padding:6px;text-align:left}.design-element a{color:inherit}
.page-footnotes{border-top:1px solid currentColor;padding-top:8px;margin-top:14px;font-size:.8em;line-height:1.35}.page-footnotes p{margin:0 0 4px!important}.figure-number{font-weight:600}sup[data-footnote]{font-size:.7em;color:var(--accent);cursor:pointer}

@media print{.print-page{padding-left:var(--print-left,var(--print-margin))!important;padding-right:var(--print-right,var(--print-margin))!important}}

.reader-page{background:var(--book-paper,var(--reader-paper));color:var(--book-ink,var(--reader-ink))}
@media print{.print-page{background:var(--book-paper,#fff)!important;color:var(--book-ink,#333)!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Continuous reading displays every page at every viewport width. */
.reader-layout-continuous .reader-page:nth-child(2){display:block}
