/* ============================================================
   博猫中国 · 共享站点样式 /assets/site.css
   手账纸张 + 画框导航 + 实色内容层与玻璃层并置
   ============================================================ */

/* ---------- 1. 设计令牌 ---------- */
:root{
  --bm-ink:#10243A;
  --bm-ink-deep:#0A1826;
  --bm-ink-soft:#24405C;
  --bm-amber:#E0A32E;
  --bm-amber-soft:#F7D48F;
  --bm-danxia:#B4462C;
  --bm-dune:#E8DCC6;
  --bm-paper:#F3EFE7;
  --bm-card:#FBF8F2;
  --bm-text:#3D444B;
  --bm-glass:rgba(255,255,255,.55);
  --bm-hair:rgba(16,36,58,.14);
  --bm-hair-strong:rgba(16,36,58,.30);
  --bm-on-ink:rgba(251,248,242,.82);
  --bm-on-ink-soft:rgba(251,248,242,.56);

  --bm-font-display:"Source Han Serif SC","Noto Serif SC","Songti SC","STSong","SimSun",Georgia,serif;
  --bm-font-body:"HarmonyOS Sans SC","PingFang SC","Microsoft YaHei","Source Han Sans SC","Helvetica Neue",Arial,sans-serif;
  --bm-font-mono:"JetBrains Mono","Roboto Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Courier New",monospace;

  --bm-max:1200px;
  --bm-gutter:clamp(20px,5vw,64px);
  --bm-radius:3px;
  --bm-shadow:0 14px 34px rgba(10,24,38,.10);
  --bm-ease:cubic-bezier(.2,.7,.3,1);
}

/* ---------- 2. 重置与基础排版 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  padding:0;
  background-color:var(--bm-paper);
  background-image:linear-gradient(rgba(16,36,58,.028) 1px,transparent 1px);
  background-size:100% 6px;
  color:var(--bm-text);
  font-family:var(--bm-font-body);
  font-size:16px;
  line-height:1.75;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
[hidden]{display:none !important}
img,svg,video{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,h5{
  font-family:var(--bm-font-display);
  color:var(--bm-ink);
  font-weight:700;
  line-height:1.22;
  margin:0 0 .6em;
  letter-spacing:.01em;
}
h1{font-size:clamp(34px,5vw,64px);line-height:1.1}
h2{font-size:clamp(26px,3.4vw,44px)}
h3{font-size:clamp(20px,2vw,28px)}
h4{font-size:clamp(18px,1.6vw,20px)}
p{margin:0 0 1em}
ul,ol,dl{margin:0;padding:0;list-style:none}
a{color:var(--bm-ink-soft);text-decoration:none;transition:color .18s var(--bm-ease)}
a:hover{color:var(--bm-ink)}
strong{font-weight:700;color:var(--bm-ink)}
small{font-size:13px}
code,kbd{font-family:var(--bm-font-mono);font-size:.92em;background:var(--bm-dune);padding:2px 6px;border-radius:2px}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
::selection{background:var(--bm-amber-soft);color:var(--bm-ink)}
:focus-visible{outline:2px solid var(--bm-amber);outline-offset:3px;border-radius:2px}

/* ---------- 3. 跳转链接 ---------- */
.bm-skip{
  position:absolute;
  left:16px;
  top:-80px;
  z-index:120;
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 18px;
  background:var(--bm-ink);
  color:var(--bm-amber-soft);
  font-size:14px;
  border-radius:var(--bm-radius);
  transition:top .18s var(--bm-ease);
}
.bm-skip:focus{top:12px;color:var(--bm-amber-soft)}

/* ---------- 4. 页头：画框上沿 ---------- */
.bm-header{
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(243,239,231,.94);
  border-bottom:1px solid var(--bm-hair);
  transition:background-color .2s var(--bm-ease),box-shadow .2s var(--bm-ease),border-color .2s var(--bm-ease);
}
@supports ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
  .bm-header{
    background:rgba(243,239,231,.80);
    -webkit-backdrop-filter:saturate(1.2) blur(10px);
    backdrop-filter:saturate(1.2) blur(10px);
  }
}
.bm-header[data-stuck]{
  border-bottom-color:var(--bm-hair-strong);
  box-shadow:0 10px 26px rgba(10,24,38,.08);
}
.bm-header__frame{
  position:relative;
  display:flex;
  align-items:center;
  gap:clamp(16px,2vw,28px);
  min-height:88px;
  max-width:var(--bm-max);
  margin:0 auto;
  padding:0 var(--bm-gutter);
  border-left:1px solid var(--bm-hair);
  border-right:1px solid var(--bm-hair);
  transition:min-height .2s var(--bm-ease);
}
.bm-header[data-stuck] .bm-header__frame{min-height:66px}

/* 品牌 */
.bm-brand{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
  color:var(--bm-ink);
}
.bm-brand__mark{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  background:var(--bm-ink);
  border-radius:var(--bm-radius);
}
.bm-brand__mark svg{width:24px;height:24px}
.bm-brand__text{display:flex;flex-direction:column;line-height:1.15}
.bm-brand__name{
  font-family:var(--bm-font-display);
  font-size:20px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--bm-ink);
}
.bm-brand__tagline{
  font-size:12px;
  letter-spacing:.1em;
  color:var(--bm-ink-soft);
}

/* 导航 */
.bm-nav{
  display:flex;
  align-items:center;
  gap:clamp(12px,1.6vw,24px);
  margin-left:auto;
}
.bm-nav__list{
  display:flex;
  align-items:center;
  gap:2px;
  flex-wrap:wrap;
}
.bm-nav__item{display:block}
.bm-nav__link{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 12px;
  font-size:15px;
  color:var(--bm-ink);
  border-radius:2px;
  transition:color .18s var(--bm-ease);
}
.bm-nav__link::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:9px;
  height:2px;
  background:var(--bm-amber);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .18s var(--bm-ease);
}
.bm-nav__link:hover::after{transform:scaleX(1)}
.bm-nav__link[aria-current="page"]{color:var(--bm-ink)}
.bm-nav__link[aria-current="page"]::after{transform:scaleX(1)}
.bm-nav__actions{
  display:flex;
  align-items:center;
  gap:10px;
}

/* 移动菜单按钮 */
.bm-nav-toggle{
  display:none;
  align-items:center;
  gap:10px;
  min-height:44px;
  margin-left:auto;
  padding:0 14px;
  border:1px solid var(--bm-hair-strong);
  border-radius:var(--bm-radius);
  color:var(--bm-ink);
  font-size:15px;
  transition:border-color .18s var(--bm-ease),background-color .18s var(--bm-ease);
}
.bm-nav-toggle:hover{border-color:var(--bm-amber);background:rgba(224,163,46,.12)}
.bm-nav-toggle__box{
  position:relative;
  display:block;
  width:20px;
  height:14px;
  flex:0 0 auto;
}
.bm-nav-toggle__box span{
  position:absolute;
  left:0;
  right:0;
  height:2px;
  background:currentColor;
  border-radius:1px;
  transition:transform .2s var(--bm-ease),opacity .15s var(--bm-ease);
}
.bm-nav-toggle__box span:nth-child(1){top:0}
.bm-nav-toggle__box span:nth-child(2){top:6px}
.bm-nav-toggle__box span:nth-child(3){top:12px}
.bm-header[data-open] .bm-nav-toggle__box span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.bm-header[data-open] .bm-nav-toggle__box span:nth-child(2){opacity:0}
.bm-header[data-open] .bm-nav-toggle__box span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ---------- 5. 按钮 ---------- */
.bm-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:0 20px;
  border:1px solid transparent;
  border-radius:var(--bm-radius);
  font-family:var(--bm-font-body);
  font-size:15px;
  font-weight:500;
  letter-spacing:.02em;
  line-height:1;
  cursor:pointer;
  transition:background-color .15s var(--bm-ease),color .15s var(--bm-ease),border-color .15s var(--bm-ease),box-shadow .15s var(--bm-ease);
}
.bm-btn--primary{background:var(--bm-amber);border-color:var(--bm-amber);color:var(--bm-ink)}
.bm-btn--primary:hover{background:#EEB445;border-color:#EEB445;color:var(--bm-ink)}
.bm-btn--quiet{background:transparent;border-color:var(--bm-hair-strong);color:var(--bm-ink)}
.bm-btn--quiet:hover{border-color:var(--bm-amber);background:rgba(224,163,46,.12);color:var(--bm-ink)}
.bm-btn--solid{background:var(--bm-ink);border-color:var(--bm-ink);color:var(--bm-card)}
.bm-btn--solid:hover{background:var(--bm-ink-soft);border-color:var(--bm-ink-soft);color:var(--bm-card)}
.bm-btn--block{width:100%}

/* ---------- 6. 文字工具 ---------- */
.bm-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--bm-font-mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.24em;
  color:var(--bm-danxia);
  margin:0 0 14px;
}
.bm-display{
  font-family:var(--bm-font-display);
  font-size:clamp(40px,8vw,96px);
  line-height:1.02;
  letter-spacing:-.01em;
  color:var(--bm-ink);
  margin:0 0 .3em;
}
.bm-title{
  font-family:var(--bm-font-display);
  font-size:clamp(26px,3.4vw,44px);
  line-height:1.2;
  color:var(--bm-ink);
  margin:0 0 .5em;
}
.bm-subtitle{
  font-family:var(--bm-font-display);
  font-size:clamp(18px,2vw,24px);
  color:var(--bm-ink);
  margin:0 0 .6em;
}
.bm-lede{
  font-size:clamp(17px,1.6vw,20px);
  line-height:1.8;
  color:var(--bm-ink-soft);
  max-width:62ch;
  margin:0 0 1em;
}
.bm-prose p{max-width:68ch}
.bm-prose p:last-child{margin-bottom:0}
.bm-muted{color:var(--bm-ink-soft)}
.bm-num{
  font-family:var(--bm-font-mono);
  font-weight:700;
  color:var(--bm-ink);
  letter-spacing:-.01em;
  font-variant-numeric:tabular-nums;
}
.bm-num--lg{font-size:44px;line-height:1.1}
.bm-num--xl{font-size:clamp(56px,7vw,96px);line-height:1}
.bm-tag{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 10px;
  border-radius:999px;
  background:var(--bm-amber-soft);
  color:var(--bm-ink);
  font-family:var(--bm-font-mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
}
.bm-tag--danxia{background:rgba(180,70,44,.14);color:var(--bm-danxia)}
.bm-link{
  color:var(--bm-ink-soft);
  padding-bottom:2px;
  background-image:linear-gradient(var(--bm-amber),var(--bm-amber));
  background-repeat:no-repeat;
  background-size:0% 2px;
  background-position:0 100%;
  transition:background-size .18s var(--bm-ease),color .18s var(--bm-ease);
}
.bm-link:hover{color:var(--bm-ink);background-size:100% 2px}

/* ---------- 7. 布局容器 ---------- */
.bm-container{
  width:100%;
  max-width:var(--bm-max);
  margin:0 auto;
  padding:0 var(--bm-gutter);
}
.bm-section{padding:clamp(48px,7vw,96px) 0}
.bm-section--tight{padding:clamp(28px,4vw,48px) 0}
.bm-section--ink{background:var(--bm-ink);color:var(--bm-on-ink)}
.bm-section--ink h1,.bm-section--ink h2,.bm-section--ink h3,.bm-section--ink h4,.bm-section--ink .bm-title,.bm-section--ink .bm-display{color:var(--bm-card)}
.bm-section--ink .bm-lede,.bm-section--ink .bm-muted{color:var(--bm-on-ink)}
.bm-section--dune{background:var(--bm-dune)}
.bm-rule{height:1px;border:0;margin:0;background:var(--bm-hair)}
.bm-band{height:10px;background:var(--bm-dune)}
.bm-band--danxia{background:var(--bm-danxia)}
.bm-band--amber{background:var(--bm-amber)}
.bm-band--tall{height:22px}

/* ---------- 8. 栅格与双轨 ---------- */
.bm-grid{display:grid;gap:clamp(16px,2.4vw,28px)}
.bm-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.bm-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bm-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.bm-grid--mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:960px){
  .bm-grid--mosaic{grid-template-columns:repeat(12,minmax(0,1fr))}
  .bm-grid--mosaic > *:nth-child(6n+1){grid-column:span 5}
  .bm-grid--mosaic > *:nth-child(6n+2){grid-column:span 7}
  .bm-grid--mosaic > *:nth-child(6n+3){grid-column:span 4}
  .bm-grid--mosaic > *:nth-child(6n+4){grid-column:span 8}
  .bm-grid--mosaic > *:nth-child(6n+5){grid-column:span 7}
  .bm-grid--mosaic > *:nth-child(6n+6){grid-column:span 5}
}
@media (max-width:900px){
  .bm-grid--3,.bm-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .bm-grid--2,.bm-grid--3,.bm-grid--4,.bm-grid--mosaic{grid-template-columns:minmax(0,1fr)}
}
.bm-split{
  display:grid;
  grid-template-columns:minmax(200px,260px) minmax(0,1fr);
  gap:clamp(24px,4vw,56px);
  align-items:start;
}
.bm-sticky-aside{position:sticky;top:104px}
@media (max-width:900px){
  .bm-split{grid-template-columns:minmax(0,1fr)}
  .bm-sticky-aside{position:static;top:auto}
}

/* ---------- 9. 卡片 ---------- */
.bm-card{
  background:var(--bm-card);
  border:1px solid var(--bm-hair);
  border-radius:var(--bm-radius);
  padding:clamp(18px,2.2vw,26px);
  transition:border-color .2s var(--bm-ease),box-shadow .2s var(--bm-ease),background-color .2s var(--bm-ease);
}
.bm-card:hover{border-color:var(--bm-amber);box-shadow:var(--bm-shadow)}
.bm-card--glass{
  background:var(--bm-glass);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  border-color:rgba(255,255,255,.6);
}
.bm-card--ink{background:var(--bm-ink);border-color:var(--bm-ink);color:var(--bm-on-ink)}
.bm-card--ink .bm-card__title{color:var(--bm-card)}
.bm-card__label{
  display:block;
  font-family:var(--bm-font-mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.18em;
  color:var(--bm-danxia);
  margin:0 0 10px;
}
.bm-card__title{
  font-family:var(--bm-font-display);
  font-size:20px;
  font-weight:700;
  color:var(--bm-ink);
  margin:0 0 8px;
}
.bm-card__text{margin:0;font-size:15px;color:var(--bm-text)}
.bm-card__meta{
  margin:14px 0 0;
  font-family:var(--bm-font-mono);
  font-size:13px;
  color:var(--bm-ink-soft);
}

/* ---------- 10. 价目表 ---------- */
.bm-table-wrap{
  overflow-x:auto;
  background:var(--bm-card);
  border:1px solid var(--bm-hair);
  border-radius:var(--bm-radius);
}
.bm-table{
  width:100%;
  min-width:560px;
  border-collapse:collapse;
  font-size:15px;
}
.bm-table th{
  background:var(--bm-ink-soft);
  color:var(--bm-card);
  text-align:left;
  font-weight:600;
  font-size:13px;
  letter-spacing:.08em;
  padding:12px 16px;
  white-space:nowrap;
}
.bm-table td{
  padding:12px 16px;
  border-top:1px solid var(--bm-hair);
  vertical-align:top;
}
.bm-table tbody tr{transition:background-color .12s var(--bm-ease)}
.bm-table tbody tr:hover{background:var(--bm-amber-soft)}
.bm-table__num{
  font-family:var(--bm-font-mono);
  font-weight:700;
  color:var(--bm-ink);
  text-align:right;
  white-space:nowrap;
}

/* ---------- 11. 筛选按钮 ---------- */
.bm-chips{display:flex;flex-wrap:wrap;gap:10px}
.bm-chip{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 18px;
  border:1px solid var(--bm-hair-strong);
  border-radius:999px;
  background:var(--bm-card);
  color:var(--bm-ink);
  font-size:14px;
  transition:background-color .15s var(--bm-ease),color .15s var(--bm-ease),border-color .15s var(--bm-ease);
}
.bm-chip:hover{border-color:var(--bm-amber);background:rgba(224,163,46,.14)}
.bm-chip[aria-pressed="true"]{background:var(--bm-ink);border-color:var(--bm-ink);color:var(--bm-amber-soft)}

/* ---------- 12. 时间轴 ---------- */
.bm-timeline{
  position:relative;
  padding-left:34px;
  border-left:1px solid var(--bm-hair-strong);
}
.bm-timeline__item{position:relative;padding:0 0 30px}
.bm-timeline__item:last-child{padding-bottom:0}
.bm-timeline__item::before{
  content:"";
  position:absolute;
  left:-40px;
  top:9px;
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--bm-amber);
  box-shadow:0 0 0 3px var(--bm-paper);
}
.bm-timeline__item[aria-current="true"]::before{background:var(--bm-danxia)}
.bm-timeline__year{
  display:block;
  font-family:var(--bm-font-mono);
  font-weight:700;
  font-size:15px;
  letter-spacing:.08em;
  color:var(--bm-danxia);
  margin-bottom:4px;
}
.bm-timeline__text{margin:0;font-size:15px}

/* ---------- 13. 折叠问答 ---------- */
.bm-faq{border-top:1px solid var(--bm-hair)}
.bm-faq__item{border-bottom:1px solid var(--bm-hair)}
.bm-faq__q{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:56px;
  padding:10px 0;
  list-style:none;
  cursor:pointer;
  font-size:17px;
  font-weight:500;
  color:var(--bm-ink);
}
.bm-faq__q::-webkit-details-marker{display:none}
.bm-faq__q::after{
  content:"＋";
  flex:0 0 auto;
  font-family:var(--bm-font-mono);
  font-size:20px;
  color:var(--bm-amber);
  transition:color .18s var(--bm-ease);
}
.bm-faq__item[open] .bm-faq__q::after{content:"－";color:var(--bm-danxia)}
.bm-faq__a{padding:0 0 22px}
.bm-faq__a > *:last-child{margin-bottom:0}

/* ---------- 14. 图片容器 ---------- */
.bm-figure{
  margin:0;
  background:var(--bm-card);
  border:1px solid var(--bm-hair);
  border-radius:var(--bm-radius);
  overflow:hidden;
}
.bm-figure__media{
  position:relative;
  aspect-ratio:4 / 3;
  background-image:linear-gradient(135deg,var(--bm-dune) 0%,var(--bm-amber-soft) 60%,var(--bm-dune) 100%);
}
.bm-figure__media--wide{aspect-ratio:16 / 9}
.bm-figure__media--tall{aspect-ratio:3 / 4}
.bm-figure__media--square{aspect-ratio:1 / 1}
.bm-figure__media img{width:100%;height:100%;object-fit:cover}
.bm-figure__cap{
  padding:12px 16px;
  border-top:1px solid var(--bm-hair);
  background:var(--bm-card);
  font-size:13px;
  color:var(--bm-ink-soft);
}

/* ---------- 15. 面包屑 ---------- */
.bm-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  font-size:13px;
  color:var(--bm-ink-soft);
}
.bm-breadcrumb li{display:inline-flex;align-items:center;gap:6px}
.bm-breadcrumb li + li::before{content:"/";color:var(--bm-hair-strong)}
.bm-breadcrumb a{color:var(--bm-ink-soft)}
.bm-breadcrumb a:hover{color:var(--bm-ink)}
.bm-breadcrumb [aria-current="page"]{color:var(--bm-ink)}

/* ---------- 16. 页脚 ---------- */
.bm-footer{
  background:var(--bm-ink);
  color:var(--bm-on-ink);
  font-size:15px;
}
.bm-footer__band{
  height:14px;
  background-image:linear-gradient(90deg,
    var(--bm-danxia) 0 22%,
    var(--bm-amber) 22% 40%,
    var(--bm-dune) 40% 70%,
    var(--bm-ink-soft) 70% 100%);
}
.bm-footer__inner{
  max-width:var(--bm-max);
  margin:0 auto;
  padding:clamp(40px,6vw,72px) var(--bm-gutter) clamp(24px,3vw,34px);
}
.bm-footer__grid{
  display:grid;
  grid-template-columns:1.5fr repeat(3,minmax(0,1fr));
  gap:clamp(24px,3.4vw,48px);
}
.bm-footer__brand{min-width:0}
.bm-footer__brandname{
  font-family:var(--bm-font-display);
  font-size:26px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--bm-card);
  margin:0 0 6px;
}
.bm-footer__tagline{
  margin:0 0 18px;
  font-size:14px;
  letter-spacing:.1em;
  color:var(--bm-amber-soft);
}
.bm-footer__hours{
  margin:0 0 12px;
  font-size:13px;
  line-height:1.7;
  color:var(--bm-on-ink-soft);
}
.bm-footer__contact{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  margin:0 0 14px;
}
.bm-footer__addr{
  margin:0;
  max-width:34ch;
  font-size:13px;
  line-height:1.7;
  color:var(--bm-on-ink-soft);
}
.bm-footer__col{min-width:0}
.bm-footer__coltitle{
  font-family:var(--bm-font-body);
  font-size:12px;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--bm-amber-soft);
  margin:0 0 10px;
}
.bm-footer__links{display:flex;flex-direction:column;gap:2px}
.bm-footer__link{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding-right:6px;
  font-size:15px;
  color:var(--bm-on-ink);
  transition:color .18s var(--bm-ease);
}
.bm-footer__link::after{
  content:"";
  position:absolute;
  left:0;
  right:6px;
  bottom:10px;
  height:1px;
  background:var(--bm-amber);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .18s var(--bm-ease);
}
.bm-footer__link:hover{color:var(--bm-amber-soft)}
.bm-footer__link:hover::after{transform:scaleX(1)}
.bm-footer__legal{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px 24px;
  margin-top:clamp(32px,5vw,56px);
  padding-top:20px;
  border-top:1px solid rgba(251,248,242,.16);
  font-size:13px;
  color:var(--bm-on-ink-soft);
}
.bm-footer__copyright{margin:0}
.bm-footer__icp{margin:0;font-family:var(--bm-font-mono)}
.bm-footer__note{margin:0}

/* 可复制文本 */
.bm-copy{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  padding:0;
  font-family:var(--bm-font-mono);
  font-weight:700;
  font-size:15px;
  color:var(--bm-amber-soft);
  border-bottom:1px dashed rgba(247,212,143,.45);
  text-align:left;
  transition:color .18s var(--bm-ease),border-color .18s var(--bm-ease);
}
.bm-copy:hover{color:var(--bm-amber);border-bottom-color:var(--bm-amber)}
.bm-copy::after{
  content:attr(data-copy-hint);
  font-family:var(--bm-font-body);
  font-weight:400;
  font-size:12px;
  letter-spacing:.04em;
  color:rgba(251,248,242,.5);
}
.bm-copy[data-copied]{color:var(--bm-amber);border-bottom-color:var(--bm-amber)}
.bm-copy[data-copied]::after{content:"已复制";color:var(--bm-amber)}

/* ---------- 17. 阅读进度与回到顶部 ---------- */
.bm-progress{
  position:fixed;
  left:0;
  right:0;
  top:0;
  z-index:90;
  height:3px;
  background:rgba(16,36,58,.08);
  pointer-events:none;
}
.bm-progress__bar{
  display:block;
  width:0;
  height:100%;
  background-image:linear-gradient(90deg,var(--bm-amber),var(--bm-danxia));
}
.bm-to-top{
  position:fixed;
  right:clamp(14px,3vw,28px);
  bottom:clamp(14px,3vw,28px);
  z-index:80;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid var(--bm-ink-soft);
  background:var(--bm-ink);
  color:var(--bm-amber-soft);
  font-family:var(--bm-font-mono);
  font-size:18px;
  line-height:1;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .2s var(--bm-ease),transform .2s var(--bm-ease),visibility .2s linear,background-color .15s var(--bm-ease);
}
.bm-to-top[data-show]{opacity:1;visibility:visible;transform:none}
.bm-to-top:hover{background:var(--bm-ink-soft);color:var(--bm-card)}

/* ---------- 18. 显现 ---------- */
[data-bm-js] [data-reveal]{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .5s var(--bm-ease),transform .5s var(--bm-ease);
}
[data-bm-js] [data-reveal][data-revealed]{opacity:1;transform:none}

/* ---------- 19. 响应式：移动导航面板 ---------- */
@media (max-width:1080px){
  .bm-nav-toggle{display:inline-flex}
  .bm-nav{
    position:absolute;
    left:0;
    right:0;
    top:100%;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    margin:0;
    max-height:calc(100vh - 72px);
    overflow-y:auto;
    padding:10px var(--bm-gutter) 26px;
    background:var(--bm-paper);
    border-bottom:1px solid var(--bm-hair-strong);
    box-shadow:0 20px 36px rgba(10,24,38,.14);
  }
  .bm-header[data-open] .bm-nav{display:flex}
  .bm-nav__list{flex-direction:column;align-items:stretch;gap:0}
  .bm-nav__item{border-bottom:1px dashed var(--bm-hair)}
  .bm-nav__link{
    min-height:56px;
    padding:0 4px;
    font-family:var(--bm-font-display);
    font-size:19px;
    letter-spacing:.04em;
  }
  .bm-nav__link::after{left:4px;right:auto;width:30px;bottom:14px}
  .bm-nav__actions{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    margin-top:20px;
  }
  .bm-nav__actions .bm-btn{width:100%}
}

@media (max-width:640px){
  .bm-header__frame{min-height:70px;gap:14px}
  .bm-header[data-stuck] .bm-header__frame{min-height:60px}
  .bm-brand__mark{width:34px;height:34px}
  .bm-brand__mark svg{width:20px;height:20px}
  .bm-brand__name{font-size:18px}
  .bm-brand__tagline{display:none}
  .bm-nav-toggle{padding:0 12px}
  .bm-nav-toggle__text{display:none}
}

@media (max-width:960px){
  .bm-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
  .bm-footer__brand{grid-column:1 / -1}
}
@media (max-width:600px){
  .bm-footer__grid{grid-template-columns:minmax(0,1fr)}
  .bm-footer__brand{grid-column:auto}
}

/* ---------- 20. 打印 ---------- */
@media print{
  body{background:#fff;background-image:none;color:#000}
  .bm-header,.bm-skip,.bm-progress,.bm-to-top,.bm-nav-toggle,.bm-chips{display:none !important}
  .bm-footer{background:#fff;color:#000}
  .bm-footer__band{display:none}
  .bm-footer__brandname,.bm-footer__tagline,.bm-footer__link,.bm-copy{color:#000}
  .bm-copy::after{content:""}
  .bm-table-wrap{border:1px solid #999;overflow:visible;box-shadow:none}
  .bm-table{min-width:0}
  .bm-table th{background:#eee;color:#000}
  .bm-table tbody tr:hover{background:transparent}
  .bm-card,.bm-figure{box-shadow:none;border-color:#999}
  [data-bm-js] [data-reveal]{opacity:1 !important;transform:none !important}
}

/* ---------- 21. 减弱动效 ---------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    transition-duration:.001ms !important;
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
  }
  [data-bm-js] [data-reveal]{opacity:1;transform:none}
  .bm-to-top{transform:none}
}
