:root{
  --bg:#ffffff; --panel:#f7f8fa; --border:#e4e7eb;
  --ink:#15181c; --ink2:#454c54; --ink3:#79828b;
  --brand:#0E7FD1; --brand-d:#0b64a6;
  --codebg:#f9fafb;
}
*{box-sizing:border-box}
body{margin:0;padding:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:16.5px;line-height:1.85;-webkit-font-smoothing:antialiased}
.wrap{max-width:760px;margin:0 auto;padding:0 20px}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.top{border-bottom:1px solid var(--border);padding:14px 0;font-size:14px;color:var(--ink3)}
.top .wrap{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.top b{color:var(--ink);font-weight:650}
article{padding:34px 0 10px}
h1{font-size:29px;line-height:1.4;margin:0 0 10px;letter-spacing:-.02em;font-weight:750}
.byline{font-size:13.5px;color:var(--ink3);margin:0 0 30px;padding-bottom:18px;border-bottom:1px solid var(--border)}
h2{font-size:21px;margin:40px 0 12px;letter-spacing:-.01em}
h3{font-size:17.5px;margin:28px 0 8px}
p{margin:0 0 16px;color:var(--ink2)}
strong{color:var(--ink);font-weight:650}
ul,ol{margin:0 0 18px;padding-left:24px;color:var(--ink2)}
li{margin:6px 0}
code{background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:1px 6px;
  font-size:14px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#b03060}
pre{background:var(--codebg);border:1px solid var(--border);border-left:3px solid var(--brand);
  border-radius:7px;padding:15px 17px;overflow-x:auto;font-size:13.5px;line-height:1.65;margin:0 0 18px;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#24292f}
pre code{background:none;border:none;padding:0;color:inherit;font-size:inherit}
blockquote{margin:0 0 18px;padding:12px 18px;border-left:3px solid var(--border);
  background:var(--panel);border-radius:0 7px 7px 0;color:var(--ink2);font-size:15px}
blockquote p:last-child{margin:0}
table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:14.5px}
th{text-align:left;background:var(--panel);padding:9px 12px;border:1px solid var(--border);
  font-weight:650;font-size:13.5px;color:var(--ink2)}
td{padding:9px 12px;border:1px solid var(--border);vertical-align:top;color:var(--ink2)}
.cta{background:var(--panel);border:1px solid var(--border);border-radius:10px;
  padding:20px 22px;margin:42px 0 0}
.cta h3{margin:0 0 8px;font-size:17px}
.cta p{margin:0 0 14px;font-size:15px}
.btn{display:inline-block;padding:11px 22px;border-radius:8px;font-weight:650;font-size:15px;
  background:var(--brand);color:#fff;border:1px solid var(--brand);margin-right:10px}
.btn:hover{background:var(--brand-d);text-decoration:none}
.btn.ghost{background:#fff;color:var(--ink);border-color:var(--border)}
.cards{list-style:none;padding:0;margin:0 0 20px}
.cards li{border:1px solid var(--border);border-radius:9px;padding:16px 18px;margin-bottom:12px;background:#fff}
.cards a{font-size:17.5px;font-weight:650;display:block;margin-bottom:5px}
.cards p{margin:0;font-size:14.5px}
footer{margin-top:56px;padding:24px 0 52px;border-top:1px solid var(--border);
  font-size:13.5px;color:var(--ink3);text-align:center}
footer a{color:var(--ink2)}
@media(max-width:700px){h1{font-size:24px}body{font-size:16px}}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#14171a; --panel:#1c2126; --border:#2b3238; --codebg:#1a1f24;
    --ink:#eef1f4; --ink2:#b6bfc7; --ink3:#8b959e;
    --brand:#38BDF8; --brand-d:#7dd3fc;
  }
  :root:not([data-theme="light"]) pre{color:#d6dde4}
  :root:not([data-theme="light"]) .btn{color:#06202e}
  :root:not([data-theme="light"]) .btn.ghost,
  :root:not([data-theme="light"]) .cards li{background:var(--panel);color:var(--ink)}
}
