:root{--bg:#fbf8fd;--fg:#2a2433;--mute:#7a7088;--line:#e7dff0;--accent:#8e6bbf;--card:#fff}
@media (prefers-color-scheme:dark){:root{--bg:#17131d;--fg:#ece6f4;--mute:#a79bb8;--line:#2d2538;--accent:#b79adf;--card:#1f1a27}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.8 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Noto Sans CJK SC","Segoe UI",sans-serif;display:flex;flex-direction:column;min-height:100vh}
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px max(20px,calc((100vw - 720px)/2));border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;color:var(--fg);text-decoration:none;font-weight:700;letter-spacing:.04em}
nav{display:flex;gap:18px;font-size:14px}
nav a{color:var(--mute);text-decoration:none}nav a:hover{color:var(--accent)}
main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:36px 20px 56px}
.hero h1{margin:.2em 0 .1em;font-size:2rem;letter-spacing:.04em}
.hero p{margin:0 0 1.6em;color:var(--mute)}
.notes{list-style:none;margin:0;padding:0}
.notes li{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}
.notes a{color:var(--fg);text-decoration:none;display:flex;flex-direction:column;gap:2px}
.notes a:hover .t{color:var(--accent)}
.notes .t{font-weight:600}.notes .s{color:var(--mute);font-size:14px}
.notes time,.meta{color:var(--mute);font-size:13px;white-space:nowrap}
article h1{margin:.2em 0 .1em;font-size:1.7rem;line-height:1.4}
.prose{margin-top:1.4em}
.prose p,.prose li{text-wrap:pretty}
.prose a{color:var(--accent)}
.prose blockquote{margin:1.2em 0;padding:.1em 1em;border-left:3px solid var(--line);color:var(--mute);font-style:normal}
.prose pre{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;overflow:auto;font-size:14px;line-height:1.6}
.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}
.prose :not(pre)>code{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:.05em .35em}
.prose table{border-collapse:collapse;width:100%;display:block;overflow:auto}
.prose th,.prose td{border:1px solid var(--line);padding:6px 10px;text-align:left}
.prose img{max-width:100%;border-radius:12px}
.empty{color:var(--mute)}
footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:18px max(20px,calc((100vw - 720px)/2));border-top:1px solid var(--line);color:var(--mute);font-size:13px}
