@font-face{font-family:Charter;src:local("Charter"),local("Charter-Roman");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:Charter;src:local("Charter Italic"),local("Charter-Italic");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:Charter;src:local("Charter Bold"),local("Charter-Bold");font-display:swap;font-weight:700;font-style:normal}:root{--bg: #f3eee4;--bg-elev: #ece5d5;--paper: #faf6ec;--ink: #2a2826;--ink-soft: #5a5650;--ink-faint: #8a857c;--rule: #d4ccba;--accent: #6c2516;--accent-soft: #a14a36;--link: #6c2516;--link-hover: #2a2826;--font-body: "Charter", "Iowan Old Style", "Source Serif 4", "Source Serif Pro", "Georgia", "Cambria", serif;--font-display: var(--font-body);--font-mono: ui-monospace, "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--measure: 36rem;--measure-wide: 44rem}[data-theme=dark]{--bg: #1a1816;--bg-elev: #221f1c;--paper: #1f1d1a;--ink: #ddd5c5;--ink-soft: #b1a995;--ink-faint: #7d7765;--rule: #3a352e;--accent: #d6826b;--accent-soft: #b06853;--link: #d6826b;--link-hover: #f0d9c8}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:18px;line-height:1.65;font-feature-settings:"kern" 1,"liga" 1,"onum" 1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh}a{color:var(--link);text-decoration:none;border-bottom:1px solid currentColor;transition:color .12s ease}a:hover{color:var(--link-hover)}.app{display:block;min-height:100vh;min-height:100dvh}.topbar{position:fixed;top:0;left:0;right:0;height:3.2rem;z-index:30;background:var(--bg);border-bottom:1px solid var(--rule);display:flex;align-items:center;padding:0 1.2rem;gap:1rem;font-family:var(--font-ui);font-size:.9rem}.layout{padding-top:3.2rem}.topbar .progress{position:absolute;bottom:-1px;left:0;height:2px;background:var(--accent);transition:width 80ms linear;width:0}.topbar .brand{font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--ink);border:none;letter-spacing:.01em}.topbar .spacer{flex:1}.topbar button,.topbar a.btn{font:inherit;background:transparent;border:1px solid var(--rule);color:var(--ink-soft);padding:.3rem .7rem;border-radius:4px;cursor:pointer;text-transform:lowercase;letter-spacing:.02em}.topbar button:hover,.topbar a.btn:hover{border-color:var(--ink-soft);color:var(--ink)}.layout{display:grid;grid-template-columns:minmax(0,16rem) minmax(0,1fr);gap:0;align-items:start}.sidebar-overlay{position:fixed;inset:0;z-index:35;background:#0006;display:none}.sidebar{border-right:1px solid var(--rule);background:var(--bg-elev);position:sticky;top:3.2rem;height:calc(100vh - 3.2rem);overflow-y:auto;padding:1.5rem 1rem 4rem;font-family:var(--font-ui);font-size:.85rem}.sidebar h2{font-family:var(--font-display);font-size:.9rem;font-weight:700;margin:1.4rem 0 .4rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em}.sidebar h2:first-child{margin-top:0}.sidebar ol{list-style:none;margin:0;padding:0}.sidebar li a{display:flex;gap:.5rem;padding:.25rem .4rem;border-radius:3px;color:var(--ink-soft);border:none;line-height:1.4}.sidebar li a:hover{background:var(--bg);color:var(--ink)}.sidebar li a.active{background:var(--paper);color:var(--ink);border-left:2px solid var(--accent);padding-left:calc(.4rem - 2px)}.sidebar li .num{font-variant-numeric:tabular-nums;color:var(--ink-faint);font-size:.78rem;min-width:1.5rem;font-family:var(--font-mono);padding-top:.05rem}.sidebar li .title{flex:1}.menu-button{display:none;background:transparent;border:none;font-size:1.4rem;cursor:pointer;color:var(--ink);padding:0;width:2rem}main.reading{padding:4rem 2rem 8rem;background:var(--paper);min-height:calc(100vh - 3.2rem)}.chapter{max-width:var(--measure);margin:0 auto}.chapter-meta{font-family:var(--font-ui);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);margin-bottom:.6rem}.chapter-title{font-family:var(--font-display);font-size:2.4rem;line-height:1.15;font-weight:700;margin:0 0 .5rem;letter-spacing:-.005em;color:var(--ink)}.chapter-takeaway{font-style:italic;color:var(--ink-soft);font-size:1rem;border-left:2px solid var(--rule);padding-left:1rem;margin:1.2rem 0 2.6rem;line-height:1.55}.chapter-body p{margin:0 0 1.2em;text-align:left;hyphens:auto;-webkit-hyphens:auto}.chapter-body p:first-of-type:first-line{font-variant-caps:small-caps;letter-spacing:.04em}.chapter-body p:first-of-type:first-letter{font-family:var(--font-display);font-size:3.4em;float:left;line-height:.85;padding:.18em .1em 0 0;font-weight:700;color:var(--accent)}.chapter-nav{margin-top:4rem;padding-top:1.6rem;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:2rem;font-family:var(--font-ui);font-size:.85rem}.chapter-nav a{border:none;color:var(--ink-soft);display:flex;flex-direction:column;gap:.2rem;max-width:16rem}.chapter-nav .nav-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint)}.chapter-nav .nav-title{font-family:var(--font-display);font-size:1rem;color:var(--ink)}.chapter-nav .next{text-align:right;margin-left:auto}.index-page{max-width:var(--measure-wide);margin:4rem auto;padding:0 2rem}.index-page .book-title{font-family:var(--font-display);font-size:3rem;line-height:1.05;margin:0 0 .4rem;letter-spacing:-.01em}.index-page .book-subtitle{color:var(--ink-soft);font-size:1rem;font-style:italic;margin:0 0 3rem;max-width:30rem}.index-page .part-block{margin:2.6rem 0}.index-page .part-label{font-family:var(--font-ui);font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint)}.index-page .part-title{font-family:var(--font-display);font-size:1.5rem;margin:.1rem 0 .4rem;font-weight:700}.index-page .part-description{color:var(--ink-soft);font-style:italic;margin:0 0 1rem;max-width:38rem;font-size:.95rem}.index-page ol.chapters{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.index-page ol.chapters li{border-bottom:1px solid var(--rule)}.index-page ol.chapters li a{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:1rem;padding:.7rem .2rem;border:none;color:var(--ink);align-items:baseline}.index-page ol.chapters li a:hover{background:var(--bg-elev)}.index-page ol.chapters .num{color:var(--ink-faint);font-family:var(--font-mono);font-size:.85rem;font-variant-numeric:tabular-nums}.index-page ol.chapters .title{font-family:var(--font-display);font-weight:700;font-size:1.05rem}.index-page ol.chapters .desc{display:block;color:var(--ink-soft);font-size:.9rem;font-style:italic;margin-top:.15rem;font-weight:400}.viz-page{max-width:var(--measure-wide);margin:4rem auto;padding:0 2rem}.viz-page h1{font-family:var(--font-display);font-size:2.4rem;margin:0 0 .5rem}.viz-page .lede{color:var(--ink-soft);font-style:italic;margin:0 0 2.5rem}.viz-group{margin:2.4rem 0}.viz-group h2{font-family:var(--font-display);font-size:1.3rem;border-bottom:1px solid var(--rule);padding-bottom:.4rem;margin:0 0 .8rem}.viz-group ul{list-style:none;padding:0;margin:0}.viz-group li{padding:.6rem 0;border-bottom:1px solid var(--rule)}.viz-group li a{border:none;color:var(--ink);font-family:var(--font-display);font-weight:700}.viz-group li .arrow{color:var(--ink-faint);margin-left:.4rem}footer.colophon{max-width:var(--measure-wide);margin:6rem auto 4rem;padding:2rem 2rem 0;font-family:var(--font-ui);font-size:.78rem;color:var(--ink-faint);border-top:1px solid var(--rule);font-style:italic}@media(max-width:900px){.layout{display:block}.sidebar{position:fixed;top:0;left:0;bottom:0;width:86%;max-width:22rem;height:auto;z-index:40;transform:translate(-100%);transition:transform .22s ease;background:var(--bg-elev);border-right:1px solid var(--rule);overflow-y:auto;padding:4rem 1rem}.sidebar.open{transform:translate(0)}.sidebar-overlay.open{display:block}.menu-button{display:inline-block}main.reading{padding:2rem 1.2rem 6rem;min-height:auto}.chapter-title{font-size:2rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
