:root{--bg:#ffffff;--fg:#1a1a1a;--muted:#555555;--link:#0645ad;--border:#e0e0e0;--code-bg:#f6f8fa;--nav-active:#000}html.dark{--bg:#0d1117;--fg:#c9d1d9;--muted:#8b949e;--link:#58a6ff;--border:#30363d;--code-bg:#161b22;--nav-active:#fff}*{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,sans-serif;font-size:16px;line-height:1.7;color:var(--fg);background:var(--bg);margin:0;padding:0;transition:background .2s,color .2s}header{text-align:center;padding:1.5rem 20px;border-bottom:1px solid var(--border);margin-bottom:2rem}.site-header{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:.75rem}.site-name{font-size:.95rem;font-weight:500;color:var(--fg);text-decoration:none}.site-name:hover{text-decoration:underline}#theme-toggle{background:0 0;border:1px solid var(--border);color:var(--fg);padding:.2rem .5rem;border-radius:4px;cursor:pointer;font-size:.85rem;line-height:1}#theme-toggle:hover{border-color:var(--muted)}nav{font-size:.95rem}nav a{color:var(--fg);text-decoration:none;margin:0 .4rem}nav a:hover{text-decoration:underline}main{max-width:680px;margin:0 auto;padding:0 20px}h1{font-size:1.4rem;font-weight:600;margin-top:0;margin-bottom:1.5rem}h2,h3{font-weight:600;line-height:1.3;margin-top:2rem;margin-bottom:.75rem}h2{font-size:1.25rem}h3{font-size:1.05rem}a{color:var(--link)}hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}.post-list{list-style:none;padding:0;margin:0}.post-list li{display:flex;align-items:baseline;gap:1rem;margin-bottom:.6rem}.post-date{color:var(--muted);font-size:.85rem;font-family:sfmono-regular,Consolas,Menlo,monospace;white-space:nowrap;min-width:6.5rem;text-align:left}article{text-align:center}article h1{font-size:1.8rem;margin-bottom:.25rem}.date{color:var(--muted);font-size:.9rem;margin-top:0;margin-bottom:2rem}.content{text-align:left}pre,code{font-family:sfmono-regular,Consolas,Menlo,monospace;font-size:.9em}pre{background:var(--code-bg);padding:1rem;overflow-x:auto;border-radius:4px;border:1px solid var(--border)}code{background:var(--code-bg);padding:.15em .3em;border-radius:3px}pre code{background:0 0;padding:0}small{color:var(--muted)}ul,ol{padding-left:1.5rem}li{margin-bottom:.35rem}footer{text-align:center;padding:2rem 1rem;margin-top:3rem}.footer-links{margin:1rem 0}.footer-links a{margin:0 .5rem}