
:root{--bg:#fdfdfc;--fg:#1f2328;--muted:#6b7280;--line:#e8e8e4;--accent:#0f766e;--card:#fff;--code:#f6f8fa}
@media (prefers-color-scheme:dark){:root{--bg:#14161a;--fg:#e6e6e3;--muted:#9aa0a6;--line:#2a2d33;--accent:#5eead4;--card:#1a1d22;--code:#1e2126}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);line-height:1.78;font-size:16px;
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Roboto,Helvetica,Arial,sans-serif}
.wrap{max-width:760px;margin:0 auto;padding:56px 24px 40px}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
header.site{margin-bottom:10px}
header.site .title{font-size:28px;font-weight:700;letter-spacing:-.02em;margin:0 0 6px;color:var(--fg);display:inline-block}
header.site .desc{color:var(--muted);font-size:15px;margin:0}
hr.sep{border:0;border-top:1px solid var(--line);margin:34px 0}
h2.sec{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:600;margin:0 0 14px}
ul.posts{list-style:none;padding:0;margin:0}
ul.posts li{padding:15px 0;border-bottom:1px solid var(--line)}
ul.posts li:last-child{border-bottom:0}
ul.posts a.t{color:var(--fg);font-size:17px;font-weight:600;display:block;transition:color .15s}
ul.posts a.t:hover{color:var(--accent);text-decoration:none}
ul.posts .meta{color:var(--muted);font-size:13px;margin-top:3px}
ul.posts .ex{color:var(--muted);font-size:14px;margin-top:7px}
article h1{font-size:27px;line-height:1.35;margin:0 0 6px;letter-spacing:-.01em}
article .meta{color:var(--muted);font-size:13px;margin-bottom:26px}
article h2{font-size:20px;margin:34px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--line)}
article h3{font-size:17px;margin:26px 0 10px}
article h4{font-size:15.5px;margin:22px 0 8px;color:var(--muted)}
article p{margin:0 0 14px}
article ul,article ol{margin:0 0 14px;padding-left:24px}
article li{margin:5px 0}
article code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px;
background:rgba(127,127,127,.13);padding:1.5px 5px;border-radius:4px}
article pre{background:var(--code);border:1px solid var(--line);border-radius:10px;padding:14px 16px;
overflow-x:auto;margin:0 0 16px}
article pre code{background:none;padding:0;font-size:13px;line-height:1.62}
article blockquote{margin:0 0 14px;padding:8px 16px;border-left:3px solid var(--accent);color:var(--muted);
background:rgba(127,127,127,.05);border-radius:0 6px 6px 0}
article table{border-collapse:collapse;width:100%;margin:0 0 16px;font-size:14px;display:block;overflow-x:auto}
article th,article td{border:1px solid var(--line);padding:7px 11px;text-align:left}
article th{background:rgba(127,127,127,.07);font-weight:600}
article img{max-width:100%;height:auto;border-radius:8px}
article hr{border:0;border-top:1px solid var(--line);margin:26px 0}
.back{display:inline-block;font-size:14px;margin-bottom:22px;color:var(--muted)}
.back:hover{color:var(--accent)}
footer.site{margin-top:52px;padding-top:20px;border-top:1px solid var(--line);text-align:center;
color:var(--muted);font-size:13px}
footer.site .copy{margin-bottom:5px}
footer.site a{color:var(--muted)}
footer.site a:hover{color:var(--fg)}
@media (max-width:480px){.wrap{padding:38px 18px 32px}article h1{font-size:22px}}
