/* 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}}

/* Page position. Title, dedication and epigraph pages default to the middle; any section can be set
   to top, middle or bottom from Format. The bottom padding lifts centred text a little above true
   centre, which is what reads as centred. */
.reader-page[data-valign] .page-content{display:flex;flex-direction:column;box-sizing:border-box}
.reader-page[data-valign=top] .page-content{justify-content:flex-start}
.reader-page[data-valign=center] .page-content{justify-content:center;padding-bottom:10%}
.reader-page[data-valign=bottom] .page-content{justify-content:flex-end}
/* Better defaults for front matter. These are plain styles with no !important, so alignment, size,
   italics and spacing set in the editor always win, and deleting the divider line removes it. */
.reader-page[data-section=title] h1{margin:0 0 .4em;padding-inline:6%;font-size:2.5em;line-height:1.15;text-wrap:balance}
.reader-page[data-section=title] hr{width:2.4em;margin:.8em auto;border:0;border-top:1px solid currentColor;opacity:.35}
.reader-page[data-section=title] p{margin:0;font-size:1.05em;letter-spacing:.08em}
.reader-page[data-section=dedication] p,.reader-page[data-section=epigraph] p{margin:0 0 1em;padding-inline:10%;line-height:1.8;text-wrap:balance}
