/* brand:pagenav 本页导航（右侧竖排，区别于右下角微信按钮） */
.pnav{position:fixed;right:clamp(8px,1.1vw,18px);top:50%;z-index:118;transform:translateY(-50%);
  font-family:"PingFang SC","Microsoft YaHei",sans-serif;
  opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s ease,right .3s ease}
.pnav.on{opacity:1;visibility:visible}
.pnav *{box-sizing:border-box}
/* --- 收起态：贴右缘竖排标签 --- */
.pnav-tab{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:16px 9px 14px;cursor:pointer;border-radius:13px;overflow:hidden;
  background:linear-gradient(180deg,rgba(38,56,47,.95),rgba(30,44,37,.97));
  box-shadow:inset 0 0 0 1px rgba(201,171,119,.34),0 20px 44px -22px rgba(20,29,24,.72);
  transition:background .3s}
.pnav-tab:hover{background:linear-gradient(180deg,#3a574a,#2f4a3e)}
.pnav-tab em{writing-mode:vertical-rl;font-style:normal;font-size:11px;letter-spacing:.3em;
  color:#f2e9d6;font-family:"Noto Serif SC","Songti SC",serif}
.pnav-tab b{font:400 10px/1 "PingFang SC",sans-serif;color:#22332b;background:#c9ab77;
  border-radius:20px;padding:3px 5px;letter-spacing:.02em}
.pnav-tab u{position:absolute;right:0;top:0;width:3px;height:0;background:linear-gradient(180deg,#c9ab77,#9c6b4a)}
/* --- 展开态：向左浮出面板 --- */
.pnav-panel{position:absolute;right:0;top:50%;transform:translateY(-50%) translateX(10px);
  width:214px;max-height:min(74vh,600px);display:none;flex-direction:column;overflow:hidden;
  border-radius:14px;background:linear-gradient(180deg,rgba(38,56,47,.97),rgba(28,42,35,.98));
  box-shadow:inset 0 0 0 1px rgba(201,171,119,.34),0 30px 64px -26px rgba(16,24,20,.8);
  opacity:0;transition:opacity .28s ease,transform .28s ease}
.pnav.open .pnav-tab{display:none}
.pnav.open .pnav-panel{display:flex;opacity:1;transform:translateY(-50%) translateX(0)}
.pnav-head{display:flex;align-items:flex-start;gap:8px;padding:13px 12px 11px 15px;
  border-bottom:1px solid rgba(201,171,119,.22)}
.pnav-head b{display:block;font:400 13px/1.3 "Noto Serif SC","Songti SC",serif;color:#f2e9d6;
  letter-spacing:.16em}
.pnav-head small{display:block;font-size:8.5px;letter-spacing:.26em;color:rgba(201,171,119,.9);
  margin-top:4px}
.pnav-fold{margin-left:auto;flex:0 0 auto;width:24px;height:24px;padding:0;cursor:pointer;
  border:1px solid rgba(201,171,119,.36);border-radius:7px;background:transparent;
  color:rgba(242,233,214,.82);font-size:11px;line-height:1;transition:.25s}
.pnav-fold:hover{background:rgba(201,171,119,.22);color:#fff}
.pnav-list{list-style:none;margin:0;padding:7px 0 8px;overflow-y:auto;scrollbar-width:thin}
.pnav-list::-webkit-scrollbar{width:5px}
.pnav-list::-webkit-scrollbar-thumb{background:rgba(201,171,119,.45);border-radius:3px}
.pnav-list a{display:flex;gap:9px;padding:7px 13px;font-size:11.8px;line-height:1.5;
  color:rgba(240,236,226,.72);text-decoration:none;border-left:2px solid transparent;
  transition:color .2s,background .2s,border-color .2s}
.pnav-list a i{flex:0 0 auto;font-style:normal;font-size:9.5px;letter-spacing:.04em;
  color:rgba(201,171,119,.75);padding-top:2px}
.pnav-list a span{display:block}
.pnav-list a:hover{color:#fff;background:rgba(255,255,255,.07)}
.pnav-list a.on{color:#f5e7ca;border-left-color:#c9ab77;
  background:linear-gradient(90deg,rgba(201,171,119,.22),rgba(201,171,119,0))}
.pnav-list a.on i{color:#e4ca97}
.pnav-prog{height:2px;background:rgba(201,171,119,.16)}
.pnav-prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,#c9ab77,#9c6b4a)}
/* 锚点跳转时留出吸顶导航的高度 */
.pnav-jump{scroll-margin-top:104px}
@media (max-width:768px){
  .pnav{right:0}
  .pnav-panel{width:min(74vw,204px);max-height:66vh}
  .pnav-list a{font-size:11.2px;padding:6px 11px}
  .pnav-tab{padding:11px 5px 9px;border-radius:11px 0 0 11px;opacity:.92}
}
@media print{.pnav{display:none!important}}