* { box-sizing:border-box; margin:0; padding:0; }
:root{ --bg:#f7f8fa; --panel:#fff; --border:#e6e8eb; --text:#1f2329; --muted:#8a9099; --accent:#3370ff; --accent-soft:#eaf1ff; --code-bg:#f5f6f7; --radius:8px; }
html,body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--text);background:var(--bg);font-size:15px;line-height:1.7;}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}
.crumb{position:sticky;top:0;z-index:5;background:var(--panel);border-bottom:1px solid var(--border);padding:12px 20px;font-size:13.5px;color:var(--muted);}
.crumb a{color:var(--accent);} .crumb .sep{margin:0 6px;color:var(--muted);} .crumb .cur{color:var(--text);font-weight:600;}
.layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 48px);}
.layout.has-toc{grid-template-columns:240px 1fr 230px;}
.side{border-right:1px solid var(--border);background:var(--panel);padding:16px 12px;overflow:auto;height:calc(100vh - 48px);position:sticky;top:48px;}
.side-title{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:4px 8px 10px;font-weight:600;}
.nav-list{list-style:none;}
.nav-list li{margin:1px 0;}
.nav-list a{display:block;padding:7px 10px;border-radius:6px;font-size:14px;color:var(--text);}
.nav-list a:hover{background:var(--bg);text-decoration:none;}
.home-link{display:block;margin-top:18px;padding:8px 10px;color:var(--muted);font-size:13px;}
.content{padding:28px 40px;overflow:auto;max-width:100%;}
.index-main{max-width:860px;margin:0 auto;padding-top:48px;}
.index-main h1{font-size:28px;margin-bottom:8px;}
.index-main .sub{color:var(--muted);margin-bottom:24px;}
.entry-list{list-style:none;}
.entry-list .entry{margin:8px 0;font-size:17px;}
.entry-list .entry a{font-weight:500;}
.entry-list .cnt{color:var(--muted);font-size:13px;margin-left:6px;}
.prose{max-width:860px;margin:0 auto;}
.prose h1{font-size:26px;margin:4px 0 18px;padding-bottom:10px;border-bottom:2px solid var(--border);}
.prose h2{font-size:21px;margin:28px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--border);}
.prose h3{font-size:18px;margin:22px 0 10px;} .prose h4{font-size:16px;margin:18px 0 8px;}
.prose p{margin:12px 0;} .prose ul,.prose ol{margin:12px 0 12px 24px;} .prose li{margin:6px 0;}
.prose img{max-width:100%;border:1px solid var(--border);border-radius:6px;margin:14px 0;}
.prose pre{background:var(--code-bg);padding:14px 16px;border-radius:var(--radius);overflow:auto;margin:14px 0;font-size:13.5px;}
.prose code{font-family:"SFMono-Regular",Consolas,Menlo,monospace;background:var(--code-bg);padding:2px 5px;border-radius:4px;font-size:13px;}
.prose pre code{background:none;padding:0;}
.prose blockquote{border-left:3px solid var(--accent);padding:6px 14px;color:var(--muted);background:var(--accent-soft);margin:14px 0;border-radius:0 6px 6px 0;}
.prose table{border-collapse:collapse;width:100%;margin:16px 0;font-size:14px;}
.prose th,.prose td{border:1px solid var(--border);padding:8px 12px;text-align:left;} .prose th{background:var(--bg);font-weight:600;}
.empty{color:var(--muted);font-style:italic;}
.children{margin-top:34px;border-top:1px dashed var(--border);padding-top:18px;}
.children-title{font-size:16px;color:var(--muted);margin-bottom:10px;}
.toc{position:sticky;top:48px;height:calc(100vh - 48px);overflow:auto;border-left:1px solid var(--border);background:var(--panel);padding:16px 12px;}
.toc-title{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:10px;font-weight:600;}
.toc ul{list-style:none;}
.toc a{display:block;padding:5px 10px;font-size:13px;color:var(--muted);border-radius:5px;border-left:2px solid transparent;}
.toc a:hover{background:var(--bg);text-decoration:none;}
.toc a.active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-soft);font-weight:600;}
.toc .lvl-1{padding-left:10px;} .toc .lvl-2{padding-left:22px;} .toc .lvl-3{padding-left:34px;} .toc .lvl-4{padding-left:46px;} .toc .lvl-5{padding-left:58px;} .toc .lvl-6{padding-left:70px;}
@media(max-width:1000px){ .layout,.layout.has-toc{grid-template-columns:1fr;} .side,.toc{display:none;} }
