:root {
  --bf-zhi: #f7f3ea;
  --bf-mian: #fffdf8;
  --bf-mo: #26231d;
  --bf-hong: #b3261e;
  --bf-qian: #6b6b6b;
  --bf-xian: #ddd5c4;
  --bf-xian-shen: #c9bfa9;
  --bf-yuan: 2px;
  --bf-cjk: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif;
  --bf-lat: "Centaur", "Book Antiqua", serif;
  --bf-kuan: 1120px;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body.bf-ti {
  margin: 0;
  background: var(--bf-zhi);
  color: var(--bf-mo);
  font-family: var(--bf-cjk);
  font-size: 16px;
  line-height: 1.8;
  overflow-wrap: break-word;
}

img { max-width: 100%; height: auto; }

a { color: var(--bf-mo); text-decoration-color: var(--bf-hong); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--bf-hong); }

:focus-visible { outline: 2px solid var(--bf-hong); outline-offset: 2px; }

code { font-family: var(--bf-lat); font-size: 0.95em; background: var(--bf-mian); border: 1px solid var(--bf-xian); border-radius: var(--bf-yuan); padding: 0 4px; overflow-wrap: anywhere; }

.bf-tiao {
  position: absolute; left: 16px; top: -60px;
  background: var(--bf-mo); color: var(--bf-mian);
  padding: 10px 14px; border-radius: var(--bf-yuan); z-index: 10;
  text-decoration: none;
}
.bf-tiao:focus { top: 8px; color: var(--bf-mian); }

.bf-mei { border-bottom: 3px double var(--bf-xian-shen); background: var(--bf-zhi); }
.bf-mei-nei {
  max-width: var(--bf-kuan); margin: 0 auto; padding: 6px 16px;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.bf-mei-biao, .bf-jiao-biao { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.bf-logo { display: block; width: 108px; height: auto; }
.bf-logo-zi { font-family: var(--bf-lat); font-size: 31px; font-weight: 700; fill: var(--bf-mo); }
.bf-logo-jiao { stroke: var(--bf-hong); }
.bf-dao-lie { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.bf-dao-lie a {
  display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; justify-content: center;
  padding: 0 10px; text-decoration: none; font-size: 15px; color: var(--bf-mo);
}
.bf-dao-lie a[aria-current="page"] { color: var(--bf-hong); text-decoration: underline; text-decoration-style: wavy; text-underline-offset: 6px; }

.bf-zheng { display: block; min-height: 50vh; }

.bf-h1 {
  font-size: 33px; line-height: 1.35; font-weight: 700; margin: 0 0 12px;
  line-break: strict; letter-spacing: 0;
}

.bf-shou {
  max-width: var(--bf-kuan); margin: 0 auto; padding: 26px 16px 20px;
  display: grid; gap: 18px 40px;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  grid-template-areas: "biao qf" "zhang qf" "zhang tui";
  grid-template-rows: auto auto 1fr;
}
.bf-shou-zuo, .bf-shou-you { display: contents; }
.bf-shou .bf-h1 { grid-area: biao; align-self: end; margin: 0; max-width: 20em; }
.bf-zhang { grid-area: zhang; }
.bf-qf--shou { grid-area: qf; }
.bf-tui { grid-area: tui; align-self: start; }

.bf-zhang {
  background: var(--bf-mian);
  border: 1px solid var(--bf-xian-shen);
  border-radius: var(--bf-yuan);
  box-shadow: 9px 9px 0 var(--bf-xian);
  padding: 14px 0 22px 26px;
  position: relative;
}
.bf-zhang-mei {
  display: flex; justify-content: space-between; margin: 0 0 8px; padding: 0 26px 8px 0;
  border-bottom: 1px solid var(--bf-xian); font-size: 13px; color: var(--bf-qian);
}
.bf-zhang-mei span:first-child { font-family: var(--bf-lat); color: var(--bf-hong); font-weight: 700; }
.bf-hang {
  display: grid;
  grid-template-columns: 6.2em minmax(0, 1fr) 7.6em;
  align-items: center; column-gap: 14px;
  padding: 16px 0 14px;
  border-bottom: 1px solid var(--bf-xian);
}
.bf-hang:last-child { border-bottom: 0; }
.bf-hang-ming { font-size: 14px; color: var(--bf-qian); }
.bf-hang-zhi { font-size: 21px; line-height: 1.5; padding-top: 10px; }
.bf-hang-zhi del {
  color: var(--bf-qian); text-decoration-line: line-through;
  text-decoration-color: var(--bf-hong); text-decoration-thickness: 2px;
}
.bf-hang-zhi ins {
  text-decoration: none; color: var(--bf-hong); font-size: 16px;
  position: relative; top: -0.9em; margin-left: 1px;
}
.bf-cha { color: var(--bf-hong); font-family: var(--bf-lat); font-weight: 700; font-size: 1.25em; line-height: 1; margin: 0 1px; position: relative; top: 0.18em; }
.bf-quan {
  justify-self: start; align-self: center;
  border: 1.5px solid var(--bf-hong); border-radius: 50%;
  color: var(--bf-hong); font-size: 14px; line-height: 1.3; padding: 6px 12px;
  transform: rotate(-4deg); white-space: nowrap; position: relative;
}
.bf-hang > .bf-quan::before {
  content: ""; position: absolute; right: 100%; top: 50%; width: 14px;
  border-top: 1px dashed var(--bf-hong);
}
.bf-hang-fu { grid-column: 2 / 4; font-size: 14px; color: var(--bf-qian); margin-top: 6px; }
.bf-quan--xiao { display: inline-block; padding: 2px 9px; font-size: 13.5px; transform: rotate(3deg); margin-left: 4px; }

.bf-qf {
  background: var(--bf-mian);
  border: 1px solid var(--bf-xian-shen);
  border-top: 2px dashed var(--bf-xian-shen);
  border-radius: 0 0 var(--bf-yuan) var(--bf-yuan);
  padding: 14px 18px 16px;
  position: relative;
}
.bf-qf::before {
  content: ""; position: absolute; left: -1px; top: -2px; bottom: -1px; width: 5px;
  background: var(--bf-hong);
}
.bf-qf-tou { display: flex; justify-content: space-between; align-items: baseline; margin: 0 0 6px; }
.bf-qf-tou span:first-child { color: var(--bf-hong); font-weight: 700; font-size: 16px; }
.bf-qf-hao { font-size: 13px; color: var(--bf-qian); }
.bf-qf-lan { margin: 0; font-size: 13.5px; color: var(--bf-qian); }
.bf-qf-ma { display: flex; align-items: center; gap: 12px; margin: 2px 0 8px; flex-wrap: wrap; }
.bf-qf-zi {
  font-family: var(--bf-lat); font-size: 30px; font-weight: 700; letter-spacing: 0.06em;
  background: none; border: 0; border-bottom: 1px solid var(--bf-mo); border-radius: 0; padding: 0 2px;
  color: var(--bf-mo);
}
.bf-fz {
  min-height: 44px; min-width: 64px; padding: 0 16px;
  font: inherit; font-size: 15px; color: var(--bf-mo); background: transparent;
  border: 1.5px solid var(--bf-mo); border-radius: var(--bf-yuan); cursor: pointer;
}
.bf-fz:hover { background: var(--bf-mo); color: var(--bf-mian); }
.bf-qf-li { margin: 0 0 6px; font-size: 16px; font-weight: 600; }
.bf-xing { color: var(--bf-hong); font-family: var(--bf-lat); }
sup.bf-xing { font-size: 0.8em; }
.bf-qf-an {
  display: flex; align-items: center; justify-content: center; text-align: center;
  min-height: 48px; margin: 10px 0 8px; padding: 8px 14px;
  background: var(--bf-mo); color: var(--bf-mian); text-decoration: none;
  border-radius: var(--bf-yuan); font-weight: 600; font-size: 16px;
}
.bf-qf-an:hover { background: var(--bf-hong); color: var(--bf-mian); }
.bf-qf-pi { margin: 0 0 6px; font-size: 14px; }
.bf-qf-zhu { margin: 0; font-size: 13px; line-height: 1.6; color: var(--bf-qian); }

.bf-tui {
  border: 1px dashed var(--bf-xian-shen); border-radius: var(--bf-yuan);
  padding: 12px 16px 14px; background: transparent;
}
.bf-tui-biao { margin: 0 0 4px; color: var(--bf-hong); font-size: 14px; font-weight: 600; }
.bf-tui-lian {
  display: block; font-size: 18px; font-weight: 700; line-height: 1.5;
  text-decoration: underline; text-decoration-style: wavy; text-decoration-color: var(--bf-hong);
  text-underline-offset: 6px; text-decoration-thickness: 1px;
  padding: 4px 0;
}
.bf-tui-shuo { margin: 8px 0 0; font-size: 14.5px; color: var(--bf-qian); }

.bf-shou-xia {
  max-width: var(--bf-kuan); margin: 18px auto 40px; padding: 0 16px;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px;
}
.bf-kuai h2 {
  font-size: 19px; line-height: 1.45; margin: 22px 0 8px; padding-top: 12px;
  border-top: 1px solid var(--bf-mo);
}
.bf-kuai p { margin: 0 0 12px; font-size: 15.5px; }

.bf-kuang { max-width: var(--bf-kuan); margin: 0 auto; padding: 18px 16px 48px; }
.bf-kuang--zhai { max-width: 780px; }
.bf-kuang--wen { max-width: 820px; }

.bf-crumb { font-size: 14px; color: var(--bf-qian); display: flex; flex-wrap: wrap; align-items: center; }
.bf-crumb a { display: inline-flex; align-items: center; min-height: 44px; color: var(--bf-qian); }
.bf-crumb-fen { margin: 0 8px; }
.bf-crumb span[aria-current] { display: inline-flex; align-items: center; min-height: 44px; }

.bf-shu { font-size: 14px; color: var(--bf-qian); display: flex; flex-wrap: wrap; gap: 4px 18px; margin-bottom: 14px; }

.bf-fuzhu {
  border-top: 1px solid var(--bf-mo); border-bottom: 1px solid var(--bf-xian-shen);
  padding: 10px 0 12px; margin: 6px 0 20px; font-size: 15px;
}
.bf-fuzhu-tou { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 4px; }
.bf-fuzhu-zhu {
  color: var(--bf-hong); border: 1px solid var(--bf-hong); border-radius: var(--bf-yuan);
  font-size: 13px; padding: 0 6px; line-height: 1.6;
}
.bf-fuzhu-ri { margin-left: auto; font-size: 13px; color: var(--bf-qian); }
.bf-fuzhu-wen { margin: 0; line-height: 1.75; }

.bf-feng { margin: 0 0 18px; }
.bf-feng img { display: block; width: 100%; border: 1px solid var(--bf-xian); }
.bf-feng figcaption, .bf-jt figcaption { font-size: 13.5px; color: var(--bf-qian); margin-top: 8px; line-height: 1.6; }

.bf-mulu {
  background: var(--bf-mian); border: 1px solid var(--bf-xian-shen); border-radius: var(--bf-yuan);
  padding: 0 16px; margin: 0 0 26px;
}
.bf-mulu-tou { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 600; font-size: 15px; }
.bf-mulu-lie { margin: 0 0 10px; padding-left: 1.6em; }
.bf-mulu-lie li::marker { color: var(--bf-hong); font-family: var(--bf-lat); }
.bf-mulu-lie a { display: flex; align-items: center; min-height: 44px; text-decoration: none; font-size: 15px; line-height: 1.5; }
.bf-mulu-lie a:hover { text-decoration: underline; }

.bf-wen { counter-reset: bf-chu; font-size: 17px; line-height: 1.85; }
.bf-wen p, .bf-wen ul, .bf-wen ol { max-width: 38em; }
.bf-wen p { margin: 0 0 1em; }
.bf-wen ul, .bf-wen ol { padding-left: 1.5em; margin: 0 0 1.1em; }
.bf-wen li { margin: 0 0 0.5em; }
.bf-wen ol > li::marker { color: var(--bf-hong); font-family: var(--bf-lat); font-weight: 700; }
.bf-wen ul > li::marker { color: var(--bf-hong); }
.bf-wen h2 {
  counter-increment: bf-chu;
  font-size: 23px; line-height: 1.45; margin: 2em 0 0.7em; padding-top: 14px;
  border-top: 1px solid var(--bf-xian-shen); line-break: strict;
}
.bf-wen h2::before {
  content: "第 " counter(bf-chu) " 处";
  display: block; font-size: 13.5px; font-weight: 600; color: var(--bf-hong); margin-bottom: 2px;
}
.bf-wen h3 { font-size: 19px; margin: 1.6em 0 0.6em; }
.bf-duan { display: inline; }
.bf-h1 .bf-duan { display: inline-block; }

.bf-biao { overflow-x: auto; margin: 1.3em 0 1.6em; border-top: 2px solid var(--bf-mo); border-bottom: 1px solid var(--bf-mo); -webkit-overflow-scrolling: touch; }
.bf-biao table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 15px; line-height: 1.65; }
.bf-biao th, .bf-biao td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--bf-xian); }
.bf-biao thead th { border-bottom: 1px solid var(--bf-mo); font-weight: 700; white-space: nowrap; }
.bf-biao tbody th { font-weight: 600; width: 10em; }
.bf-biao tbody tr:last-child th, .bf-biao tbody tr:last-child td { border-bottom: 0; }
.bf-biao-paicuo tbody th { color: var(--bf-mo); }
.bf-biao-paicuo tbody td:nth-child(2) { color: var(--bf-mo); }
.bf-biao-paicuo tbody td:last-child { background: var(--bf-mian); }

.bf-jt { margin: 1.4em 0 1.8em; }
.bf-jt-tu { position: relative; display: inline-block; max-width: 100%; line-height: 0; border: 1px solid var(--bf-xian-shen); }
.bf-jt-tu img { display: block; }
.bf-jt--shouji .bf-jt-tu, .bf-jt--sanfang .bf-jt-tu { max-width: 420px; }
.bf-jt-hao {
  position: absolute; transform: translate(-50%, -50%);
  width: 26px; height: 26px; border-radius: 50%;
  background: var(--bf-mian); color: var(--bf-hong); border: 2px solid var(--bf-hong);
  font-size: 14px; font-weight: 700; line-height: 22px; text-align: center;
}
.bf-jt--biaodan .bf-jt-hao--1 { left: 13%; top: 31%; }
.bf-jt--biaodan .bf-jt-hao--2 { left: 13%; top: 39%; }
.bf-jt--biaodan .bf-jt-hao--3 { left: 13%; top: 48%; }
.bf-jt--shouji .bf-jt-hao--1 { left: 92%; top: 46%; }
.bf-jt--sanfang .bf-jt-hao--1 { left: 52%; top: 93%; }

.bf-wenda { border-top: 2px solid var(--bf-mo); margin-top: 36px; padding-top: 6px; }
.bf-wenda-tou { font-size: 22px; margin: 10px 0 6px; }
.bf-wenda-ze { border-bottom: 1px solid var(--bf-xian); padding: 8px 0 6px; }
.bf-wenda-ze h3 { font-size: 17px; margin: 8px 0 6px; }
.bf-wenda-ze p { margin: 0 0 10px; max-width: 38em; }

.bf-qu { margin-top: 30px; padding-top: 14px; border-top: 3px double var(--bf-xian-shen); font-size: 15px; }
.bf-biao-tiao { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; }
.bf-biao-ming { color: var(--bf-qian); }
.bf-biao-ke { border: 1px solid var(--bf-xian-shen); border-radius: var(--bf-yuan); padding: 2px 10px; font-size: 14px; background: var(--bf-mian); }
a.bf-biao-ke { display: inline-flex; align-items: center; min-height: 44px; }
.bf-qu-hang { max-width: 40em; }

.bf-dao-yu p { max-width: 38em; }
.bf-lie-shu { color: var(--bf-qian); font-size: 14px; margin: 18px 0 4px; }
.bf-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--bf-mo); }
.bf-list-ze { padding: 16px 0 14px; border-bottom: 1px solid var(--bf-xian); }
.bf-list-ming { font-size: 20px; font-weight: 700; line-height: 1.5; display: inline-block; padding: 4px 0; }
.bf-list-yao { margin: 6px 0 4px; max-width: 38em; }
.bf-list-ri { margin: 0; font-size: 13.5px; color: var(--bf-qian); }
.bf-fanye { display: flex; gap: 16px; align-items: center; margin-top: 18px; }
.bf-fanye a { display: inline-flex; align-items: center; min-height: 44px; }
.bf-tongyi { color: var(--bf-qian); font-size: 14px; }

.bf-wu p, .bf-wu ul { max-width: 38em; }
.bf-wu h3 { font-size: 19px; margin: 1.6em 0 0.4em; }
.bf-wu li { margin-bottom: 0.4em; }
.bf-xing-zhu { font-size: 14px; color: var(--bf-qian); }

.bf-jd { margin: 18px 0 8px; }
.bf-jd-biao { display: block; font-size: 14px; color: var(--bf-qian); margin-bottom: 6px; }
.bf-jd-hang { display: flex; gap: 8px; }
.bf-jd-ru {
  flex: 1; min-width: 0; min-height: 46px; padding: 0 12px;
  font: inherit; font-size: 16px; color: var(--bf-mo); background: var(--bf-mian);
  border: 1.5px solid var(--bf-mo); border-radius: var(--bf-yuan);
}
.bf-jd-an {
  min-height: 46px; padding: 0 18px; font: inherit; font-size: 16px; cursor: pointer;
  background: var(--bf-mo); color: var(--bf-mian); border: 0; border-radius: var(--bf-yuan);
}
.bf-jd-zhuang { color: var(--bf-qian); font-size: 14px; min-height: 1.6em; }
.bf-jd-jieguo { padding-left: 1.4em; }
.bf-jd-ze { margin-bottom: 12px; }
.bf-jd-ze a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }
.bf-jd-ze p { margin: 0; font-size: 14.5px; color: var(--bf-qian); }

.bf-sisi-hao { font-family: var(--bf-lat); font-size: 64px; color: var(--bf-xian-shen); margin: 10px 0 0; line-height: 1; }
.bf-sisi-qu { padding-left: 1.2em; }
.bf-sisi-qu a { display: inline-flex; align-items: center; min-height: 44px; }

.bf-jiao { border-top: 3px double var(--bf-xian-shen); background: var(--bf-mian); margin-top: 20px; }
.bf-jiao-nei {
  max-width: var(--bf-kuan); margin: 0 auto; padding: 22px 16px 26px;
  display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 10px 40px;
}
.bf-jiao-sheng { margin: 6px 0; font-size: 14px; color: var(--bf-qian); max-width: 36em; }
.bf-jiao-sheng a { color: var(--bf-mo); }
.bf-jiao-lie { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; align-content: start; }
.bf-jiao-lie a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14.5px; text-decoration: none; }
.bf-jiao-lie a:hover { text-decoration: underline; }
.bf-jiao-ban { grid-column: 1 / -1; margin: 8px 0 0; font-size: 13px; color: var(--bf-qian); font-family: var(--bf-lat); }

@media (max-width: 900px) {
  .bf-shou {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "biao" "qf" "tui" "zhang";
    grid-template-rows: auto;
    padding-top: 16px; gap: 14px;
  }
  .bf-shou-xia { grid-template-columns: minmax(0, 1fr); }
  .bf-jiao-nei { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 640px) {
  .bf-mei-nei { padding: 4px 12px; gap: 6px; }
  .bf-logo { width: 92px; }
  .bf-dao-lie { gap: 0; }
  .bf-dao-lie a { padding: 0 7px; font-size: 15px; }
  .bf-h1 { font-size: 26px; }
  .bf-zhang { padding: 12px 0 16px 16px; box-shadow: 6px 6px 0 var(--bf-xian); }
  .bf-zhang-mei { padding-right: 16px; }
  .bf-hang { grid-template-columns: minmax(0, 1fr) auto; row-gap: 2px; padding: 12px 14px 12px 0; }
  .bf-hang-ming { grid-column: 1 / -1; }
  .bf-hang-zhi { font-size: 17px; padding-top: 2px; }
  .bf-hang-zhi ins { position: static; display: block; font-size: 14px; line-height: 1.4; }
  .bf-hang-zhi .bf-cha { top: 0.1em; }
  .bf-hang-fu { grid-column: 1 / -1; }
  .bf-hang > .bf-quan::before { display: none; }
  .bf-qf { padding: 12px 14px 14px; }
  .bf-qf-zi { font-size: 27px; }
  .bf-wen { font-size: 16px; }
  .bf-wen h2 { font-size: 20px; }
  .bf-duan { display: inline-block; }
  .bf-fuzhu-ri { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
