*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}body{font-family:Libre Franklin,sans-serif;font-weight:400;line-height:1.7;color:#1a1a1a;background:#fff}a{color:#1a1a1a;text-decoration:underline}a:hover{color:#555}.landing{max-width:640px;margin:0 auto;padding:4rem 1.5rem 3rem;text-align:center}.landing h1{font-size:2.4rem;font-weight:700;line-height:1.15;margin-bottom:.3rem;letter-spacing:-.01em}.landing .subtitle{font-size:1.05rem;font-weight:300;color:#555;margin-bottom:.5rem}.landing .author{font-size:.95rem;color:#777;margin-bottom:2rem}.landing .cover{display:block;margin:0 auto 2rem;max-width:200px;width:100%;border:1px solid #ddd}.landing .pitch{font-size:1rem;line-height:1.7;margin-bottom:2rem;text-align:left}.landing .cta{margin-bottom:3rem;font-size:1.05rem}.landing .cta a{margin:0 .75rem;font-weight:600}.landing .chapters{text-align:left;margin-bottom:3rem}.landing .chapters h2{font-size:1.1rem;font-weight:600;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.04em}.landing .chapters ol{padding-left:1.5rem}.landing .chapters li{margin-bottom:.35rem;font-size:.95rem}.landing .disclaimer{border-top:1px solid #ddd;padding-top:1.5rem;font-size:.8rem;color:#888;text-align:left;line-height:1.6}.reader{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;align-self:flex-start;width:280px;min-width:280px;height:100vh;overflow-y:auto;padding:1.5rem 1rem;border-right:1px solid #e5e5e5;font-size:.85rem;background:#fafafa}.sidebar-header{font-weight:700;font-size:.95rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e5e5e5}.sidebar-header a{text-decoration:none;color:#1a1a1a}.sidebar-search{margin-bottom:.75rem}.sidebar-search input{width:100%;padding:.35rem .5rem;font-size:.8rem;font-family:inherit;border:1px solid #ddd;border-radius:3px;background:#fff;outline:none}.sidebar-search input:focus{border-color:#aaa}.sidebar nav ul{list-style:none;padding:0}.sidebar nav li{margin-bottom:.15rem}.sidebar nav a{display:block;padding:.25rem .5rem;text-decoration:none;color:#555;border-radius:3px;line-height:1.4}.sidebar nav a:hover{color:#1a1a1a;background:#eee}.sidebar nav a.active{color:#1a1a1a;font-weight:600;background:#e8e8e8}.toc-chapter{margin-bottom:.1rem}.toc-sections{list-style:none;padding:0;display:none;margin:0}.toc-chapter.expanded .toc-sections{display:block}.sidebar nav .section-link{padding-left:1.2rem;font-size:.8rem;color:#888}.sidebar nav .section-link:hover{color:#555}.sidebar nav .section-link.active{color:#1a1a1a;font-weight:600}.sidebar-toggle{display:none;position:fixed;bottom:1.5rem;left:1.5rem;z-index:100;width:48px;height:48px;border-radius:50%;border:1px solid #ddd;background:#fff;font-size:1.3rem;cursor:pointer;box-shadow:0 2px 8px #0000001f;line-height:48px;text-align:center;padding:0}.sidebar-overlay{display:none}.reader-content{flex:1;min-width:0;padding:2.5rem 2rem;padding-right:calc(320px + 4rem);max-width:calc(65ch + 320px + 6rem);position:relative}.reader-content h1{font-size:2rem;font-weight:700;margin:2.5rem 0 1rem;line-height:1.2}.reader-content h1:first-child{margin-top:0}.reader-content h2{font-size:1.45rem;font-weight:600;margin:2rem 0 .75rem;line-height:1.3}.reader-content h3{font-size:1.15rem;font-weight:600;margin:1.5rem 0 .5rem}.reader-content p{margin-bottom:1rem;max-width:65ch}.reader-content ul,.reader-content ol{margin-bottom:1rem;padding-left:1.5rem;max-width:65ch}.reader-content li{margin-bottom:.3rem}.reader-content blockquote{border-left:3px solid #ddd;padding-left:1rem;margin:1rem 0;color:#555;max-width:65ch}.reader-content table{border-collapse:collapse;margin:1rem 0;margin-right:-160px;font-size:.9rem;width:calc(100% + 160px);max-width:none}.reader-content th,.reader-content td{border:1px solid #ddd;padding:.5rem .75rem;text-align:left}.reader-content th{background:#f5f5f5;font-weight:600}.reader-content hr{border:none;border-top:1px solid #ddd;margin:2rem 0}.reader-content strong{font-weight:600}.reader-content code{font-size:.9em;background:#f5f5f5;padding:.15em .3em;border-radius:3px}.chapter-summary{background-color:#ebf2fa;border:1px solid #a8c4e0;border-radius:6px;padding:1em 1.2em;font-size:.9rem;line-height:1.55;float:right;clear:right;width:300px;margin:.25rem 0 1rem 1.5rem;margin-right:calc(-300px - 2rem)}.chapter-summary .summary-title{margin:0 0 .5em;font-size:.8em;letter-spacing:.05em;text-transform:uppercase;font-weight:600}.chapter-summary ul{margin:0;padding-left:1.2em}.chapter-summary li{margin-bottom:.3em}.reader-content section{scroll-margin-top:1rem}@media(max-width:1100px){.reader-content{padding-right:2rem;max-width:800px}.chapter-summary{float:none;width:auto;max-width:65ch;margin:1.2em 0;font-size:.9rem}.reader-content table{margin-right:0;width:100%}}@media(max-width:768px){.sidebar{position:fixed;top:0;left:0;z-index:50;transform:translate(-100%);transition:transform .25s ease;box-shadow:none}.sidebar.open{transform:translate(0);box-shadow:4px 0 20px #00000026}.sidebar-toggle{display:block}.sidebar-overlay{position:fixed;inset:0;z-index:40;background:#0000004d}.sidebar-overlay.hidden{display:none}.reader-content{padding:1.5rem 1rem}.landing{padding:2.5rem 1.25rem 2rem}.landing h1{font-size:1.8rem}}.chapter-page{max-width:750px;margin:0 auto;padding:2rem 1.5rem 3rem}.chapter-page .reader-content{padding:0;max-width:none}.breadcrumb{font-size:.85rem;color:#888;margin-bottom:2rem}.breadcrumb a{color:#555}.breadcrumb span[aria-hidden]{margin:0 .4rem;color:#ccc}.chapter-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid #ddd;font-size:.95rem}.chapter-nav .nav-prev{margin-right:auto}.chapter-nav .nav-next{margin-left:auto}.qrh-index{padding:0}.qrh-index h1{font-size:2rem;font-weight:700;margin-bottom:.75rem}.qrh-intro{color:#555;margin-bottom:2rem;max-width:65ch}.qrh-list{list-style:none;padding:0}.qrh-list li{padding:.5rem 0;border-bottom:1px solid #f0f0f0;font-size:.95rem}.qrh-list a{font-weight:600}.qrh-desc{color:#777;font-size:.88rem}.site-footer{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1.5rem 1rem;border-top:1px solid #eee;font-size:.8rem;color:#999}.site-footer a{color:#999;text-decoration:none}.site-footer a:hover{color:#555;text-decoration:underline}
