@font-face{font-family:OldStandard;src:url(fonts/OldStandard-Regular.woff2)}
@font-face{font-family:OldStandard;src:url(fonts/OldStandard-Bold.woff2);font-weight:700}
@font-face{font-family:OldStandard;src:url(fonts/OldStandard-Italic.woff2);font-style:italic}
:root{--green:#294438;--paper:#fffdf7;--warm:#b5a78e}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:#e8e3d9;color:#251f1a;font:15px/1.45 system-ui,sans-serif;padding-bottom:100px}a{color:#245344}button,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #b38348;outline-offset:2px}header{padding:20px max(18px,calc((100% - 1180px)/2));background:#263a32;color:#f7f1e4}header a{color:#fff6e0;text-decoration:none}header h1{font:28px/1.2 Georgia,serif;margin:9px 0}header p{margin:0;color:#e6ded0}.bar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;padding:8px 12px;background:#f9f5eb;border-bottom:1px solid #c9bba7;box-shadow:0 3px 10px #0002}.bar button,.bar select{border:1px solid #b2a38e;background:#fffdf8;color:#29241f;border-radius:5px;min-height:39px;padding:7px 10px}.bar button.on{background:var(--green);color:#fff}.bar #contents{background:var(--green);color:#fff;border-color:#243b31}.bar select{max-width:210px}.bar #status{font-size:12px;color:#605647}.notice{max-width:1120px;margin:14px auto;padding:11px 17px;background:#f8ebd2;color:#493f31;font-size:13px}.book{display:flex;flex-direction:column;align-items:center;gap:24px;padding:16px 12px 50px}.leaf{position:relative;scroll-margin-top:110px;width:min(100%,730px);min-height:1130px;background:var(--paper);padding:58px 55px 48px;box-shadow:0 5px 20px #0002}.text{font:18px/1.27 OldStandard,Georgia,serif;overflow-wrap:break-word;text-align:justify}.text p{margin:0 0 .68em;text-indent:1em}.text h1,.text h2,.text h3,.text h4{font-family:OldStandard,Georgia,serif;text-align:center;line-height:1.2;margin:1.3em 0 .85em}.text h1{font-size:26px}.text h2{font-size:23px}.text h3{font-size:21px}.text h4{font-size:19px}.text table{border-collapse:collapse;width:100%;font-size:16px;line-height:1.25;text-align:left}.text td,.text th{padding:3px 5px;vertical-align:top;border-bottom:1px dotted #d9ccba}.text th{font-weight:600}.text a{text-decoration-color:#a38762}.title .text{text-align:center;padding-top:65px}.title .text p{text-indent:0}.title .text h2{font-size:30px;margin:1.5em 0}.title .text p:last-child{margin-top:90px}.contents-leaf .text{text-align:left;font-size:16px;line-height:1.28}.contents-leaf .text p{text-indent:0}.contents-leaf .text h2,.contents-leaf .text h3{margin:.75em 0 .35em}.contents-leaf .text td{padding:2px 4px}.leaf-label{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#827867;font:11px system-ui}.continuous .leaf{min-height:0;padding-bottom:53px}.continuous .title .text{padding-top:0}.continuous .title .text p:last-child{margin-top:24px}.continuous .leaf-label{bottom:14px}.page .leaf:not(.active),.compare .leaf:not(.active){display:none}.scan-mode .book{display:none}.scan{display:none;padding:18px}.scan img{display:block;max-width:100%;max-height:calc(100vh - 125px);margin:auto;object-fit:contain;box-shadow:0 5px 18px #0002}.scan-mode .scan{display:block}.scan-mode .scan img{max-height:none;width:min(100%,1000px)}.compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.compare .book{padding:16px 4px}.compare .leaf{width:min(100%,730px);padding:5% 6%;min-height:1000px}.compare .scan{display:block;position:sticky;top:95px}.compare .scan img{max-height:calc(100vh - 115px)}dialog{border:1px solid #ae9c7f;border-radius:5px;background:#fffaf0;box-shadow:0 18px 50px #0005;width:min(790px,96vw);max-height:83vh;z-index:100}.bar:has(+ .notice + main){}dialog::backdrop{background:#171d1aaa}dialog h2{font:26px Georgia,serif}dialog #close{float:right;border:1px solid #b2a38e;background:#fffdf8;padding:7px 11px;border-radius:4px}dialog>a{display:block;padding:8px 10px;border-bottom:1px solid #e1d5c3;text-decoration:none;font:16px/1.28 OldStandard,Georgia,serif}dialog>a:hover{background:#eee4d4}.return-contents{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:70;background:var(--green);color:#fff;border:1px solid #627968;border-radius:6px;box-shadow:0 3px 12px #0004;padding:9px 12px;font-weight:600}.return-contents[hidden]{display:none}.edge-jumps{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:70;display:flex;flex-direction:column;gap:8px}.edge-jumps button{width:44px;height:44px;padding:0;background:#fffdf8;border:1px solid var(--warm);border-radius:7px;color:var(--green);box-shadow:0 3px 12px #0003;font-size:24px;font-weight:700;line-height:1}.mode-page .edge-jumps,.mode-scan .edge-jumps,.mode-compare .edge-jumps{display:none}@media(max-width:780px){header{padding:12px}header h1{font-size:21px}.bar{justify-content:flex-start;gap:4px;padding:5px}.bar button,.bar select{min-height:44px;padding:7px;font-size:12px}.bar #status{display:none}.bar select{max-width:118px}.notice{margin:8px;padding:8px}.book{padding:8px 7px 80px;gap:12px}.leaf{width:100%;min-height:0;padding:35px 7% 52px;scroll-margin-top:160px}.text{font-size:17px;text-align:left}.text table{font-size:14px}.title .text{padding-top:18px}.title .text h2{font-size:24px}.contents-leaf .text{font-size:15px}.compare{display:flex;flex-direction:column}.compare .book,.compare .scan{width:100%}.compare .leaf{min-height:0;padding:35px 7% 52px}.compare .scan{position:static}.compare .scan img{max-height:none}.scan img{max-height:none}.return-contents{left:8px;bottom:calc(8px + env(safe-area-inset-bottom))}.edge-jumps{right:8px;bottom:calc(8px + env(safe-area-inset-bottom))}body{padding-bottom:110px}}
.footnotes{border-top:1px solid #988b77;padding-top:8px;margin-top:14px;font-size:15px;line-height:1.18;text-align:left}.footnotes p{margin:0 0 .27em;text-indent:0}.opening .text h1,.opening .text h2,.opening .text h3,.opening .text h4{margin:.45em 0 .3em}.contents-leaf .footnotes{font-size:14px}
.title .text{display:flex;flex-direction:column;min-height:1010px}.title .text p:last-child{margin-top:auto}.continuous .title .text{min-height:0}.continuous .title .text p:last-child{margin-top:24px}.opening .text h1,.opening .text h2,.opening .text h3,.opening .text h4{font-size:21px;margin:.2em 0 .18em}@media(max-width:780px){.title .text{min-height:700px}.continuous .title .text{min-height:0}}
.dense .text{font-size:17px;line-height:1.22}.dense .footnotes{font-size:14px;line-height:1.17}@media(max-width:780px){.dense .text{font-size:17px}}
@media(max-width:780px){body{height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}header,.bar,.notice{flex:none}.bar{position:relative}.notice{max-height:84px;overflow:auto}main{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.mode-continuous main{margin-bottom:104px}body:has(.return-contents:not([hidden])):not(.mode-continuous) main{margin-bottom:56px}.mode-continuous:after,body:has(.return-contents:not([hidden])):not(.mode-continuous):after{content:"";position:fixed;left:0;right:0;bottom:0;height:104px;background:#e8e3d9;border-top:1px solid #c7baa7;z-index:65;pointer-events:none}body:has(.return-contents:not([hidden])):not(.mode-continuous):after{height:56px}.mode-continuous .book{padding-bottom:12px}.return-contents{bottom:calc(8px + env(safe-area-inset-bottom))}.edge-jumps{bottom:calc(8px + env(safe-area-inset-bottom))}}
@media(max-width:780px){header{padding:8px 10px}header h1{font-size:18px;line-height:1.13;margin:4px 0}header p{font-size:11px;line-height:1.2}.notice{max-height:48px;margin:4px 7px;padding:4px 7px;font-size:11px;line-height:1.25}}

/* Compact library header shared by both Engelmann readers. */
header.reader-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px max(18px,calc((100% - 1180px)/2));background:#263a32;color:#fbf5e9}
.reader-heading{min-width:0}.reader-heading small{display:block;color:#ddd4c4;font:12px/1.25 system-ui,sans-serif;letter-spacing:.02em}.reader-heading h1{font:23px/1.18 Georgia,serif;margin:4px 0}.reader-heading p{font:13px/1.3 system-ui,sans-serif;margin:3px 0 0;color:#e6ded0}
.reader-header nav{display:flex;flex:none;gap:8px;align-items:center}.reader-header nav a{white-space:nowrap;color:#fff6e0;text-decoration:none;border:1px solid #9eac9f;border-radius:4px;padding:8px 10px;font:13px/1.2 system-ui,sans-serif}.reader-header nav a:hover{background:#375248}.reader-header nav a:focus-visible{outline:3px solid #b38348;outline-offset:2px}
@media(max-width:780px){header.reader-header{display:block;padding:9px 11px}.reader-heading h1{font-size:17px;line-height:1.18;margin:3px 0}.reader-heading p{font-size:11px}.reader-header nav{gap:6px;margin-top:7px}.reader-header nav a{font-size:11px;padding:5px 8px}}

/* Two-level library masthead, matching the shared civil-law library chrome. */
header.reader-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:15px 28px;padding:20px clamp(22px,3.4vw,66px);background:#263a32;color:#faf4e6}
.reader-header>.global-library-brand{grid-column:1;grid-row:1;display:inline-flex;align-items:center;gap:14px;min-width:0;width:max-content;max-width:100%;color:#faf4e6;text-decoration:none;font:400 26px/1.1 Georgia,serif;white-space:normal}.reader-header>.global-library-brand img{width:59px;height:59px;flex:none}.reader-header>.global-library-brand span{min-width:0}
.reader-header>.global-library-menu{grid-column:2;grid-row:1;position:relative;order:0;width:auto;margin:0;padding:0;border:0}.reader-header .global-library-menu-toggle{display:none;align-items:center;gap:8px;min-height:42px;padding:8px 10px;border:1px solid #718078;background:transparent;color:#f6eddf;font:600 12px Arial,sans-serif}.reader-header .global-library-menu-icon{display:grid;gap:4px;width:18px}.reader-header .global-library-menu-icon i{display:block;height:2px;background:currentColor}.reader-header .global-library-nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin:0;font:500 11px/1.25 Arial,sans-serif}.reader-header .global-library-nav a{display:inline-flex;align-items:center;min-height:34px;padding:7px 9px;border:1px solid #66766e;border-radius:0;background:transparent;color:#eee2cd;text-decoration:none;white-space:nowrap;font:inherit}.reader-header .global-library-nav a:hover{background:#f1e7d7;color:#263a32}
.reader-header>.reader-heading{grid-column:1;grid-row:2;min-width:0}.reader-header .reader-heading small{display:block;color:#eee5d5;font:12px/1.25 Arial,sans-serif;letter-spacing:0}.reader-header .reader-heading h1{margin:4px 0 0;color:#faf4e6;font:25px/1.15 Georgia,serif}.reader-header .reader-heading p{display:none}
.reader-header>.author-return-link{grid-column:2;grid-row:2;justify-self:start;align-self:center;padding:0;border:0;border-radius:0;color:#f9f2e4;text-decoration:underline;font:13px/1.3 Arial,sans-serif;white-space:nowrap}
@media(max-width:900px){header.reader-header{grid-template-columns:minmax(0,1fr) auto;gap:10px 16px}.reader-header>.global-library-brand{font-size:21px}.reader-header>.global-library-brand img{width:47px;height:47px}.reader-header .reader-heading h1{font-size:21px}}
@media(max-width:700px){header.reader-header{display:grid;padding:12px 14px;grid-template-columns:minmax(0,1fr) auto;gap:9px}.reader-header>.global-library-brand{grid-column:1;grid-row:1;font-size:17px}.reader-header>.global-library-brand img{width:40px;height:40px}.reader-header>.global-library-menu{grid-column:2;grid-row:1;position:relative!important;top:auto!important;right:auto!important;margin:0!important}.reader-header .global-library-menu-toggle{display:inline-flex}.reader-header .global-library-nav{display:none!important;position:absolute;z-index:130;top:calc(100% + 7px);right:0;width:min(270px,calc(100vw - 28px));padding:8px;border:1px solid #718078;background:#263a32;box-shadow:0 14px 34px #0d1712aa}.reader-header .global-library-menu.is-open .global-library-nav{display:grid!important}.reader-header .global-library-nav a{display:flex;min-height:40px;padding:9px 11px;border:0;border-bottom:1px solid #536059;font-size:13px}.reader-header>.reader-heading{grid-column:1/-1;grid-row:2}.reader-header .reader-heading h1{font-size:19px}.reader-header>.author-return-link{grid-column:1/-1;grid-row:3;font-size:12px}}

/* Keep both header rows visible when the desktop reader scrolls. */
header.reader-header{position:sticky;top:0;z-index:120}.bar{position:sticky;top:var(--reader-header-height,0px);z-index:119}

/* Follow the approved control order while preserving the established handlers. */
.bar #contents{order:1}.bar #prev{order:2}.bar #sel{order:3}.bar #next{order:4}.bar [data-mode]{order:5}.bar #spell{order:6}.bar #status{order:7}
@media(max-width:780px){html body.library-reader{height:100dvh;overflow:hidden!important}html body.library-reader main .leaf{scroll-margin-top:10px!important}}

@media(max-width:780px){body.library-reader{height:auto;min-height:100dvh;display:block;overflow:visible!important}body.library-reader main{flex:none;overflow:visible;margin-bottom:0}body.library-reader.mode-continuous main{margin-bottom:0}body.library-reader.mode-continuous:after,body.library-reader:has(.return-contents:not([hidden])):not(.mode-continuous):after{content:none!important}body.library-reader .book{padding-bottom:100px}body.library-reader .scan{padding-bottom:100px}}
body.library-reader{padding-bottom:0}

/* Shared account control: the hosted module fills in the signed-in name. */
body>header.reader-header.hn-account-header{grid-template-columns:minmax(0,1fr) auto auto;column-gap:8px;padding-right:clamp(22px,3.4vw,66px)!important}
body>header.reader-header.hn-account-header>.global-library-menu{grid-column:2;grid-row:1;justify-self:end;position:relative!important;top:auto!important;right:auto!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important}
body>header.reader-header.hn-account-header>.hn-tools{position:relative!important;grid-column:3;grid-row:1;justify-self:end;align-self:center;top:auto!important;right:auto!important;max-width:none!important;margin:0!important;padding:0!important;display:flex;z-index:125}
.reader-header .hn-tools .hn-account-link{display:inline-flex;align-items:center;gap:8px;min-height:36px;max-width:180px;padding:7px 12px;border:1px solid #718078;border-radius:2px;background:transparent;color:#f6eddf!important;font:500 12px/1.25 Arial,sans-serif;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reader-header .hn-tools .hn-account-link:hover,.reader-header .hn-tools .hn-account-link:focus-visible{background:#f1e7d7!important;color:#263a32!important}
.reader-header .hn-tools .hn-account-icon{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7}
.reader-header .hn-tools .hn-account-label{min-width:0;overflow:hidden;text-overflow:ellipsis}
.reader-header .hn-tools .hn-account-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:250}
@media(min-width:701px) and (max-width:1249px){body>header.reader-header.hn-account-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto}body>header.reader-header.hn-account-header>.global-library-menu{grid-column:1/-1;grid-row:2;justify-self:start}body>header.reader-header.hn-account-header>.hn-tools{grid-column:2;grid-row:1}body>header.reader-header.hn-account-header>.reader-heading{grid-row:3}body>header.reader-header.hn-account-header>.author-return-link{grid-column:2;grid-row:3}}
@media(max-width:700px){body>header.reader-header.hn-account-header{grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto auto auto;padding-right:14px!important}body>header.reader-header.hn-account-header>.global-library-brand{grid-column:1;grid-row:1;max-width:100%}body>header.reader-header.hn-account-header>.hn-tools{grid-column:2;grid-row:1}body>header.reader-header.hn-account-header>.global-library-menu{grid-column:2;grid-row:2;justify-self:end}body>header.reader-header.hn-account-header>.reader-heading{grid-column:1/-1;grid-row:3}body>header.reader-header.hn-account-header>.author-return-link{grid-column:1/-1;grid-row:4}.reader-header .hn-tools .hn-account-link{min-height:40px;max-width:116px;padding:7px 9px;font-size:11px}}

/* Source notes occupy the lower part of a single leaf; continuous text has no spacer. */
.leaf.has-footnotes .text{display:flex;flex-direction:column}
.page .leaf.has-footnotes .text,.compare .leaf.has-footnotes .text{min-height:1020px}
.compare .leaf.has-footnotes .text{min-height:870px}
.page .leaf.has-footnotes .footnotes,.compare .leaf.has-footnotes .footnotes{margin-top:auto}
.footnotes{border:0;padding-top:0;margin-top:20px;font-size:.8em;line-height:1.16;text-align:left}
.footnotes::before{content:"";display:block;width:29%;height:1px;background:#887c6d;margin:0 0 11px}
.footnotes p{margin:0 0 .26em;text-indent:1em}
.fn-ref{font-size:.75em;line-height:0;vertical-align:super}
.fn-ref a,.fn-back{color:inherit;text-decoration:none}
.fn-ref a:hover,.fn-back:hover{text-decoration:underline;text-decoration-color:#806c53}
.fn-ref,.fn-back{scroll-margin-top:calc(var(--reader-header-height,0px) + 74px)}
.fn-ref:target,.fn-back:target{background:#f1dc9c;outline:2px solid #b38348}
@media(max-width:780px){.page .leaf.has-footnotes .text,.compare .leaf.has-footnotes .text{min-height:0}.footnotes{font-size:13.6px}.footnotes::before{margin-bottom:8px}}
.fn-ref.fn-target,.fn-back.fn-target{background:#f1dc9c;outline:2px solid #b38348}
.fn-ref,.fn-back{scroll-margin-top:calc(var(--reader-header-height,0px) + var(--reader-bar-height,0px) + 16px)}
.return-contents,.edge-jumps{bottom:calc(var(--library-footer-height,0px) + 12px + env(safe-area-inset-bottom))}
@media(max-width:780px){html body.library-reader{height:auto;min-height:100dvh;display:block;overflow:visible!important}html body.library-reader main{height:auto;min-height:0;overflow:visible!important}html body.library-reader main .leaf{scroll-margin-top:calc(var(--reader-header-height,0px) + var(--reader-bar-height,0px) + 14px)!important}}

/* Preserve a complete paper canvas in every reading mode. Long leaves grow naturally. */
.continuous .leaf{min-height:1130px;padding-bottom:48px}
.continuous .leaf-label{bottom:20px}
.continuous .title .text{min-height:1010px;padding-top:65px}
.continuous .title .text p:last-child{margin-top:auto}
.continuous .leaf.has-footnotes .text{min-height:1020px}
.continuous .leaf.has-footnotes .footnotes{margin-top:auto}
@media(max-width:780px){
 .leaf,.continuous .leaf,.compare .leaf{min-height:calc(155vw - 22px)}
 .continuous .title .text{min-height:700px;padding-top:18px}
 .leaf.has-footnotes .text,.continuous .leaf.has-footnotes .text,.compare .leaf.has-footnotes .text{min-height:calc(155vw - 109px)}
 .leaf.has-footnotes .footnotes,.continuous .leaf.has-footnotes .footnotes,.compare .leaf.has-footnotes .footnotes{margin-top:auto}
}

/* The 1859 title follows its scanned composition without changing the source text. */
section.land-title .text{display:block;position:relative;min-height:1010px;padding-top:0;text-align:center}
section.land-title .text>*{position:absolute;left:0;right:0;margin:0!important;text-align:center;text-indent:0;line-height:1.08}
section.land-title .title-initial{top:9%;font-size:25px;font-weight:700}
section.land-title .title-work{top:15%;font-size:38px;font-weight:700;letter-spacing:.015em}
section.land-title .title-subject{top:26%;font-size:24px;font-weight:700}
section.land-title .title-law{top:33%;font-size:20px;font-weight:700}
section.land-title .title-byline{top:42%;font-size:12px;font-weight:700}
section.land-title .title-author{top:47%;font-size:15px;font-weight:700}
section.land-title .title-rule{top:63%;left:calc(50% - 44px);right:auto;width:88px;height:1px;background:#3e382f}
section.land-title .title-city{top:82%;font-size:20px;font-weight:700}
section.land-title .title-printer{top:86%;font-size:11px;font-weight:700}
section.land-title .title-year{top:89%;font-size:17px;font-weight:700}
.compare:has(.land-title.active) .scan{position:static}
.compare:has(.land-title.active) .scan img{max-height:none;width:min(100%,730px)}
@media(max-width:780px){
 section.land-title .text{min-height:700px;padding-top:0}
 section.land-title .title-initial{font-size:20px}
 section.land-title .title-work{font-size:32px}
 section.land-title .title-subject{font-size:18px}
 section.land-title .title-law{font-size:18px}
 section.land-title .title-byline{font-size:13px}
 section.land-title .title-author{font-size:16px}
 section.land-title .title-city{font-size:19px}
 section.land-title .title-printer{font-size:11px}
 section.land-title .title-year{font-size:16px}
}
