:root{--green:#263a32;--green-light:#315f52;--cream:#f3eee4;--paper:#fffdf6;--ink:#25251f;--border:#c7bca9}
@font-face{font-family:OldStandard;src:url(fonts/OldStandard-Regular.woff2);font-weight:400;font-display:swap}
@font-face{font-family:OldStandard;src:url(fonts/OldStandard-Bold.woff2);font-weight:700;font-display:swap}
@font-face{font-family:OldStandard;src:url(fonts/OldStandard-Italic.woff2);font-style:italic;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,'Times New Roman',serif}
button,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #ad8541;outline-offset:2px}
.bar{position:sticky;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px clamp(14px,3vw,48px);background:#f9f5ed;border-bottom:1px solid var(--border);box-shadow:0 3px 9px #25352b1a;font:13px/1.2 Arial,sans-serif}
.bar button,.bar select{min-height:38px;border:1px solid #c9beab;border-radius:4px;background:white;color:var(--green);padding:7px 10px}.bar button:hover,.bar select:hover{border-color:var(--green-light)}.bar #contents,.bar [data-mode].on{background:var(--green-light);color:white;border-color:var(--green-light)}
.bar #sel{max-width:155px}.bar #status{white-space:nowrap;color:#514d44}.mode-buttons{display:flex;gap:5px;flex-wrap:wrap}.bar #orthography[aria-pressed="true"]{background:var(--green-light);color:white}
main{max-width:1320px;margin:auto;padding:26px 68px 130px;display:flex;gap:22px;align-items:flex-start;justify-content:center}.book{min-width:0;width:min(100%,760px)}.leaf{margin:0 auto 30px;scroll-margin-top:calc(var(--reader-header-height,142px) + var(--reader-bar-height,56px) + 18px)}.leaf-paper{width:100%;min-height:calc(100vw * .95);padding:55px 52px 60px;background:var(--paper);border:1px solid #e0d8c9;box-shadow:0 7px 24px #342f231d}.flow{max-width:100%;font-size:18px;line-height:1.52;overflow-wrap:break-word}.flow p{margin:0 0 .72em;text-indent:1.55em}.flow p.footnote{margin-top:1.4em;padding-top:.4em;border-top:1px solid #80796e;font-size:.86em;text-indent:0}.flow h2,.flow h3,.flow h4,.flow h5{margin:1.1em 0 .55em;text-align:center;line-height:1.25;text-indent:0}.flow h2{font-size:1.25em}.flow h3{font-size:1.13em}.flow h4,.flow h5{font-size:1em}.leaf-label{text-align:right;padding:7px 3px 0;color:#5b5b52;font:12px Arial,sans-serif}.scan{display:none;min-width:0;position:sticky;top:calc(var(--reader-header-height,142px) + var(--reader-bar-height,56px) + 16px);width:min(100%,610px);max-height:calc(100vh - var(--reader-header-height,142px) - var(--reader-bar-height,56px) - 32px);overflow:auto}.scan img{display:block;width:100%;height:auto;background:white;box-shadow:0 5px 20px #342f2330}
body[data-mode="continuous"] .leaf-paper{min-height:0;padding-bottom:25px}.leaf.title-leaf .leaf-paper,.leaf.permission-leaf .leaf-paper,.leaf.chapter-leaf .leaf-paper{min-height:850px}.title-composition{min-height:730px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:space-between;padding:8px 0 0}.title-composition h2,.title-composition h3{margin:0}.title-composition h2{font-size:1.7em}.title-composition h3{font-size:1.25em}.title-composition p{margin:0;text-indent:0}.title-author{font-size:1.4em}.title-part{font-size:1.25em}.title-subtitle{max-width:550px;font-size:.95em}.title-imprint{margin-top:auto!important;padding-top:80px;font-size:.9em}
.contents-leaf .toc{display:grid;gap:7px}.toc-row{display:grid;grid-template-columns:minmax(0,auto) 1fr auto;gap:8px;align-items:end;color:var(--ink);text-decoration:none;font-size:.95em}.toc-row.level-1{padding-left:1.2em}.toc-row i{border-bottom:1px dotted #7b776d;transform:translateY(-.28em)}.toc-row b{font-weight:400}.toc-row:hover span{text-decoration:underline}.contents-leaf .flow h2{font-size:1.5em;margin:0 0 1.2em}
body[data-mode="compare"] .leaf:not(.active){display:none}body[data-mode="book"] main,body[data-mode="compare"] main{max-width:1420px}body[data-mode="book"] .book{width:min(100%,760px)}body[data-mode="scan"] .book{display:none}body[data-mode="scan"] main{max-width:900px}body[data-mode="scan"] .scan{display:block;width:min(100%,760px)}body[data-mode="compare"] .scan{display:block}body[data-mode="compare"] .book{width:min(50%,650px)}body[data-mode="compare"] .scan{width:min(50%,650px)}
.contents-panel{position:fixed;z-index:200;inset:0 auto 0 0;width:min(470px,100vw);overflow:auto;background:#fcf8ef;border-right:1px solid var(--border);box-shadow:12px 0 34px #1c2b2580;padding:20px 24px 36px;font:15px/1.45 Arial,sans-serif}.contents-panel[hidden]{display:none}.contents-panel h2{font:25px Georgia,serif;color:var(--green)}.contents-panel a{display:block;margin:0;padding:12px 0;border-bottom:1px solid #e1d8c8;color:#263a32;text-decoration:none}.contents-panel a:hover{text-decoration:underline}.contents-panel a span{display:block;margin-top:3px;color:#796f61;font-size:12px}.contents-panel button{padding:8px 14px;border:1px solid var(--green-light);background:var(--green-light);color:white;border-radius:4px}
#return-contents,.jump-pair{position:fixed;z-index:110;bottom:calc(18px + env(safe-area-inset-bottom,0px))}#return-contents{left:18px;padding:11px 14px;border:1px solid #26483e;border-radius:6px;background:var(--green-light);color:white;box-shadow:0 3px 12px #13251c44;font:600 13px Arial,sans-serif}#return-contents[hidden]{display:none}.jump-pair{right:18px;display:flex;flex-direction:column;gap:8px}.jump-pair button{width:44px;height:44px;border:1px solid #b8a98f;border-radius:6px;background:#fffdf8;color:var(--green);box-shadow:0 3px 12px #13251c35;font:26px/1 Arial,sans-serif}
@media(max-width:880px){main{padding:18px 60px 130px}body[data-mode="compare"] main{display:block}body[data-mode="compare"] .book,body[data-mode="compare"] .scan{width:min(100%,680px);margin:auto}body[data-mode="compare"] .scan{position:static;margin-top:18px;max-height:none}}
@media(max-width:600px){.bar{gap:6px;padding:8px 12px}.bar button,.bar select{min-height:36px;padding:6px}.bar #status{font-size:12px}.mode-buttons{order:2;width:100%}.mode-buttons button{flex:1;white-space:nowrap}.bar #orthography{order:3}main{padding:16px 18px 150px}.leaf-paper{padding:28px 22px 35px;min-height:0}.flow{font-size:16px;line-height:1.48}.title-composition{min-height:630px}.leaf.title-leaf .leaf-paper,.leaf.permission-leaf .leaf-paper,.leaf.chapter-leaf .leaf-paper{min-height:690px}.toc-row{font-size:.85em}.toc-row.level-1{padding-left:.5em}#return-contents{left:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 82px)}.jump-pair{right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px))}}

/* Printed leaves keep their full proportions and scroll with the document. */
body[data-mode="continuous"] .leaf.title-leaf .leaf-paper,
body[data-mode="continuous"] .leaf.permission-leaf .leaf-paper,
body[data-mode="continuous"] .leaf.chapter-leaf .leaf-paper{min-height:0}
.leaf-paper{height:auto;overflow:visible}
body[data-mode="book"] .leaf-paper{min-height:min(1133px,150vw)}
body[data-mode="compare"] .leaf-paper{min-height:min(970px,150vw)}
.scan,body[data-mode="scan"] .scan,body[data-mode="compare"] .scan{position:static;max-height:none;overflow:visible}
.flow{font-family:OldStandard,Georgia,'Times New Roman',serif;font-size:17px;line-height:1.37}
.flow p{margin-bottom:.52em}
.leaf.prose-leaf .flow p,.leaf.preface-leaf .flow p{text-align:justify;text-align-last:left}
.flow p.footnote{font-size:.76em;line-height:1.28;margin-top:.35em;text-indent:0}
.flow p.footnote.first-note{border-top:1px solid #80796e;padding-top:.5em;margin-top:1.3em}
.leaf-paper{position:relative}
.printer-signature{position:absolute;left:52px;bottom:18px;font:12px OldStandard,Georgia,serif;color:#514a42}
body[data-mode="continuous"] .printer-signature{display:none}
.leaf.chapter-leaf .flow h2:first-child,.leaf.chapter-leaf .flow h3:first-child{margin-top:8em}
.leaf.title-leaf .flow{text-align:center}
.leaf.title-leaf .flow>*{text-align:center;text-indent:0;margin:1em 0}
.leaf.title-leaf .flow h2{font-size:1.8em;margin:3em 0 .8em}
.leaf.title-leaf .imprint{margin-top:9em;font-size:.8em}
.leaf.permission-leaf .flow{margin-top:44%;font-size:.8em;text-align:center}
.leaf.permission-leaf .flow p{text-align:center;text-indent:0}
.leaf.preface-leaf .flow{margin-top:15%}
.leaf.contents-leaf .flow{margin-top:44%;font-size:14px;line-height:1.25}
.leaf.contents-leaf .flow p{text-indent:0;font-size:1em;margin:.25em 0}
.leaf.contents-leaf .flow h2{text-align:center;font-size:1.5em;margin:0 0 1.2em}
.leaf.contents-leaf .flow h3{text-align:left;font-size:1em;line-height:1.25;margin:.35em 0 .2em;font-weight:700}
.leaf.contents-leaf .flow a{color:#263a32;text-decoration:underline;text-underline-offset:2px}
.leaf.errata-leaf .flow{font-size:15px}
.leaf.errata-leaf table{border-collapse:collapse;width:100%;table-layout:fixed;overflow-wrap:anywhere;font-size:.76em}
.leaf.errata-leaf th,.leaf.errata-leaf td{padding:4px 5px;border-bottom:1px solid #dfd7ca;text-align:left;vertical-align:top}
.leaf.errata-leaf td:first-child{white-space:nowrap}
body[data-mode="continuous"] .leaf.chapter-leaf .flow h2:first-child,
body[data-mode="continuous"] .leaf.chapter-leaf .flow h3:first-child{margin-top:1em}
body[data-mode="continuous"] .leaf.contents-leaf .flow,
body[data-mode="continuous"] .leaf.preface-leaf .flow,
body[data-mode="continuous"] .leaf.permission-leaf .flow{margin-top:0}
body[data-mode="continuous"] .leaf.contents-leaf .flow{font-size:16px;line-height:1.35}
body[data-mode="continuous"] .jump-pair{display:flex}
body:not([data-mode="continuous"]) .jump-pair{display:none}
@media(max-width:600px){.flow{font-size:16px}.leaf.errata-leaf table{font-size:.66em}body[data-mode="continuous"] main{padding-right:78px}body:has(#return-contents:not([hidden])) main{padding-left:90px}#return-contents{max-width:76px;min-height:48px;padding:6px;font-size:11px;line-height:1.15;text-align:center;white-space:normal}}

/* Printed footnotes form a separate lower region and keep paired navigation. */
body[data-mode="book"] .leaf-paper,body[data-mode="compare"] .leaf-paper{display:flex;flex-direction:column}
body[data-mode="book"] .flow,body[data-mode="compare"] .flow{display:flex;flex-direction:column;flex:1}
.footnotes{margin-top:1.4em;font-size:.8em;line-height:1.18}
.footnotes:before{content:"";display:block;width:29%;border-top:1px solid #80796e;margin:0 0 .65em}
body[data-mode="book"] .footnotes,body[data-mode="compare"] .footnotes{margin-top:auto;padding-top:1.4em}
.flow .footnotes p.footnote{font-size:1em;line-height:1.18;margin:.26em 0;padding:0;border:0;text-align:justify;text-align-last:left}
.fn-ref,.fn-back{color:inherit;text-decoration:none}
.fn-ref:hover,.fn-back:hover{text-decoration:underline;text-underline-offset:2px}
.fn-ref sup{font-size:.75em;line-height:0;vertical-align:super}
.fn-ref,.fn-back,.fn-orphan{scroll-margin-top:calc(var(--reader-header-height,142px) + var(--reader-bar-height,56px) + 16px)}
.fn-back{display:inline-block;margin-right:.2em}
@media(max-width:600px){.footnotes{font-size:max(13px,.8em)}}

/* All reader modes retain the blank bottom of the 1073 x 1600 source sheet.
   Minimum height still lets dense text extend the sheet at narrow widths. */
.book{container-type:inline-size}
.leaf-paper,body[data-mode="continuous"] .leaf-paper,
body[data-mode="book"] .leaf-paper,body[data-mode="compare"] .leaf-paper{min-height:149.115cqw}
body[data-mode="continuous"] .leaf.title-leaf .leaf-paper,
body[data-mode="continuous"] .leaf.permission-leaf .leaf-paper,
body[data-mode="continuous"] .leaf.chapter-leaf .leaf-paper{min-height:149.115cqw}
body[data-mode="book"] .footnotes,body[data-mode="compare"] .footnotes{margin-top:1.4em;padding-top:0}
