:root{color-scheme:light dark;--paper: #f0ebe1;--ink: #26221e;--muted: #8c8275;--accent: #6b7780;--gilt: #a38c67;--shadow: rgba(40, 28, 18, .08);--field: #e8e4db;--paper-noise: .045;--font-display: "Cormorant Garamond", "Times New Roman", serif;--font-body: "Literata", "Georgia", serif;--text-size: 1.25rem;--line-height: 1.58;--measure: 32.75rem;--pad-x: 1.55rem;--pad-safe-t: env(safe-area-inset-top, 0px);--pad-safe-b: env(safe-area-inset-bottom, 0px);--pad-safe-l: env(safe-area-inset-left, 0px);--pad-safe-r: env(safe-area-inset-right, 0px);--ease-out: cubic-bezier(.22, .61, .36, 1);--ease-ceremonial: cubic-bezier(.2, .8, .2, 1);--dur-micro: .18s;--dur-content: .32s;--dur-ceremonial: .44s}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #1c1815;--ink: #e0d6c8;--muted: #8a8175;--accent: #88939c;--gilt: #b09971;--shadow: rgba(0, 0, 0, .5);--field: #141210;--paper-noise: .012}}:root[data-theme=dark]{--paper: #1c1815;--ink: #e0d6c8;--muted: #8a8175;--accent: #88939c;--gilt: #b09971;--shadow: rgba(0, 0, 0, .5);--field: #141210;--paper-noise: .012}:root[data-theme=light]{--paper: #f0ebe1;--ink: #26221e;--muted: #8c8275;--accent: #6b7780;--gilt: #a38c67;--shadow: rgba(40, 28, 18, .08);--field: #e8e4db;--paper-noise: .045}:root[data-font=sm]{--text-size: 1.125rem}:root[data-font=md]{--text-size: 1.25rem}:root[data-font=lg]{--text-size: 1.375rem}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400 600;font-display:swap;src:url(./cormorant-garamond-DD2KOZkl.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400 600;font-display:swap;src:url(./cormorant-garamond-latin-BsRWmXhO.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata;font-style:normal;font-weight:400 600;font-display:swap;src:url(./literata-CNCMA2GQ.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Literata;font-style:normal;font-weight:400 600;font-display:swap;src:url(./literata-latin-CLtNJ872.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata;font-style:italic;font-weight:400;font-display:swap;src:url(./literata-italic-BGCtnF0_.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Literata;font-style:italic;font-weight:400;font-display:swap;src:url(./literata-italic-latin-BxdXY0No.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--field);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior:none}body{min-height:100dvh;overflow:hidden}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}#app{position:relative;width:100%;height:100dvh;overflow:hidden;background:var(--field)}.paper-noise{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;opacity:var(--paper-noise);background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='180'%20height='180'%20viewBox='0%200%20180%20180'%3e%3cfilter%20id='n'%3e%3cfeTurbulence%20type='fractalNoise'%20baseFrequency='0.85'%20numOctaves='4'%20stitchTiles='stitch'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.1%200%200%200%200%200.09%200%200%200%200%200.08%200%200%200%200.35%200'/%3e%3c/filter%3e%3crect%20width='180'%20height='180'%20filter='url(%23n)'/%3e%3c/svg%3e");background-size:180px 180px;mix-blend-mode:multiply}:root[data-theme=dark] .paper-noise{mix-blend-mode:soft-light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .paper-noise{mix-blend-mode:soft-light}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.screen.is-hidden{visibility:hidden;pointer-events:none}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity var(--dur-content) var(--ease-out)}.cover-exit-active{opacity:0;transition:opacity var(--dur-ceremonial) var(--ease-ceremonial)}.chapter-crossfade{opacity:0}.chapter-crossfade.is-in{opacity:1;transition:opacity .28s var(--ease-out)}@media(prefers-reduced-motion:reduce){.fade-enter-active,.cover-exit-active,.chapter-crossfade.is-in{transition-duration:80ms!important}}.boot{display:grid;place-items:center;background:var(--paper);z-index:40}.boot-inner{width:100%;height:100%}.boot.is-leaving{opacity:0;transition:opacity .18s var(--ease-out)}@media(prefers-reduced-motion:reduce){.boot.is-leaving{transition-duration:80ms}}.cover{z-index:30;display:flex;flex-direction:column;justify-content:space-between;padding:calc(2.75rem + var(--pad-safe-t)) calc(var(--pad-x) + var(--pad-safe-r)) calc(2.25rem + var(--pad-safe-b)) calc(var(--pad-x) + var(--pad-safe-l));background:radial-gradient(circle at 50% 40%,transparent 40%,var(--shadow) 150%),var(--paper);color:var(--ink);user-select:none;-webkit-user-select:none;touch-action:pan-y;box-shadow:inset 0 0 120px var(--shadow)}.cover-top{display:flex;justify-content:flex-start;font-family:var(--font-body);font-size:.65rem;letter-spacing:.12em;color:var(--muted);opacity:.6;text-transform:uppercase}.cover-center{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;transform:translateY(-2vh);padding:0 1rem}.cover-title{margin:0;font-family:var(--font-display);font-weight:500;font-size:clamp(2.9rem,11vw,3.75rem);line-height:1.05;letter-spacing:.02em;color:color-mix(in srgb,var(--ink) 85%,var(--gilt));text-shadow:0px 1px 1px color-mix(in srgb,var(--paper) 60%,white),0px -1px 1px color-mix(in srgb,var(--ink) 15%,transparent)}.cover-dedication{margin:2.5rem 0 0;font-family:var(--font-body);font-style:italic;font-size:1.05rem;color:var(--muted);max-width:18rem;line-height:1.5;opacity:.85}.cover-rule{width:32px;height:1px;margin:2.5rem auto 0;background:var(--gilt);opacity:.4;position:relative}.cover-rule:before,.cover-rule:after{content:"";position:absolute;top:50%;width:2px;height:2px;border-radius:50%;background:var(--gilt);transform:translateY(-50%)}.cover-rule:before{left:-10px}.cover-rule:after{right:-10px}.cover-bottom{display:flex;flex-direction:column;align-items:center;gap:.5rem}.cover-edition,.cover-year{font-family:var(--font-body);font-size:.65rem;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.cover-edition{opacity:.6}.cover-year{opacity:.4}.cover:focus-visible{outline:none}.cover:focus-visible .cover-rule{opacity:.7}.reader{z-index:10;background:var(--field);display:flex;flex-direction:column;opacity:0;pointer-events:none}.reader.is-active{opacity:1;pointer-events:auto;transition:opacity var(--dur-ceremonial) var(--ease-ceremonial)}.reader.is-settings-front{opacity:1;pointer-events:auto;z-index:40}.reader-scroll{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-behavior:auto;scrollbar-width:none;padding:calc(3.5rem + var(--pad-safe-t)) calc(max(var(--pad-x),2.55rem) + var(--pad-safe-r)) calc(11rem + var(--pad-safe-b)) calc(max(var(--pad-x),2.55rem) + var(--pad-safe-l))}.reader-scroll::-webkit-scrollbar{display:none}.chapter{max-width:var(--measure);margin:0 auto;contain:content}.chapter.is-prologue{padding-top:10vh}.chapter-label{margin:0 0 1rem;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);opacity:.6}.chapter-title{margin:0;font-family:var(--font-display);font-weight:500;font-size:clamp(2rem,5.8vw,2.5rem);line-height:1.2;letter-spacing:.02em;color:var(--ink);text-shadow:0px 1px 1px color-mix(in srgb,var(--paper) 40%,transparent);orphans:2;widows:2}.chapter-rule{width:24px;height:1px;margin:2rem 0 3rem;background:var(--gilt);opacity:.3}.chapter-body{font-size:var(--text-size);line-height:var(--line-height);font-weight:400;color:color-mix(in srgb,var(--ink) 95%,transparent)}.chapter-body p{margin:0 0 1.2em;orphans:2;widows:2;hyphens:auto;-webkit-hyphens:auto}.chapter-body p:last-child{margin-bottom:0}.chapter-body p.is-ellipsis{letter-spacing:.1em;color:var(--muted);opacity:.5;margin:2em 0;text-align:center}.chapter-end-space{height:18vh}.chapter.is-last .chapter-end-space{height:10vh}.colophon{max-width:var(--measure);margin:0 auto;padding:6rem 0 25vh;text-align:center;position:relative}.colophon:before{content:"";display:block;width:12px;height:12px;margin:0 auto 2.5rem;background:var(--gilt);mask:radial-gradient(circle,black 30%,transparent 31%);-webkit-mask:radial-gradient(circle,black 30%,transparent 31%);opacity:.3}.colophon p{margin:.6rem 0;font-family:var(--font-body);font-style:italic;font-size:.85rem;color:var(--muted);line-height:1.6}.bookmark-mark{position:absolute;top:0;left:calc(1.5rem + var(--pad-safe-l));width:8px;height:32px;border-radius:0 0 2px 2px;background:var(--gilt);opacity:0;pointer-events:none;z-index:20;box-shadow:1px 1px 4px var(--shadow)}.bookmark-mark.is-on{opacity:.85}.progress-edge{position:absolute;top:calc(25% + var(--pad-safe-t));right:calc(.1rem + var(--pad-safe-r));width:2px;height:20%;border-radius:2px;background:color-mix(in srgb,var(--ink) 5%,transparent);opacity:0;transition:opacity .45s var(--ease-out);pointer-events:none;z-index:15}.progress-edge.is-visible{opacity:1}.progress-edge-fill{position:absolute;left:0;top:0;width:100%;height:0%;background:var(--muted);border-radius:inherit;opacity:.4}.nav-arrow{position:absolute;top:50%;z-index:18;width:3rem;height:6rem;margin-top:-3rem;display:grid;place-items:center;font-family:var(--font-display);font-size:1.5rem;color:var(--muted);opacity:0;transition:opacity .4s var(--ease-out);-webkit-tap-highlight-color:transparent}.nav-arrow:hover,.nav-arrow:focus-visible{opacity:.3}.nav-arrow:active{opacity:.5}.nav-arrow.is-disabled,.nav-arrow:disabled{opacity:0;pointer-events:none}.nav-arrow-prev{left:max(.1rem,var(--pad-safe-l))}.nav-arrow-next{right:max(.1rem,var(--pad-safe-r))}.nav-arrow:focus-visible{outline:none}.chrome{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;pointer-events:none;opacity:0;transition:opacity var(--dur-content) var(--ease-out)}.chrome.is-open{opacity:1;pointer-events:auto}.chrome-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--field) 60%,transparent)}.chrome-panel{position:absolute;left:50%;bottom:calc(2rem + var(--pad-safe-b));transform:translate(-50%);width:min(90vw,22rem);display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.2rem;background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 6%,transparent);border-radius:2px;box-shadow:0 12px 32px var(--shadow)}.chrome-status{text-align:center;font-size:.7rem;letter-spacing:.06em;color:var(--muted);font-style:italic;margin-bottom:.25rem}.chrome-actions{display:flex;justify-content:space-between;gap:.5rem}.chrome-btn{flex:1;min-height:2.2rem;font-size:.75rem;letter-spacing:.04em;color:var(--muted);transition:color .2s ease}.chrome-btn:active{color:var(--ink)}.toc{position:absolute;top:0;right:0;bottom:0;left:0;z-index:28;background:var(--paper);opacity:0;pointer-events:none;transition:opacity var(--dur-content) var(--ease-out);padding:calc(3.5rem + var(--pad-safe-t)) calc(max(var(--pad-x),2.5rem) + var(--pad-safe-r)) calc(3.5rem + var(--pad-safe-b)) calc(max(var(--pad-x),2.5rem) + var(--pad-safe-l));overflow-y:auto}.toc.is-open{opacity:1;pointer-events:auto}.toc-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.5rem}.toc-title{margin:0;font-family:var(--font-display);font-size:1.6rem;font-weight:500;color:var(--ink)}.toc-close{font-size:.75rem;letter-spacing:.04em;color:var(--muted)}.toc-progress{display:none}.toc-list{list-style:none;margin:0;padding:1rem 0;max-width:var(--measure);border-top:1px solid color-mix(in srgb,var(--ink) 8%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}.toc-item{width:100%;text-align:left;padding:1rem 0;display:grid;grid-template-columns:2rem 1fr 1rem;gap:1rem;align-items:baseline}.toc-item-index{font-variant-numeric:tabular-nums;font-size:.7rem;color:var(--muted);opacity:.5}.toc-item-text{display:flex;flex-direction:column;gap:.2rem}.toc-item-label{display:none}.toc-item-title{font-family:var(--font-display);font-size:1.25rem;color:var(--muted);transition:color .2s ease}.toc-item-mark{font-size:.8rem;color:var(--gilt);opacity:0}.toc-item-mark.is-marked{opacity:.6}.toc-item.is-current .toc-item-title{color:var(--ink)}.toc-item.is-current{background:none}.toc-home{margin-top:2.5rem;font-size:.75rem;letter-spacing:.04em;color:var(--muted)}.settings{position:absolute;top:0;right:0;bottom:0;left:0;z-index:29;display:grid;place-items:center;background:color-mix(in srgb,var(--field) 85%,transparent);opacity:0;pointer-events:none;transition:opacity var(--dur-content) var(--ease-out);padding:var(--pad-x)}.settings.is-open{opacity:1;pointer-events:auto}.settings-card{width:min(90vw,20rem);padding:2rem 1.5rem;background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 6%,transparent);border-radius:2px;box-shadow:0 16px 40px var(--shadow)}.settings-card h2{margin:0 0 1.5rem;font-family:var(--font-display);font-size:1.2rem;font-weight:500;text-align:center;color:var(--ink)}.settings-row{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.settings-row span{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center}.settings-opts{display:flex;gap:.5rem}.settings-opts button{flex:1;min-height:2.5rem;border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:2px;font-size:.8rem;color:var(--muted);transition:all .2s ease}.settings-opts button.is-active{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 40%,transparent);background:color-mix(in srgb,var(--ink) 2%,transparent)}.settings-done{width:100%;min-height:2.5rem;margin-top:.5rem;font-size:.75rem;letter-spacing:.04em;color:var(--ink)}.chrome-btn:focus-visible,.toc-close:focus-visible,.toc-item:focus-visible,.toc-home:focus-visible,.settings-opts button:focus-visible,.settings-done:focus-visible{outline:none;color:var(--ink)}
