:root{
--paper:#fdf8f4;--card:#fffdfb;--ink:#4a3a3f;--ink-soft:#92808a;
--rose:#e0678c;--rose-deep:#c04a70;--rose-bg:#fbeef3;--tag:#f7e2ea;
--line:#f1dee6;--line-strong:#e8cdd8;
--topbar-h:60px;--radius:14px;
--cta:#ffd400;--cta-hover:#e6bd00;
--serif:"KaiTi","STKaiti","Songti SC","SimSun",serif;
--sans:"PingFang SC","Microsoft YaHei","Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-size:15.5px;line-height:1.85;color:var(--ink);background:var(--paper)}
a{color:var(--rose-deep);text-decoration:none}
a:hover{color:var(--rose)}
/* ---------- 顶部悬浮导航栏 ---------- */
.topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);z-index:50;
display:flex;align-items:center;gap:12px;padding:0 20px;
background:rgba(255,253,251,.94);border-bottom:1px solid var(--line-strong);
backdrop-filter:blur(6px)}
.brand{display:flex;align-items:center;gap:9px;font-family:var(--serif);font-size:20px;font-weight:700;color:var(--rose-deep);white-space:nowrap}
.brand:hover{color:var(--rose-deep)}
.brand i{width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 32% 30%,#f9c7d8,#e0678c);display:inline-block;flex:none}
.menu-toggle{display:none;width:38px;height:38px;border:1px solid var(--line-strong);border-radius:9px;
background:var(--card);color:var(--rose-deep);font-size:19px;line-height:1;cursor:pointer;flex:none}
.download-btn{margin-left:auto;background:var(--cta);color:#000;font-weight:800;font-size:15px;
padding:10px 26px;border-radius:11px;white-space:nowrap;flex:none;
box-shadow:0 2px 8px rgba(224,103,140,.22)}
.download-btn:hover{background:var(--cta-hover);color:#000}
/* ---------- 整体布局：内容容器补顶栏高度 ---------- */
.site-main{margin-left:268px;padding-top:calc(var(--topbar-h) + 18px);padding-left:34px;padding-right:34px;padding-bottom:40px;max-width:1060px}
/* ---------- 侧边栏 ---------- */
.sidebar{position:fixed;top:var(--topbar-h);bottom:0;left:0;width:268px;z-index:60;
display:flex;flex-direction:column;background:#fbf3f0;border-right:1px solid var(--line-strong)}
.search-box{flex-shrink:0;padding:14px 14px 8px;position:relative}
.search-box input{width:100%;padding:9px 12px;border:1px solid var(--line-strong);border-radius:10px;
background:var(--card);color:var(--ink);font-size:14px;font-family:var(--sans)}
.search-box input:focus{outline:2px solid var(--rose);outline-offset:-1px}
.search-results{position:absolute;left:14px;right:14px;top:100%;margin-top:4px;background:var(--card);
border:1px solid var(--line-strong);border-radius:10px;box-shadow:0 8px 24px rgba(74,58,63,.12);
max-height:46vh;overflow-y:auto;display:none;z-index:5}
.search-results a{display:block;padding:8px 12px;font-size:13.5px;border-bottom:1px dashed var(--line)}
.search-results a:last-child{border-bottom:0}
.search-results small{display:block;color:var(--ink-soft);font-size:11.5px}
.search-results a:hover{background:var(--rose-bg)}
.nav-tree{flex:1 1 auto;overflow-y:auto;min-height:0;padding:6px 10px 24px}
.nav-tree details{margin:2px 0}
.nav-tree summary{cursor:pointer;list-style:none;padding:8px 10px;border-radius:9px;
font-family:var(--serif);font-size:15.5px;font-weight:700;color:var(--ink);user-select:none}
.nav-tree summary::-webkit-details-marker{display:none}
.nav-tree summary::before{content:"▸";display:inline-block;margin-right:7px;color:var(--rose);font-size:12px;transition:transform .15s}
.nav-tree details[open]>summary::before{transform:rotate(90deg)}
.nav-tree summary:hover{background:var(--rose-bg)}
.nav-tree a{display:block;padding:6px 10px 6px 28px;border-radius:8px;font-size:14px;color:var(--ink-soft)}
.nav-tree a:hover{background:var(--rose-bg);color:var(--rose-deep)}
.nav-tree a.cur{background:var(--tag);color:#9e3050;font-weight:600}
.nav-home{display:block;margin:2px 0 8px;padding:8px 10px;border-radius:9px;font-family:var(--serif);font-weight:700;font-size:15.5px;color:var(--rose-deep)}
.nav-home:hover{background:var(--rose-bg)}
/* ---------- 面包屑 / 正文 ---------- */
.crumb{font-size:13px;color:var(--ink-soft);margin-bottom:14px}
.crumb a{color:var(--ink-soft)}
.crumb a:hover{color:var(--rose-deep)}
.content{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
padding:34px 40px 30px;box-shadow:0 1px 4px rgba(74,58,63,.05)}
.content h1{font-family:var(--serif);font-size:27px;line-height:1.4;margin:0 0 8px;color:var(--ink)}
.content h2{font-family:var(--serif);font-size:20.5px;margin:34px 0 12px;padding-left:12px;border-left:4px solid var(--rose);line-height:1.5}
.content h3{font-size:17px;margin:24px 0 8px}
.content p{margin:10px 0}
.content ul,.content ol{padding-left:24px;margin:10px 0}
.content li{margin:5px 0}
.content code{background:var(--rose-bg);border-radius:5px;padding:1px 6px;font-size:.9em;color:#9e3050}
.lead{font-size:16.5px}
.note{background:var(--rose-bg);border-left:4px solid var(--rose);border-radius:0 10px 10px 0;
padding:12px 16px;margin:18px 0;font-size:14px;color:var(--ink)}
.steps{counter-reset:s;list-style:none;padding-left:0}
.steps li{counter-increment:s;position:relative;padding-left:38px;margin:10px 0}
.steps li::before{content:counter(s);position:absolute;left:0;top:4px;width:25px;height:25px;border-radius:50%;
background:var(--rose);color:#000;font-size:13.5px;font-weight:700;display:flex;align-items:center;justify-content:center}
table.kv{width:100%;border-collapse:collapse;margin:14px 0;font-size:14.5px}
table.kv th,table.kv td{border:1px solid var(--line);padding:9px 13px;text-align:left;vertical-align:top}
table.kv th{background:var(--rose-bg);font-weight:600;white-space:nowrap;width:130px}
/* ---------- 图片 ---------- */
.fig{margin:20px 0;text-align:center}
.fig img{max-width:100%;height:auto;border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 12px rgba(74,58,63,.08)}
.fig figcaption{font-size:13px;color:var(--ink-soft);margin-top:8px}
/* ---------- 翻页 ---------- */
.pager{display:flex;gap:12px;margin:26px 0 0}
.pager a{flex:1;background:var(--card);border:1px solid var(--line-strong);border-radius:12px;padding:12px 16px;font-size:14px}
.pager a:hover{border-color:var(--rose);color:var(--rose-deep)}
.pager .prev small,.pager .next small{display:block;font-size:11.5px;color:var(--ink-soft)}
.pager .next{text-align:right;margin-left:auto}
/* ---------- 页脚 ---------- */
.page-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;
margin-top:26px;padding-top:16px;border-top:1px dashed var(--line-strong)}
.page-footer .foot-left{font-size:12.5px;color:var(--ink-soft);line-height:1.8}
.page-footer .foot-left p{margin:0}
.gh-link{flex:none;font-size:12.5px;letter-spacing:.4px;color:var(--ink-soft);border:1px solid var(--line-strong);
border-radius:8px;padding:5px 14px}
.gh-link:hover{color:var(--rose-deep);border-color:var(--rose)}
/* ---------- 首页 ---------- */
.hero-note{margin-top:6px}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin:22px 0 8px}
.btn-cta{display:inline-block;background:var(--cta);color:#000;font-weight:800;font-size:16px;
padding:13px 30px;border-radius:12px;box-shadow:0 2px 10px rgba(224,103,140,.22)}
.btn-cta:hover{background:var(--cta-hover);color:#000}
.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}
.path-card{background:var(--rose-bg);border:1px solid var(--line);border-radius:12px;padding:14px 16px;color:var(--ink)}
.path-card:hover{border-color:var(--rose);color:var(--ink)}
.path-card span{font-family:var(--serif);font-size:13px;color:var(--rose);font-weight:700}
.path-card strong{display:block;font-size:16.5px;margin:2px 0 3px}
.path-card em{font-style:normal;font-size:12.5px;color:var(--ink-soft);line-height:1.6;display:block}
.anchor-cloud{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
.anchor-cloud a{display:inline-block;background:var(--card);border:1px solid var(--line-strong);
border-radius:999px;padding:5px 15px;font-size:13.5px;color:#6b5a63}
.anchor-cloud a:hover{color:var(--rose-deep);border-color:var(--rose);background:var(--rose-bg)}
.anchor-note{font-size:12.5px;color:var(--ink-soft);margin-top:10px}
/* ---------- 移动端 ---------- */
@media (max-width:920px){
.topbar{padding:0 12px;gap:9px}
.brand{font-size:17px;min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}
.brand i{width:22px;height:22px}
.download-btn{padding:8px 15px;font-size:13.5px;border-radius:9px}
.menu-toggle{display:block}
.sidebar{transform:translateX(-104%);transition:transform .22s ease;width:min(80vw,300px);box-shadow:0 0 40px rgba(74,58,63,.25)}
body.nav-open .sidebar{transform:translateX(0)}
body.nav-open::before{content:"";position:fixed;inset:0;background:rgba(74,58,63,.4);z-index:55}
.site-main{margin-left:0;padding-top:calc(var(--topbar-h) + 12px);padding-left:16px;padding-right:16px;padding-bottom:30px}
.content{padding:24px 18px 22px}
.content h1{font-size:22.5px}
.content h2{font-size:18.5px}
.path-grid{grid-template-columns:1fr 1fr}
.pager{flex-direction:row}
.page-footer{flex-direction:column;align-items:flex-start}
}
@media (max-width:430px){
.brand{font-size:15.5px}
.download-btn{padding:7px 12px;font-size:12.5px}
.path-grid{grid-template-columns:1fr}
.cta-row{flex-direction:column;align-items:stretch}
.btn-cta{text-align:center}
}
