:root{--blue:#0B5CD5;--blue-l:#EAF2FF;--ink:#1D2129;--ink2:#4E5969;--ink3:#86909C;--line:#E5E6EB;--bg:#F4F6F9;--card:#fff;--ok:#00A02A;--okl:#E8FFEA;--warn:#D25F00;--warnl:#FFF7E8}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.75 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}
a{color:var(--blue);text-decoration:none}
button{font:inherit;cursor:pointer}
code{font:12.5px ui-monospace,Menlo,Consolas,monospace;background:#F2F3F5;border-radius:3px;padding:1px 5px}
kbd{font:11.5px ui-monospace,Menlo,monospace;border:1px solid var(--line);border-radius:4px;padding:0 5px;background:#fff;color:var(--ink3)}
.top{position:sticky;top:0;z-index:40;height:56px;display:flex;align-items:center;gap:16px;padding:0 20px;background:#fff;border-bottom:1px solid var(--line)}
.brand{font-weight:700;font-size:15px;color:var(--ink)}
.brand span{color:var(--ink3);font-weight:400;font-size:13px;margin-left:6px}
.path{font-size:12.5px;color:var(--ink3)}
.path a{color:var(--ink2)}
.path span+span::before{content:'/';margin:0 8px;color:#C9CDD4}
.tools{margin-left:auto;display:flex;align-items:center;gap:10px}
.search-btn{display:flex;align-items:center;gap:10px;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#F7F8FA;color:var(--ink3);font-size:13px}
.search-btn kbd{font:11px ui-monospace,Menlo,monospace;border:1px solid var(--line);border-radius:4px;padding:0 5px;background:#fff;color:var(--ink3)}
.wrap{display:flex;max-width:1440px;margin:0 auto;align-items:flex-start}
.side{width:250px;flex:none;position:sticky;top:56px;max-height:calc(100vh - 56px);overflow:auto;padding:18px 12px 40px}
.side .g{font-size:11.5px;color:var(--ink3);padding:12px 10px 6px;letter-spacing:.02em}
.side a{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:7px;color:var(--ink2);font-size:13.5px}
.side a:hover{background:#fff}
.side a.on{background:var(--blue-l);color:var(--blue);font-weight:600}
.side .tagm{margin-left:auto;font-size:11px;color:var(--ink3)}
.side .back{font-size:12px;color:var(--ink3);margin-bottom:6px}
.side a.toc-link{font-size:13px;padding:6px 10px}
.main{flex:1;min-width:0;padding:26px 24px 60px;max-width:1060px;margin:0 auto}
.main.narrow{max-width:980px;margin:0 auto}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px 38px}
h1{font-size:27px;line-height:1.35;margin:0 0 10px}
.meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12.5px;color:var(--ink3);padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:6px}
.meta b{color:var(--ink2);font-weight:600}
.chip{display:inline-block;font-size:11.5px;padding:1px 9px;border-radius:10px;background:var(--okl);color:var(--ok)}
.chip.draft{background:var(--warnl);color:var(--warn)}
.verbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 4px}
.verbar select{height:32px;border:1px solid var(--line);border-radius:7px;padding:0 10px;background:#fff;color:var(--ink2);font:inherit}
.verbar .hint{font-size:12px;color:var(--ink3)}
.banner{display:flex;gap:10px;align-items:center;border-radius:9px;padding:10px 14px;font-size:13px;margin:14px 0 0;background:var(--blue-l);color:#1D4ED8;border:1px solid #C7DDFF}
.banner.bad{background:#FFECE8;color:#C62F2F;border-color:#FFD2C8}
.doc h2{font-size:20px;margin:34px 0 10px;padding-left:12px;position:relative;scroll-margin-top:74px}
.doc h2::before{content:'';position:absolute;left:0;top:5px;bottom:5px;width:4px;border-radius:2px;background:var(--blue)}
.doc h3{font-size:15.5px;margin:24px 0 8px;scroll-margin-top:74px}
.doc p{color:var(--ink2);margin:0 0 10px}
.doc p,.doc li,.doc td,.doc th,.doc .foot span{overflow-wrap:anywhere}
.doc code{overflow-wrap:anywhere}
.doc ul,.doc ol{color:var(--ink2);padding-left:22px}
.doc .tw{overflow-x:auto;max-width:100%;margin:12px 0 18px}
.doc table{width:100%;border-collapse:collapse;font-size:13.5px}
.doc th,.doc td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.doc th{background:#F7F8FA;font-weight:600;white-space:nowrap}
.doc td{color:var(--ink2)}
.doc pre{background:#F7F8FA;border:1px solid var(--line);border-radius:9px;padding:14px 16px;overflow:auto;font:12.5px/1.7 ui-monospace,Menlo,Consolas,monospace;color:var(--ink)}
.figwrap{overflow-x:auto;margin:14px 0 2px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}
.figwrap svg{display:block;width:100%;min-width:680px;height:auto}
.toc{width:210px;flex:none;position:sticky;top:72px;padding:18px 12px;font-size:12.5px;color:var(--ink3);max-height:calc(100vh - 80px);overflow:auto}
.toc b{display:block;color:var(--ink);font-size:12px;margin:0 0 8px}
.toc a{display:block;padding:3px 0;color:var(--ink2)}
.toc a.lv3{padding-left:12px;font-size:12px;color:var(--ink3)}
.toc a:hover{color:var(--blue)}
.hero{padding:34px 0 10px}
.hero h1{font-size:30px;margin-bottom:8px}
.hero p{color:var(--ink3);margin:0 0 22px;font-size:14px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.tcard{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;color:var(--ink);transition:.15s}
.tcard:hover{border-color:#B8D3FF;box-shadow:0 6px 20px rgba(11,92,213,.08);transform:translateY(-1px)}
.tcard b{display:block;font-size:16px;margin-bottom:6px}
.tcard span{display:block;color:var(--ink3);font-size:12.5px;line-height:1.7}
.tcard .foot{margin-top:12px;font-size:12px;color:var(--ink3);display:flex;gap:10px}
.dcard{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;color:var(--ink)}
.dcard:hover{border-color:#B8D3FF}
.dcard b{font-size:15.5px}
.dcard p{margin:6px 0 10px;color:var(--ink3);font-size:12.5px}
.dcard .row{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--ink3)}
.badge{font-size:11.5px;padding:1px 8px;border-radius:9px;background:var(--blue-l);color:var(--blue)}
.tbl{width:100%;border-collapse:collapse;font-size:13px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.tbl th,.tbl td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left}
.tbl th{background:#F7F8FA;font-size:12px;color:var(--ink3);font-weight:500}
.tbl tr:last-child td{border-bottom:0}
.pn{display:flex;gap:12px;margin-top:30px}
.pn a{flex:1;border:1px solid var(--line);border-radius:9px;padding:12px 14px;color:var(--ink);font-size:13.5px}
.pn a span{display:block;font-size:12px;color:var(--ink3)}
.pn a.nx{text-align:right}
.foot{margin-top:34px;color:var(--ink3);font-size:12px;display:flex;gap:16px;flex-wrap:wrap}
.overlay{position:fixed;inset:0;background:rgba(20,24,32,.45);display:none;z-index:60;padding-top:12vh}
.overlay.on{display:block}
.sbox{width:720px;max-width:92vw;margin:0 auto;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.sbox input{width:100%;height:56px;border:0;border-bottom:1px solid var(--line);padding:0 20px;font-size:16px;outline:none}
.sres{max-height:56vh;overflow:auto}
.sres a{display:block;padding:12px 20px;border-bottom:1px solid #F2F3F5;color:var(--ink)}
.sres a:hover{background:#F7F8FA}
.sres b{display:block;font-size:14px}
.sres em{display:block;font-style:normal;font-size:12px;color:var(--ink3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sres .empty{padding:18px 20px;color:var(--ink3);font-size:13px}
@media(max-width:1100px){.toc{display:none}}
@media(max-width:900px){.side{display:none}.main{padding:16px 12px 48px}.card{padding:20px 16px}.top{padding:0 12px}.path{display:none}}

/* 分享链接：简洁阅读视图 */
html.shared .path{display:none}
html.shared .brand{pointer-events:none;cursor:default}
html.shared .search-btn{display:none}
html.shared .side .back{display:none}
html.shared .main{max-width:980px;margin:0 auto;width:100%}

/* 文档页工具与移动端目录 */
.doc-actions{display:flex;justify-content:flex-end;margin:-4px 0 6px}
.doc-actions a{font-size:12.5px;color:var(--blue);border:1px solid var(--line);border-radius:7px;padding:5px 12px;background:#fff}
.doc-actions a:hover{border-color:var(--blue)}
.mtoc{display:none}
@media(max-width:900px){
  .mtoc{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-bottom:12px}
  .mtoc summary{cursor:pointer;font-size:13.5px;color:var(--ink)}
  .mtoc-list{padding-top:6px}
  .mtoc-list a{display:block;padding:6px 0;font-size:13px;color:var(--ink2);border-top:1px dashed var(--line)}
}
