
:root { --fg:#111827; --muted:#6b7280; --line:#e5e7eb; --soft:#f9fafb; --ink:#111827; }
* { margin:0; padding:0; box-sizing:border-box; }
body { background:#fff; color:var(--fg);
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  font-size:16px; line-height:1.75; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
header { border-bottom:1px solid var(--line); }
header .wrap { max-width:none; margin:0 auto; padding:0 clamp(22px, 3.2vw, 64px); display:flex; align-items:center; gap:12px; height:56px; font-size:14px; }
.brand { font-weight:600; }
.brand span { color:var(--muted); font-weight:400; }
header nav { margin-left:auto; display:flex; gap:18px; }
header nav a { color:var(--muted); text-decoration:none; }
header nav a:hover { color:var(--fg); }
@media (max-width:820px){ header nav a.opt { display:none; } }

.docwrap { max-width:none; margin:0 auto; padding:26px clamp(22px, 3.2vw, 64px) 60px;
  display:grid; grid-template-columns:272px minmax(0,1fr); gap:44px; align-items:start; }
@media (max-width:900px){ .docwrap { grid-template-columns:1fr; gap:18px; padding-top:14px; } }

/* 左侧目录树 */
.side { position:sticky; top:20px; align-self:start; max-height:calc(100vh - 40px); overflow:auto; }
.side .cap { font-size:13px; color:var(--muted); letter-spacing:.08em; text-transform:uppercase; margin:0 0 10px; }
@media (max-width:900px){ .side { position:static; max-height:none; border:1px solid var(--line);
  border-radius:8px; padding:12px 14px; background:var(--soft); } }

.tree button { font:inherit; background:none; border:0; cursor:pointer; text-align:left; width:100%; }
.tree .grp > .hd { display:flex; align-items:center; gap:6px; padding:6px 0 6px 2px;
  font-size:14.5px; font-weight:600; color:var(--fg); }
.tree .doc > .hd { display:flex; align-items:center; gap:6px; padding:4px 0 4px 16px; font-size:13.5px; color:var(--muted); }
.tree .doc > .hd:hover { color:var(--fg); }
.tree .doc > .hd.cur { color:var(--fg); font-weight:600; }
.tree .doc > .hd a { border:0; text-decoration:none; }
.tree .caret { flex:0 0 12px; color:var(--muted); font-size:11px; line-height:1; }
.tree .caret.ph { visibility:hidden; }
.tree .kids { display:none; }
.tree .kids.open { display:block; }
.tree a.sec { display:block; padding:3px 0 3px 34px; font-size:13px; color:var(--muted);
  text-decoration:none; border-left:2px solid transparent; line-height:1.5; }
.tree a.sec:hover { color:var(--fg); }
.tree a.sec.l1 { padding-left:30px; color:#4b5563; }
.tree a.sec.on { color:var(--ink); font-weight:600; }
@media (max-width:900px){ .tree .doc > .hd { padding-left:0; } .tree a.sec { padding-left:16px; } .tree a.sec.l1 { padding-left:12px; } }

/* 正文 */
.content { min-width:0; font-size:15.5px; }
.content h1,.content h2,.content h3 { line-height:1.4; scroll-margin-top:18px; }
.content h1 { font-size:23px; margin:34px 0 8px; padding-top:20px; border-top:1px solid var(--line); }
.content h2 { font-size:18.5px; margin:26px 0 6px; }
.content h3 { font-size:16px; margin:20px 0 4px; }
.content p { margin:9px 0; }
.content ul,.content ol { margin:10px 0 10px 22px; }
.content li { margin:3px 0; }
.content li > ul,.content li > ol { margin:4px 0 4px 18px; }
.content hr { border:0; border-top:1px solid var(--line); margin:26px 0; }
.content a { text-decoration:none; border-bottom:1px solid #d1d5db; }
.content a:hover { border-color:var(--ink); }
.content a.anchor { border:0; color:#d1d5db; margin-left:8px; font-weight:400; opacity:0; }
.content h1:hover a.anchor,.content h2:hover a.anchor,.content h3:hover a.anchor { opacity:1; }
.content img { max-width:100%; height:auto; border:1px solid var(--line); border-radius:6px; margin:8px 0; vertical-align:middle; }
.content blockquote { margin:12px 0; padding:10px 14px; background:var(--soft);
  border-left:3px solid #d1d5db; border-radius:0 6px 6px 0; color:#4b5563; font-size:14.5px; }
.content code { background:#f3f4f6; padding:2px 6px; border-radius:4px; font-size:13px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; word-break:break-all; }
.content pre { background:#0f172a; color:#e2e8f0; padding:14px 16px; border-radius:8px; overflow-x:auto; margin:14px 0; }
.content pre code { background:none; padding:0; color:inherit; font-size:13px; margin:0; }
.content pre code { display:block; white-space:pre; }
.content table { width:100%; border-collapse:collapse; margin:14px 0; font-size:14.5px; }
.content th,.content td { text-align:left; padding:9px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
.content th { font-size:13px; color:var(--muted); font-weight:600; background:var(--soft); }
.note { margin-top:40px; padding-top:16px; border-top:1px solid var(--line); font-size:13px; color:var(--muted); }

/* 文档中心首页 */
.cards { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:18px; }
@media (max-width:760px){ .cards { grid-template-columns:1fr; } }
.card { display:block; padding:16px 18px; border:1px solid var(--line); border-radius:8px; text-decoration:none; }
.card:hover { border-color:var(--ink); }
.card b { display:block; font-size:15.5px; }
.card span { display:block; margin-top:2px; font-size:13.5px; color:var(--muted); }
.card .g { font-size:12px; color:var(--muted); letter-spacing:.06em; text-transform:uppercase; }

footer { border-top:1px solid var(--line); padding:24px 0 40px; font-size:13px; color:var(--muted); }
footer .wrap { max-width:none; margin:0 auto; padding:0 clamp(22px, 3.2vw, 64px); display:flex; flex-wrap:wrap; gap:16px; }
footer a { color:var(--muted); text-decoration:none; }
footer a:hover { color:var(--fg); }
