:root { color-scheme: light; --bg:#f7f8fb; --panel:#ffffff; --ink:#172033; --muted:#667085; --line:#d9dee8; --accent:#1769aa; }
* { box-sizing: border-box; }
body { margin:0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans CJK SC", "Microsoft YaHei", Arial, sans-serif; background:var(--bg); color:var(--ink); line-height:1.62; }
a { color:var(--accent); text-decoration:none; }
a:hover { text-decoration:underline; }
.site { display:grid; grid-template-columns: 292px minmax(0,1fr); min-height:100vh; }
nav { position:sticky; top:0; height:100vh; overflow:auto; padding:22px 18px; background:#111827; color:#eef2ff; }
nav h1 { font-size:18px; line-height:1.25; margin:0 0 16px; }
nav p { color:#b7c0d8; font-size:13px; margin:0 0 16px; }
nav a { display:block; color:#e5e7eb; padding:8px 10px; border-radius:6px; font-size:14px; }
nav a:hover { background:#243047; text-decoration:none; }
main { padding:32px; }
.article { max-width:1180px; margin:0 auto; background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:34px; box-shadow:0 1px 3px rgba(15,23,42,.06); }
h1,h2,h3 { line-height:1.25; scroll-margin-top:20px; }
h1 { font-size:30px; margin-top:0; }
h2 { border-top:1px solid var(--line); padding-top:22px; margin-top:34px; }
h3 { margin-top:26px; }
table { border-collapse:collapse; width:100%; display:block; overflow:auto; margin:18px 0; }
th,td { border:1px solid var(--line); padding:7px 9px; vertical-align:top; min-width:90px; }
th { background:#f1f4f9; }
pre { overflow:auto; padding:14px; background:#0f172a; color:#e5e7eb; border-radius:7px; }
code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:.92em; }
:not(pre)>code { background:#eef2f7; padding:1px 4px; border-radius:4px; }
blockquote { margin:18px 0; padding:10px 14px; border-left:4px solid #8fb8de; background:#f2f7fc; color:#344054; }
img { max-width:100%; height:auto; border:1px solid var(--line); border-radius:6px; background:white; }
.footer { max-width:1180px; margin:16px auto 0; color:var(--muted); font-size:13px; }
@media (max-width: 860px) { .site { display:block; } nav { position:relative; height:auto; } main { padding:18px; } .article { padding:22px; } }