:root{--bg:#faf9f7;--fg:#1a1a1a;--muted:#6b6b6b;--accent:#2d5016;--border:#e0ddd8;--sidebar-bg:#f5f3f0;--max-width:680px}@media (prefers-color-scheme:dark){:root{--bg:#141210;--fg:#e8e4df;--muted:#8a8680;--accent:#8cb369;--border:#2a2825;--sidebar-bg:#1a1816}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:18px}body{background:var(--bg);color:var(--fg);font-family:"Source Serif 4",Georgia,serif;line-height:1.7}.layout{min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);width:280px;height:100vh;padding:2rem 1.5rem;position:sticky;top:0;overflow-y:auto}.sidebar h2{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem;font-size:.9rem;font-weight:600}.sidebar nav a{color:var(--fg);border-left:2px solid #0000;padding:.35rem 0 .35rem .75rem;font-size:.85rem;line-height:1.4;text-decoration:none;transition:all .15s;display:block}.sidebar nav a:hover,.sidebar nav a.active{color:var(--accent);border-left-color:var(--accent)}.content{max-width:var(--max-width);flex:1;margin:0 auto;padding:3rem 2rem 6rem}.content h1{margin:3rem 0 1.5rem;font-size:2rem;font-weight:700;line-height:1.2}.content h1:first-child{margin-top:0}.content h2{margin:2.5rem 0 1rem;font-size:1.4rem;font-weight:600}.content h3{margin:2rem 0 .75rem;font-size:1.1rem;font-weight:600}.content p{margin-bottom:1.25rem}.content ul,.content ol{margin-bottom:1.25rem;padding-left:1.5rem}.content li{margin-bottom:.4rem}.content strong{font-weight:600}.content em{font-style:italic}.content hr{border:none;border-top:1px solid var(--border);margin:3rem 0}.content blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:1.5rem 0;padding-left:1.25rem;font-style:italic}.content code{background:var(--sidebar-bg);border-radius:3px;padding:.15em .35em;font-family:SF Mono,Fira Code,monospace;font-size:.85em}.content pre{background:var(--sidebar-bg);border-radius:6px;margin-bottom:1.5rem;padding:1.25rem;overflow-x:auto}.content pre code{background:0 0;padding:0}.chapter-nav{border-top:1px solid var(--border);justify-content:space-between;margin-top:4rem;padding-top:2rem;display:flex}.chapter-nav a{color:var(--accent);font-size:.9rem;text-decoration:none}.chapter-nav a:hover{text-decoration:underline}@media (max-width:768px){.sidebar{display:none}.content{padding:2rem 1.25rem 4rem}html{font-size:16px}}
