:root{--reader-scale: 1;--reader-measure: 68ch}.reader-body{background:var(--paper)}.reader-bar{position:sticky;top:0;z-index:30;min-height:58px;padding:0 clamp(16px,3vw,34px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--paper);border-bottom:1px solid var(--rule)}.reader-back{min-width:0;display:flex;gap:8px;text-decoration:none;font-size:.84rem}.reader-back span{max-width:min(56vw,600px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.reader-tools{display:flex;gap:6px}.reader-tools button{min-width:38px;min-height:36px;border:1px solid var(--rule);background:transparent;border-radius:2px;cursor:pointer;font-size:.75rem}.reader-shell{width:min(1420px,100%);margin:0 auto;padding:58px clamp(20px,4vw,64px) 110px;display:grid;grid-template-columns:minmax(190px,250px) minmax(0,1fr);gap:clamp(48px,7vw,110px);align-items:start}.reader-toc{position:sticky;top:92px;max-height:calc(100vh - 120px);overflow:auto;padding-right:18px;scrollbar-width:thin}.reader-toc ol,.reader-mobile-toc ol{list-style:none;padding:0;margin:12px 0}.reader-toc li{border-top:1px solid var(--rule)}.reader-toc a{display:block;padding:9px 0;color:var(--secondary);text-decoration:none;font-size:.76rem;line-height:1.35}.reader-toc li.active a,.reader-mobile-toc li.active a{color:var(--accent);font-weight:700}.reader-document{width:min(100%,var(--reader-measure));min-width:0;margin:0 auto 0 0;font-family:var(--reader);font-size:calc(18.5px * var(--reader-scale));line-height:1.76;overflow-wrap:break-word}.chapter-header{padding-bottom:42px;margin-bottom:42px;border-bottom:1px solid var(--rule)}.chapter-header h1{margin:0;overflow-wrap:anywhere;font-family:var(--display);font-weight:500;font-size:clamp(3rem,7vw,6.6rem);line-height:.92;letter-spacing:-.045em}.reader-prose h2,.reader-prose h3,.reader-prose h4{font-family:var(--display);font-weight:600;line-height:1.12;letter-spacing:-.018em}.reader-prose h2{margin:2.2em 0 .65em;font-size:1.8em}.reader-prose h3{margin:1.9em 0 .55em;font-size:1.35em}.reader-prose p{margin:0 0 1.15em}.reader-prose blockquote{margin:1.8em 0;padding-left:1.1em;border-left:3px solid var(--accent);color:var(--secondary)}.reader-prose ul,.reader-prose ol{padding-left:1.35em}.reader-prose li{margin:.45em 0}.reader-prose table{width:100%;border-collapse:collapse;margin:1.8em 0;font-family:var(--ui);font-size:.88em}.reader-prose th,.reader-prose td{border-bottom:1px solid var(--rule);padding:9px 8px;text-align:left;vertical-align:top}.reader-prose pre{max-width:100%;overflow-x:auto;padding:1em;border:1px solid var(--rule);font-size:.82em}.reader-prose img,.reader-prose svg,.reader-prose video{max-width:100%;height:auto}.reader-prose hr{border:0;border-top:1px solid var(--rule);margin:3em 0}.reader-prose a{color:var(--accent)}.reader-prose sup{line-height:0}.reader-prose .footnotes{margin-top:4em;padding-top:2em;border-top:1px solid var(--strong-rule);font-family:var(--ui);font-size:.82em;color:var(--secondary)}.reader-chapter-nav{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:72px;padding-top:26px;border-top:1px solid var(--rule);font-family:var(--ui)}.reader-chapter-nav a{min-width:0;display:grid;gap:3px;text-decoration:none}.reader-chapter-nav a span{color:var(--accent);font-size:.66rem;text-transform:uppercase;letter-spacing:.11em}.reader-chapter-nav a strong{overflow-wrap:anywhere;font-weight:500}.reader-chapter-nav .next{text-align:right}.reader-mobile-toc{display:none;margin:0;padding:14px 20px;border-bottom:1px solid var(--rule)}.reader-mobile-toc summary{cursor:pointer;font-size:.82rem}.reader-mobile-toc li{padding:7px 0}.reader-mobile-toc a{text-decoration:none;font-size:.78rem}@media(max-width:900px){.reader-shell{grid-template-columns:1fr;padding-top:38px}.reader-toc{display:none}.reader-mobile-toc{display:block}.reader-document{margin:0 auto}.reader-tools button[data-reader-action=measure]{display:none}.reader-prose table{display:block;max-width:100%;overflow-x:auto}}@media(max-width:520px){.reader-bar{padding-inline:12px}.reader-back span{max-width:42vw}.reader-shell{padding-inline:18px}.reader-document{font-size:calc(18px * var(--reader-scale))}.chapter-header h1{font-size:clamp(2.8rem,14vw,4.8rem)}.reader-chapter-nav{gap:16px}}
