*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#fafafa;--card:#fff;--border:#e8e8ec;
  --primary:#2563eb;--accent:#0ea5e9;
  --text:#1f2328;--muted:#6b7280;
}
body{
  background:var(--bg);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  line-height:1.85;min-height:100vh;
}
a{color:var(--primary);text-decoration:none;transition:.2s}
a:hover{color:var(--accent)}

nav{
  position:sticky;top:0;z-index:100;
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 28px;background:rgba(250,250,250,.85);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
}
nav .logo{font-weight:700;color:var(--text)}
nav .logo em{font-style:normal;color:var(--primary)}
nav .back{font-size:.88rem;color:var(--muted)}
nav .back:hover{color:var(--primary)}

.container{max-width:720px;margin:0 auto;padding:48px 22px 64px}
article h1{font-size:1.7rem;font-weight:800;letter-spacing:-.5px;line-height:1.4;margin-bottom:12px}
article .meta{font-size:.8rem;color:#9ca3af;display:flex;gap:14px;margin-bottom:32px}
article .meta .cat{color:var(--accent)}
article h2{font-size:1.15rem;font-weight:700;margin:34px 0 12px}
article p{margin:14px 0;color:#374151;font-size:.95rem}
article ul{margin:14px 0 14px 22px}
article li{margin:6px 0;color:#374151;font-size:.95rem}
article code{
  font-family:"Cascadia Code",Consolas,monospace;font-size:.85em;
  background:#eef1f6;border-radius:5px;padding:2px 7px;color:#1e40af;
}
article pre{
  background:#f3f5f9;border:1px solid var(--border);border-radius:12px;
  padding:18px 20px;margin:16px 0;overflow-x:auto;
}
article pre code{background:none;padding:0;color:#374151;font-size:.84rem;line-height:1.7}

footer{
  border-top:1px solid var(--border);padding:28px 0;text-align:center;
  color:var(--muted);font-size:.8rem;
}
footer .heart{color:#f43f5e}
