/* 人物百科 - 沿用站点国风样式 */
.crumb-back{margin-left:auto;}
.baike-hero{text-align:center; padding:30px 0 6px;}
.baike-hero h1{font-family:"Kaiti SC",KaiTi,STKaiti,serif; font-size:40px; margin:0 0 6px;
  color:var(--accent); letter-spacing:4px;}
.baike-hero .sub{color:var(--accent-2); letter-spacing:3px; margin:0 0 14px;}
.baike-hero .intro{max-width:800px; margin:0 auto 10px; color:var(--ink-soft); text-align:justify;}
.baike-stat{color:var(--muted); font-size:14px;}
.baike-stat b{color:var(--accent); font-size:18px; margin:0 3px;}

.toolbar{position:sticky; top:60px; z-index:12; margin:18px 0 6px; padding:10px 12px;
  background:rgba(246,241,231,.94); backdrop-filter:blur(8px);
  border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow);}
.toolbar-row{display:flex; gap:10px; align-items:center; flex-wrap:wrap;}
.ch-search{flex:1 1 220px; min-width:160px; font-family:inherit; font-size:15px;
  padding:8px 14px; border:1px solid var(--line); border-radius:20px;
  background:var(--card); color:var(--ink);}
.ch-search:focus{outline:none; border-color:var(--baike);}
.ch-hint{color:var(--muted); font-size:13px; white-space:nowrap;}
.ch-hint b{color:var(--accent);}
.chips{display:flex; gap:8px; flex-wrap:wrap; margin-top:10px;}
.ch-chip{font-family:inherit; cursor:pointer; font-size:14px; padding:5px 12px;
  border:1px solid var(--line); border-radius:999px; background:var(--card); color:var(--ink-soft);}
.ch-chip:hover{border-color:var(--baike); color:var(--baike);}
.ch-chip.active{background:var(--baike); border-color:var(--baike); color:#fff;}
.ch-chip span{margin-left:6px; opacity:.75; font-size:12px;}

.ch-group{margin:26px 0 8px;}
.g-title{font-family:"Kaiti SC",KaiTi,STKaiti,serif; font-size:22px; color:var(--accent);
  border-left:4px solid var(--accent); padding-left:12px; margin:0 0 6px;}
.g-title .g-count{font-size:14px; color:var(--muted); font-family:inherit; margin-left:4px;}
.g-intro{color:var(--muted); font-size:14px; margin:0 0 14px; padding-left:16px;}
.ch-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:10px 14px;}

details.ch{background:var(--card); border:1px solid var(--line); border-radius:10px;
  overflow:hidden; transition:border-color .15s;}
details.ch:hover{border-color:var(--gold);}
details.ch[open]{border-color:var(--baike); box-shadow:var(--shadow);}
details.ch > summary{cursor:pointer; list-style:none; padding:10px 12px;
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
details.ch > summary::-webkit-details-marker{display:none;}
details.ch > summary::after{content:"＋"; margin-left:auto; color:var(--muted); font-size:14px;}
details.ch[open] > summary::after{content:"－";}
.ch-name{font-family:"Kaiti SC",KaiTi,STKaiti,serif; font-weight:700; font-size:18px; color:var(--ink);}
.ch-alias{color:var(--accent); font-size:13px;}
.ch-tag{font-size:12px; color:var(--muted); border:1px solid var(--line);
  border-radius:999px; padding:1px 8px;}
.ch-body{padding:2px 12px 12px; border-top:1px dashed var(--line);}
.ch-desc{color:var(--ink-soft); font-size:14px; margin:10px 0;}
.ch-block{margin:10px 0;}
.ch-block h4{margin:0 0 4px; font-size:13px; color:var(--accent-2);
  font-family:"Kaiti SC",KaiTi,STKaiti,serif; letter-spacing:1px;}
.ch-block p,.ch-block li{color:var(--ink-soft); font-size:14px; margin:3px 0;}
.ch-block ul{margin:0; padding-left:18px;}
.ch-quote{border-left:3px solid var(--gold); padding-left:10px; color:var(--ink-soft);}
.ch-empty{text-align:center; color:var(--muted); padding:40px 0;}

/* 出场回目 回链（人物 -> 原著章节） */
.ch-caps{display:flex; flex-wrap:wrap; gap:6px; margin:2px 0 0;}
.ch-cap{display:inline-block; padding:2px 9px; border:1px solid var(--line); border-radius:6px;
  background:var(--paper-2); color:var(--accent); font-size:13px;}
.ch-cap:hover{border-color:var(--accent); color:var(--accent-2);}
.ch-cap-more{font-size:12px; color:var(--muted); align-self:center;}

/* 从章节页正文内链跳入：高亮对应人物卡片 */
details.ch:target{border-color:var(--accent); box-shadow:var(--shadow);}
details.ch.ch-hit{border-color:var(--accent); animation:chflash 1.2s ease 2;}
@keyframes chflash{0%,100%{background:var(--card);} 50%{background:var(--paper-2);}}
.sec-title{font-family:"Kaiti SC",KaiTi,STKaiti,serif; color:var(--accent);
  border-left:4px solid var(--accent); padding-left:12px; margin:30px 0 14px; font-size:22px;}
@media (max-width:640px){
  .baike-hero h1{font-size:30px; letter-spacing:2px;}
  .toolbar{top:60px;}
  .ch-grid{grid-template-columns:1fr 1fr;}
  .ch-name{font-size:16px;}
}
@media (prefers-color-scheme:dark){
  .toolbar{background:rgba(28,25,22,.94);}
  .ch-chip.active{color:#10231a;}
}
