:root{--paper:#f5efe3;--sheet:#fffdf8;--ink:#27251f;--muted:#7d786e;--line:#d9d0bf;--accent:#a94f36;--deep:#243c3d;--font-size:18px;scroll-behavior:smooth}
*{box-sizing:border-box}html{scroll-padding-top:74px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif}button{font:inherit;cursor:pointer}a{color:inherit}.progress{height:3px;background:var(--accent);position:fixed;top:0;left:0;width:0;z-index:30;transition:width .12s}.topbar{height:62px;position:sticky;top:0;z-index:20;background:rgba(245,239,227,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;gap:18px;font-family:Arial,sans-serif}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:11px;letter-spacing:.19em;font-weight:700;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--accent);color:var(--accent);font-family:Georgia,serif;font-size:12px;letter-spacing:-.06em}.top-title{font-family:Georgia,serif;font-size:13px;color:var(--muted);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-button{display:none;background:none;border:0;color:var(--ink);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.layout{display:grid;grid-template-columns:260px minmax(0,1fr);max-width:1600px;margin:auto}.sidebar{border-right:1px solid var(--line);min-height:calc(100vh - 62px)}.sidebar-inner{position:sticky;top:62px;padding:48px 29px 30px;max-height:calc(100vh - 62px);overflow:auto}.eyebrow,.chapter-kicker{font-family:Arial,sans-serif;font-weight:700;font-size:10px;letter-spacing:.21em;color:var(--accent);text-transform:uppercase}.sidebar h2{font-size:26px;font-weight:400;letter-spacing:-.035em;margin:12px 0 31px}.sidebar nav{display:flex;flex-direction:column}.sidebar nav a{display:flex;gap:14px;align-items:baseline;text-decoration:none;border-top:1px solid var(--line);padding:14px 0;font-size:14px;line-height:1.35;transition:color .2s}.sidebar nav a:hover,.sidebar nav a.active{color:var(--accent)}.sidebar nav span{font-family:Arial,sans-serif;color:var(--muted);font-size:10px}.sidebar-bottom{margin-top:32px;display:flex;flex-direction:column;gap:13px;color:var(--muted);font:11px Arial,sans-serif}.sidebar-bottom a{text-decoration:none;color:var(--accent)}main{min-width:0}.cover{min-height:calc(100vh - 62px);background:#e5d5bd;position:relative;overflow:hidden;display:flex;align-items:center;padding:10vh clamp(30px,8vw,130px);isolation:isolate}.cover:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f2e6d2 0%,#ecdcc6 43%,transparent 100%);z-index:-1}.cover-content{position:relative;z-index:3;max-width:640px}.cover-overline{font:700 11px Arial,sans-serif;letter-spacing:.24em;color:var(--accent);margin:0 0 26px}.cover h1{font-size:clamp(58px,8vw,112px);line-height:.95;letter-spacing:-.075em;font-weight:400;margin:0;color:#253c3d;text-wrap:balance}.cover-author{font-size:21px;margin:24px 0 0;font-style:italic;color:#394646}.cover-deck{max-width:390px;margin:45px 0 27px;font-size:18px;line-height:1.55;color:#425052}.start-button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:var(--accent);padding:15px 18px 15px 22px;text-decoration:none;color:white;font:700 11px Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase}.start-button:hover{background:#873c2a}.start-button span{font-size:18px;font-weight:400}.cover-foot{position:absolute;bottom:28px;left:clamp(30px,8vw,130px);font:700 10px Arial,sans-serif;letter-spacing:.19em;color:#6c6a5f}.cover-art{position:absolute;right:-4%;top:0;bottom:0;width:55%;overflow:hidden;background:linear-gradient(155deg,#e7cfad 10%,#d3af8a 53%,#6b7971 100%);clip-path:ellipse(78% 85% at 83% 50%);z-index:0}.cover-art:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 2px,transparent 2px,transparent 6px)}.moon{position:absolute;width:180px;height:180px;border-radius:50%;background:#f6e5bf;box-shadow:0 0 90px 23px rgba(255,234,189,.42);top:15%;right:21%}.road{position:absolute;width:105%;height:65%;bottom:-32%;right:-12%;border-radius:50% 50% 0 0;background:#263e3e;transform:rotate(-17deg)}.road:before{content:'';position:absolute;inset:0;border-top:5px solid rgba(245,226,190,.8);border-radius:inherit}.road span{position:absolute;left:30%;top:13%;height:65%;width:3px;border-left:3px dashed rgba(238,214,170,.55);transform:rotate(24deg)}.reader-shell{max-width:800px;margin:auto;padding:0 clamp(24px,6vw,78px);background:var(--sheet);box-shadow:0 5px 45px rgba(46,38,27,.05)}.reader-toolbar{position:sticky;top:62px;z-index:10;min-height:64px;display:flex;justify-content:space-between;align-items:center;background:var(--sheet);border-bottom:1px solid var(--line);font-family:Arial,sans-serif}.reader-label{font-size:10px;letter-spacing:.2em;color:var(--muted);font-weight:700}.toolbar-actions{display:flex;gap:7px}.toolbar-actions button{border:1px solid var(--line);background:none;color:var(--ink);min-width:39px;height:33px;font:13px Arial,sans-serif}.toolbar-actions button:hover{border-color:var(--accent);color:var(--accent)}.toolbar-actions button:last-child{padding:0 10px}.preface{margin:72px 0 112px;padding:22px 0 21px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.preface p:last-child{font-size:14px;line-height:1.6;color:var(--muted);font-style:italic;max-width:620px}.chapter{padding:0 0 70px;margin:0 0 100px;border-bottom:1px solid var(--line);scroll-margin-top:160px}.chapter-kicker{margin-bottom:19px}.chapter h2{font-size:clamp(38px,5vw,57px);line-height:1.04;letter-spacing:-.055em;font-weight:400;margin:0 0 44px;color:var(--deep)}.chapter p{font-size:var(--font-size);line-height:1.85;margin:0 0 1.25em;text-align:justify;hyphens:auto}.chapter p:first-of-type:first-letter{float:left;font-size:3.9em;line-height:.83;margin:.09em .11em 0 0;color:var(--accent)}.chapter em{font-style:italic}.ending{text-align:center;padding:0 0 90px;color:var(--muted)}.ending-mark{font-size:22px;color:var(--accent)}.ending p{font-style:italic;font-size:22px;color:var(--ink);margin:15px 0 20px}.ending>a{font:11px Arial,sans-serif;color:var(--accent);text-decoration:none;text-transform:uppercase;letter-spacing:.12em}.credit{margin-top:85px;padding-top:22px;border-top:1px solid var(--line);font:10px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
body.dark{--paper:#172122;--sheet:#202a2a;--ink:#e8e1d4;--muted:#b7ada0;--line:#46504c;--accent:#d98667;--deep:#e8e1d4}body.dark .topbar{background:rgba(23,33,34,.96)}body.dark .cover{background:#203638}body.dark .cover:before{background:linear-gradient(90deg,#203638 0%,#30433f 47%,transparent 100%)}body.dark .cover h1,body.dark .cover-author,body.dark .cover-deck{color:#efe8d9}body.dark .cover-foot{color:#c8b8a3}body.dark .cover-art{opacity:.65}
@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:fixed;z-index:19;top:62px;left:0;bottom:0;width:min(330px,85vw);background:var(--paper);transform:translateX(-105%);transition:transform .25s;box-shadow:14px 0 25px rgba(0,0,0,.12)}.sidebar.open{transform:translateX(0)}.menu-button{display:block}.top-title{display:none}.cover-art{width:62%;opacity:.85}.cover:before{background:linear-gradient(90deg,#f2e6d2 0%,#ecdcc6 45%,rgba(236,220,198,.55) 100%)}}
@media(max-width:600px){.topbar{padding:0 17px}.cover{min-height:calc(100svh - 62px);padding:65px 26px 80px;align-items:flex-end}.cover-art{width:100%;right:-27%;clip-path:ellipse(85% 85% at 78% 40%);opacity:.68}.cover:before{background:linear-gradient(0deg,#f2e6d2 0%,rgba(242,230,210,.95) 32%,rgba(242,230,210,.2) 100%)}.cover h1{font-size:clamp(51px,12vw,72px)}.cover-overline{font-size:9px}.cover-deck{font-size:16px;margin-top:25px}.cover-foot{left:26px;bottom:18px}.reader-shell{padding:0 24px}.preface{margin:45px 0 75px}.chapter{margin-bottom:65px;padding-bottom:45px}.chapter h2{margin-bottom:32px}.chapter p{text-align:left;line-height:1.73}.reader-toolbar{min-height:55px}.reader-label{font-size:9px}}
@media print{.topbar,.sidebar,.reader-toolbar,.progress,.start-button,.ending>a{display:none!important}.layout{display:block}.cover{min-height:100vh;page-break-after:always}.cover-art{print-color-adjust:exact}.reader-shell{box-shadow:none;max-width:none;padding:0 14mm}.preface{page-break-after:always}.chapter{page-break-before:always;border:0;margin:0;padding:0}.chapter h2{font-size:30pt}.chapter p{font-size:11pt;line-height:1.5}.ending{padding:20mm 0}body{background:white}}

