
:root{ --maxw:1200px; --pad:1.25rem; --measure:88ch; --line:1.7; --bg:#fafafa; --fg:#111; --muted:#666; --link:#0b5fff; }
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:ui-serif,Georgia,Cambria,'Times New Roman',Times,serif;line-height:var(--line);background:var(--bg);color:var(--fg)}
.header{position:sticky;top:0;background:rgba(250,250,250,.85);backdrop-filter:blur(6px);border-bottom:1px solid #eee;z-index:10}
.header-inner{max-width:var(--maxw);margin:0 auto;padding:.75rem var(--pad);display:flex;justify-content:space-between;align-items:baseline}
.title{font-weight:600;letter-spacing:.2px}
.container{max-width:var(--maxw);margin:0 auto;padding:1rem var(--pad) 4rem}
main{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:2rem}
@media (max-width:900px){main{grid-template-columns:1fr}.toc{position:relative;top:0;max-height:none}}
.toc{position:sticky;top:3.5rem;max-height:calc(100vh - 4rem);overflow:auto;padding-right:.5rem}
.toc-title{font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:.5rem 0}
.toc-nav ul{list-style:none;margin:0;padding-left:.9rem}.toc-nav>ul{padding-left:0}
.toc a{text-decoration:none;color:#444}.toc a:hover{text-decoration:underline}
article{max-width:var(--measure);justify-self:center}
article h1{font-size:2rem;margin:1.4rem 0 .75rem}
article h2{font-size:1.68rem;margin:1.25rem 0 .5rem}
article h3{font-size:1.3rem;margin:1rem 0 .5rem;color:#333}
article h4{font-size:1.1rem;margin:.75rem 0 .4rem;color:#444}
article p{margin:.9rem 0;font-size:1.07rem}
article a{color:var(--link)}
figure{margin:1.25rem 0} figure img{max-width:100%;height:auto;border-radius:6px;display:block}
figure figcaption{text-align:center;color:var(--muted);font-size:.9rem;margin-top:.25rem}
blockquote{margin:1rem 0;padding:.5rem 1rem;border-left:3px solid #ddd;background:#f7f7f7;color:#444}
code,pre{background:#f0f0f0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace}
pre{padding:.75rem 1rem;border-radius:6px;overflow:auto}
