/* 站群统一外壳：顶栏、页内目录、页脚（由 scripts/build_shell.py 注入到各页面） */
.topbar { position: sticky; top: 0; z-index: 50; background: rgba(20, 17, 13, .94); backdrop-filter: saturate(1.3) blur(10px); -webkit-backdrop-filter: saturate(1.3) blur(10px); border-bottom: 1px solid rgba(241, 214, 170, .14); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif; line-height: 1.5; }
.topbar .wrap { max-width: 1080px; margin: 0 auto; padding: 0 20px; display: flex; align-items: center; gap: 12px; height: 60px; position: relative; }
.topbar .brand { display: flex; align-items: center; gap: 9px; text-decoration: none; color: #fff; font-weight: 700; font-size: 16px; letter-spacing: .3px; white-space: nowrap; }
.topbar .brand .logo { width: 26px; height: 26px; border-radius: 7px; background: #8a5a2b; display: grid; place-items: center; flex: none; }
.topbar .brand small { font-weight: 500; color: #a99f8c; font-size: 13.5px; letter-spacing: 0; }
.topbar .topnav { margin-left: auto; display: flex; gap: 2px; align-items: center; position: static; background: none; border: 0; padding: 0; }
.topbar .topnav a, .topbar .topnav button { font: inherit; text-decoration: none; color: #a99f8c; font-size: 14.5px; padding: 6px 10px; border-radius: 8px; white-space: nowrap; background: none; border: 0; cursor: pointer; }
.topbar .topnav a:hover, .topbar .topnav button:hover { color: #fff; background: rgba(255, 255, 255, .06); }
.topbar .topnav a[aria-current="page"] { color: #fff; background: rgba(255, 255, 255, .08); }
.topbar .topnav a.cta { color: #14110d; background: #f1c98d; font-weight: 700; margin-left: 4px; }
.topbar .topnav a.cta:hover { background: #f6d6a6; }
.topbar .topnav button[hidden] { display: none; }
.topbar .mbtn { display: none; margin-left: 2px; width: 38px; height: 38px; border: 1px solid rgba(241, 214, 170, .26); border-radius: 9px; background: none; cursor: pointer; flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding: 0; }
.topbar .mbtn span { display: block; width: 16px; height: 2px; border-radius: 2px; background: #ece4d4; }
@media (max-width: 860px) { .topbar .brand small { display: none; } }
@media (max-width: 760px) {
  .topbar .topnav .opt { display: none; }
  .topbar .mbtn { display: inline-flex; }
  .topbar.open .topnav { position: absolute; top: 60px; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 2px; background: #14110d; padding: 8px 16px 14px; border-bottom: 1px solid rgba(241, 214, 170, .14); }
  .topbar.open .topnav .opt { display: block; }
  .topbar.open .topnav a { padding: 10px 12px; }
  .topbar.open .topnav a.cta { margin: 6px 0 0; text-align: center; }
}
@media (max-width: 520px) { .topbar .wrap { padding: 0 16px; } }

/* 首页：页内目录（原来顶栏里的锚点） */
.stoc { position: sticky; top: 60px; z-index: 40; background: rgba(247, 243, 236, .96); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-bottom: 1px solid #e2d9c8; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; }
.stoc .wrap { max-width: 1080px; margin: 0 auto; padding: 8px 20px; display: flex; align-items: center; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.stoc .wrap::-webkit-scrollbar { display: none; }
.stoc span { font-size: 12.5px; font-weight: 700; letter-spacing: 1px; color: #8a5a2b; margin-right: 6px; white-space: nowrap; }
.stoc a { font-size: 14px; color: #6f675b; text-decoration: none; padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
.stoc a:hover { background: #efe8da; color: #2b2823; }
@media (max-width: 520px) { .stoc .wrap { padding: 8px 16px; } }
[id] { scroll-margin-top: 112px; }

/* 首屏按钮（浅色单页并入后的站点） */
.hero-acts { margin-top: 24px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.hero-acts .hero-links { display: flex; flex-wrap: wrap; gap: 10px; }
.hero-acts .hero-line { color: #ece4d4; text-decoration: none; border: 1px solid rgba(241, 214, 170, .26); border-radius: 10px; padding: 7px 14px; font-size: 14.5px; font-weight: 600; }
.hero-acts .hero-line:hover { border-color: #f1c98d; color: #fff; }

/* 页脚 */
footer.sfoot { background: #14110d; color: #a99f8c; padding: 30px 0 38px; font-size: 13.5px; line-height: 1.8; margin: 0; border: 0; text-align: left; }
footer.sfoot .wrap { max-width: 1080px; margin: 0 auto; padding: 0 20px; }
footer.sfoot p { margin: 0; color: inherit; }
footer.sfoot p + p { margin-top: 8px; }
footer.sfoot b { color: #ece4d4; }
footer.sfoot a { color: #ece4d4; text-decoration: none; }
footer.sfoot a:hover { text-decoration: underline; }
footer.sfoot .sites { color: #8f8574; }
footer.sfoot .dis { color: #776e5f; font-size: 12.5px; }
