:root{--bg:#fff;--text:#222;--text-muted:#555;--link:#06c;--code-bg:#f5f5f5;--border:#ddd;--header-bg:#fafafa}[data-theme=dark]{--bg:#1a1a1a;--text:#e0e0e0;--text-muted:#999;--link:#69f;--code-bg:#2a2a2a;--border:#444;--header-bg:#222}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:var(--bg);margin:0;padding:0;font-family:Georgia,Times New Roman,Times,serif;line-height:1.6}header{background:var(--header-bg);border-bottom:1px solid var(--border);text-align:center;padding:2rem 1rem}.header-content{position:relative;max-width:800px;margin:0 auto}header h1{margin:0 0 .5rem;font-size:2.5rem;font-weight:400}.tagline{color:var(--text-muted);margin:0;font-style:italic}#theme-toggle{position:absolute;border:1px solid var(--border);cursor:pointer;color:var(--text);background:0 0;border-radius:4px;padding:.5rem;font-size:1.2rem;top:0;right:0}nav{border-bottom:1px solid var(--border);position:sticky;background:var(--bg);z-index:100;padding:.75rem 1rem;top:0}nav ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;max-width:800px;margin:0 auto;padding:0}nav a{color:var(--link);text-decoration:none}nav a:hover{text-decoration:underline}main{max-width:800px;margin:0 auto;padding:2rem 1rem}section{border-bottom:1px solid var(--border);margin-bottom:3rem;padding-bottom:2rem;scroll-margin-top:3.5rem}section:last-child{border-bottom:none}h2{margin:0 0 1rem;padding-top:1rem;scroll-margin-top:4rem;font-size:1.75rem;font-weight:400}h3{color:var(--text);margin:2rem 0 .75rem;font-size:1.25rem;font-weight:400}h4{color:var(--text-muted);margin:1.5rem 0 .5rem;font-size:1rem;font-style:italic;font-weight:400}h5{margin:1rem 0 .5rem;font-size:.9rem;font-weight:700}p{margin:0 0 1rem}a{color:var(--link)}pre{background:var(--code-bg);overflow-x:auto;border-radius:4px;margin:0 0 1rem;padding:1rem}code{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.9em}:not(pre)>code{background:var(--code-bg);border-radius:3px;padding:.2em .4em}dl{margin:0 0 1rem}dt{margin-top:.75rem}dt code{font-weight:700}dd{color:var(--text-muted);margin:.25rem 0 0 1.5rem}ul{margin:0 0 1rem;padding-left:1.5rem}li{margin-bottom:.25rem}footer{border-top:1px solid var(--border);text-align:center;color:var(--text-muted);padding:2rem 1rem}footer p{margin:0}@media (max-width:600px){header h1{font-size:2rem}nav ul{gap:.5rem}#theme-toggle{position:static;margin-top:1rem}}
