:root{--bg:#f6f5f1;--fg:#2e2e2e;--muted:#6f6e69;--link:#5b5bc4;--visited:#9a6f2e;--rule:#dcdad3;--code:#ebe9e3;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg:#1f1f1e;--fg:#cecdc3;--muted:#8f8d86;--link:#9d9de8;--visited:#c9a46a;--rule:#3a3936;--code:#2a2a28}}*{box-sizing:border-box}html{font-size:17px;-webkit-text-size-adjust:100%}@media(min-width:70em){html{font-size:19px}}body{margin:0 auto;max-width:42rem;padding:2rem 1.1rem 3rem;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,pingfang sc,hiragino sans gb,noto sans cjk sc,source han sans sc,microsoft yahei,sans-serif;line-height:1.8;text-rendering:optimizeLegibility;overflow-wrap:break-word}a{color:var(--link);text-underline-offset:.2em}a:visited{color:var(--visited)}header.site{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;border-bottom:1px solid var(--rule);padding-bottom:.6rem;margin-bottom:2rem}header.site .name{font-weight:700;font-size:1.15rem;color:var(--fg);text-decoration:none}header.site nav a{margin-left:1rem;color:var(--muted);text-decoration:none}header.site nav a:hover{color:var(--link)}h1,h2,h3{line-height:1.35;margin:2rem 0 .8rem}h1{font-size:1.6rem;margin-top:0}h2{font-size:1.25rem}h3{font-size:1.08rem}p,ul,ol,blockquote,pre{margin:0 0 1.1rem}.intro,.meta{color:var(--muted)}.meta{margin-top:-.4rem;font-size:.9rem}ul.posts{list-style:none;padding:0}ul.posts li{display:flex;gap:1rem;padding:.25rem 0}ul.posts time{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:.92rem;padding-top:.08rem}blockquote{margin-left:0;padding-left:1rem;border-left:3px solid var(--rule);color:var(--muted)}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:var(--code);padding:.1em .3em;border-radius:3px}pre{background:var(--code);padding:.8rem 1rem;overflow-x:auto;border-radius:4px;line-height:1.5}pre code{background:0 0;padding:0}img{max-width:100%;height:auto}hr{border:0;border-top:1px solid var(--rule);margin:2rem 0}table{border-collapse:collapse;width:100%;margin-bottom:1.1rem}th,td{border:1px solid var(--rule);padding:.3rem .6rem}footer.site{margin-top:3rem;padding-top:.8rem;border-top:1px solid var(--rule);color:var(--muted);font-size:.8rem}footer.site a,footer.site a:visited{color:var(--muted)}