
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@400;700&family=Noto+Sans+TC:wght@400;700&display=swap');

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  padding:32px 16px;
  color:#20150e;
  background:#f7f2e9;
  font-family:"Microsoft JhengHei","Noto Serif TC",serif;
  line-height:1.9;
}
.container{max-width:1080px;margin:0 auto}

.book-header{
  position:relative;
  padding:30px 36px;
  color:#f6ead6;
  background:linear-gradient(135deg,#4a1607,#75250b);
  border-bottom:5px solid #c47a32;
  border-radius:10px 10px 0 0;
}
.book-header h1{
  margin:0 0 5px;
  font-size:1.85rem;
  letter-spacing:.04em;
}
.book-header .subtitle{
  color:#e6c9a3;
  font-size:.96rem;
  font-style:italic;
}

.page-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:9px;
  padding:13px 16px;
  margin-bottom:16px;
  background:#fff;
  border:1px solid #ded2c1;
  border-top:none;
}
.page-nav a,
.page-nav .disabled{
  padding:6px 13px;
  border:1px solid #9e4a1c;
  border-radius:6px;
  font-size:.92rem;
  font-weight:700;
  text-decoration:none;
}
.page-nav a{color:#57200d}
.page-nav a:hover{color:#fff;background:#9e4a1c}
.page-nav .disabled{color:#aaa;border-color:#ddd}
.page-nav .qa-btn{color:#fff;background:#0f766e;border-color:#0f766e}
.page-nav .qa-btn:hover{background:#0b5f59}
.page-nav .home-btn{color:#fff;background:#6d28d9;border-color:#6d28d9}
.page-nav .home-btn:hover{background:#5820b5}

.control-panel,
.jump-bar{
  padding:14px 18px;
  margin-bottom:20px;
  background:#fff;
  border:1px solid #ded2c1;
  border-radius:8px;
}
.jump-bar{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.jump-group{
  display:grid;
  grid-template-columns:120px minmax(220px,1fr);
  align-items:center;
  gap:12px;
}
.jump-group label{
  font-weight:700;
  color:#57200d;
  white-space:nowrap;
}
.jump-group select{
  width:100%;
  padding:10px 14px;
  border:1px solid #c58c59;
  border-radius:6px;
  background:#fff;
  font-size:1em;
}
.jump-group select:disabled{background:#f2f2f2;color:#999}

.term-switcher{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.term-label{color:#57200d;font-weight:700}
.term-btn{
  padding:6px 12px;
  color:#57200d;
  background:#fff;
  border:1px solid #a7582a;
  border-radius:999px;
  cursor:pointer;
}
.term-btn.active{color:#fff;background:#a7582a}

.nhm-script-toggle{
  position:absolute;
  right:16px;
  bottom:10px;
  display:inline-flex;
  overflow:hidden;
  border:1.5px solid rgba(255,255,255,.35);
  border-radius:20px;
  box-shadow:0 2px 6px rgba(0,0,0,.25);
}
.nhm-script-toggle button{
  padding:5px 11px;
  border:0;
  color:rgba(255,255,255,.75);
  background:rgba(255,255,255,.12);
  cursor:pointer;
  font-weight:700;
}
.nhm-script-toggle button.active{
  color:#333;
  background:rgba(255,255,255,.9);
}

.article,
.index-section,
.bio-section,
.directory-section{
  padding:26px 30px;
  margin-bottom:22px;
  background:#fff;
  border:1px solid #e2d8cb;
  border-radius:8px;
}
.page-main-title{
  padding:13px 18px;
  margin:0 0 24px;
  color:#4a1607;
  background:#f2e5d4;
  border-left:8px solid #a84a18;
  border-radius:0 6px 6px 0;
  font-size:1.45rem;
}
.section-title,
.index-section h2,
.bio-section h2,
.directory-section h2{
  margin-top:1.5em;
  padding-left:12px;
  color:#4a1607;
  border-left:6px solid #a84a18;
}
.subsection-title,
.bio-section h3{color:#64230d}
.bio-section h4{color:#7a3513}
.para{text-align:justify;margin:0 0 1.15em}
.text-center{text-align:center}
.text-right{text-align:right}
.bullet-item,
.numbered-item{
  padding-left:1.5em;
  margin:.35em 0;
}
.footnote{
  padding-left:1.1em;
  text-indent:-1.1em;
  margin:.45em 0;
  font-size:.94em;
  color:#4d3a2c;
}
.article blockquote{
  padding:12px 18px;
  margin:18px 0;
  color:#52210f;
  background:#faf0e3;
  border-left:5px solid #c7783c;
}
.article code{
  font-family:Consolas,monospace;
  background:#f4eee7;
  padding:1px 4px;
}

.section-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.section-head h2{margin:0}
.toggle-section-btn{
  padding:6px 13px;
  border:1px solid #a7582a;
  border-radius:6px;
  color:#57200d;
  background:#fff;
  cursor:pointer;
  font-weight:700;
}
.collapsible-content{margin-top:18px}

.directory-group{
  margin:18px 0;
  padding:16px 18px;
  background:#fcfaf6;
  border:1px solid #e6d9ca;
  border-radius:7px;
}
.directory-group h3{margin:0 0 10px;color:#57200d}
.directory-subgroup h4{margin:14px 0 6px;color:#7a3513}
.directory-list{margin:0;padding-left:1.5em}
.directory-list li{margin:4px 0}
.directory-list a{color:#57200d;text-decoration:none}
.directory-list a:hover{text-decoration:underline}

.copyright{
  padding:19px 24px;
  margin-top:44px;
  color:#4f3524;
  background:#efe2d1;
  border-top:3px solid #a84a18;
  border-radius:0 0 9px 9px;
  font-size:.86rem;
}
.copyright h4{margin:0 0 6px;color:#4a1607}

@media(max-width:760px){
  body{padding:18px 9px}
  .book-header{padding:23px 20px 52px}
  .book-header h1{font-size:1.4rem}
  .jump-group{grid-template-columns:1fr;gap:5px}
  .article,.index-section,.bio-section,.directory-section{
    padding:20px 16px
  }
}
