/* 中华历史馆 · 人物专页公共样式（由 qinshihuang.html 模板抽取） */
:root{
  --paper:#f6f1e6;--paper2:#efe8d8;--ink:#26241f;--ink2:#5a554a;
  --seal:#a63a2b;--gold:#9c7c38;--line:#d8cfba;
  --c:#a63a2b;--c-soft:rgba(166,58,43,.08);
  --kai:"KaiTi","STKaiti","DFKai-SB","BiauKai",serif;
  --song:"SimSun","STSong","NSimSun",serif;
  --hei:"Microsoft YaHei","PingFang SC","Hiragino Sans GB",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--paper);color:var(--ink);font-family:var(--hei);line-height:1.75;
  background-image:
    radial-gradient(ellipse at 20% -10%, rgba(156,124,56,.08), transparent 55%),
    radial-gradient(ellipse at 90% 30%, rgba(166,58,43,.05), transparent 45%);
}
::selection{background:var(--c-soft)}
a{text-decoration:none;color:inherit}

/* ---------- 顶栏 ---------- */
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(14px,3.5vw,44px);height:56px;
  background:rgba(246,241,230,.93);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.topbar .brand{display:flex;align-items:center;gap:9px;font-family:var(--kai);font-size:1.02rem;letter-spacing:.16em;color:var(--seal);font-weight:700;white-space:nowrap}
.topbar .brand .mini{
  width:30px;height:30px;line-height:30px;text-align:center;flex-shrink:0;
  background:var(--seal);color:#f6f1e6;font-size:15px;border-radius:6px;letter-spacing:0;
}
.topbar .trail{display:flex;gap:clamp(8px,1.8vw,18px);align-items:center;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.topbar .trail::-webkit-scrollbar{display:none}
.topbar .trail a{color:var(--ink2);font-size:.84rem;letter-spacing:.08em;white-space:nowrap;padding:3px 1px;border-bottom:2px solid transparent;transition:.25s}
.topbar .trail a:hover{color:var(--c);border-bottom-color:var(--c)}
.topbar .trail a.dyn-now{color:var(--c);font-weight:700}

/* ---------- 人物 Hero ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(96px,14vh,140px) 20px clamp(40px,6vh,60px);text-align:center}
.hero .wm{
  position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);
  font-family:var(--kai);font-size:clamp(280px,46vw,560px);line-height:1;
  color:var(--c);opacity:.05;user-select:none;pointer-events:none;
}
.hero .halo{
  position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);
  width:clamp(230px,34vw,400px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle, var(--c), transparent 72%);opacity:.08;
}
.hero-inner{position:relative;z-index:2}
.hero .era{font-family:var(--song);font-size:.82rem;color:var(--gold);letter-spacing:.55em;text-indent:.55em;margin-bottom:14px}
.hero h1{
  font-family:var(--kai);font-weight:700;letter-spacing:.22em;text-indent:.22em;
  font-size:clamp(2.5rem,7.5vw,4.4rem);
  text-shadow:0 2px 0 rgba(255,255,255,.55);
}
.hero .title-tag{
  display:inline-block;margin-top:14px;font-family:var(--kai);
  background:var(--c);color:#fdf6ea;letter-spacing:.3em;text-indent:.3em;
  font-size:.95rem;padding:7px 14px;border-radius:5px;transform:rotate(-2deg);
  box-shadow:0 3px 10px rgba(140,47,34,.3);
}
.hero .quote{
  font-family:var(--kai);margin:26px auto 0;max-width:620px;
  font-size:clamp(.95rem,2.2vw,1.12rem);line-height:2;
  padding:12px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.hero .quote b{color:var(--c)}
.facts{display:flex;justify-content:center;gap:clamp(10px,3vw,20px);flex-wrap:wrap;margin:30px auto 0;max-width:920px}
.fact{
  min-width:120px;padding:12px 16px 10px;text-align:center;
  background:linear-gradient(165deg,#fffdf6,var(--paper2));
  border:1px solid var(--line);border-radius:6px;
  box-shadow:0 2px 8px rgba(90,85,74,.07);
}
.fact b{display:block;font-family:var(--song);font-size:1.05rem;color:var(--c);letter-spacing:.04em}
.fact span{display:block;font-size:.7rem;color:var(--ink2);letter-spacing:.22em;margin-top:3px}

/* ---------- 主体 ---------- */
.wrap{max-width:1220px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}
section{scroll-margin-top:76px;padding-top:clamp(34px,6vw,58px)}
.sec-head{display:flex;align-items:baseline;gap:13px;flex-wrap:wrap;margin-bottom:6px}
.sec-head h2{
  font-family:var(--kai);font-size:clamp(1.5rem,3.4vw,1.95rem);letter-spacing:.16em;font-weight:700;
  border-left:6px solid var(--c);padding-left:14px;
}
.sec-head .sub{font-family:var(--song);font-size:.78rem;color:var(--ink2);letter-spacing:.14em}
.prose{font-size:.98rem;line-height:2.05;letter-spacing:.02em;margin-top:14px;max-width:92ch}
.prose p{margin-bottom:10px}
.prose b{color:var(--c);font-weight:700}
.prose .motto{font-family:var(--kai);color:var(--ink2)}

/* ---------- 章节小标 ---------- */
.chap{
  font-family:var(--kai);font-size:1.08rem;letter-spacing:.2em;color:var(--c);font-weight:700;
  margin:26px 0 8px;display:flex;align-items:center;gap:10px;
}
.chap::before{content:attr(data-n);font-family:var(--song);font-size:.8rem;color:#fdf6ea;background:var(--c);width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;flex-shrink:0;letter-spacing:0}
.chap::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}

/* ---------- 功过双栏 ---------- */
.duel{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.duel .side{
  border:1px solid var(--line);border-radius:8px;padding:18px 20px;
  background:linear-gradient(165deg,#fffdf6,var(--paper2));
}
.duel .side h3{
  font-family:var(--kai);font-size:1.08rem;letter-spacing:.24em;margin-bottom:10px;
  display:flex;align-items:center;gap:9px;font-weight:700;
}
.duel .side.gong h3{color:var(--gold)}
.duel .side.guo h3{color:var(--seal)}
.duel .side h3::before{content:"◆";font-size:.6em}
.duel .side ul{list-style:none}
.duel .side li{
  position:relative;font-size:.88rem;line-height:1.9;padding:4px 0 4px 18px;
}
.duel .side li::before{content:"◇";position:absolute;left:0;top:.55em;font-size:.65em;color:var(--gold)}
.duel .side.guo li::before{color:var(--seal)}
.duel .side li b{font-family:var(--kai);font-size:.95rem;letter-spacing:.04em}
@media(max-width:720px){.duel{grid-template-columns:1fr}}

/* ---------- 名言 ---------- */
.quotes{display:grid;grid-template-columns:1fr;gap:12px;margin-top:18px}
.qt{
  position:relative;background:rgba(255,255,255,.4);border:1px solid var(--line);border-radius:3px;
  padding:16px 20px 13px 46px;transition:border-color .3s,transform .3s;
}
.qt:hover{border-color:var(--gold);transform:translateY(-2px)}
.qt::before{content:"「";position:absolute;left:16px;top:10px;font-size:26px;color:var(--c);opacity:.25;font-family:var(--song)}
.qt p{font-family:var(--kai);font-size:1rem;letter-spacing:.06em;line-height:1.95}
.qt p b{color:var(--c);font-weight:400}
.qt .src{display:block;margin-top:6px;font-family:var(--song);font-size:11.5px;color:var(--ink2);letter-spacing:.2em}

/* ---------- 生平年表 ---------- */
.tl{position:relative;margin-top:20px;padding-left:34px}
.tl::before{
  content:"";position:absolute;left:11px;top:6px;bottom:6px;width:2px;
  background:linear-gradient(180deg,var(--c),rgba(216,207,186,.6));
}
.tl-item{position:relative;padding:0 0 20px 6px}
.tl-item::before{
  content:"";position:absolute;left:-29px;top:9px;width:11px;height:11px;border-radius:50%;
  background:var(--paper);border:2.5px solid var(--c);
  box-shadow:0 0 0 3px rgba(90,85,74,.1);
}
.tl-item .yr{
  font-family:var(--song);font-size:.82rem;color:var(--c);letter-spacing:.08em;font-weight:700;
  background:var(--c-soft);border:1px solid var(--line);
  border-radius:20px;padding:2px 12px;display:inline-block;margin-bottom:6px;
}
.tl-item p{font-size:.9rem;line-height:1.95;max-width:76ch}
.tl-item p b{font-family:var(--kai);font-size:.98rem;letter-spacing:.05em;color:var(--ink)}

/* ---------- 人物 chips ---------- */
.people{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.chip{
  position:relative;display:inline-block;
  background:linear-gradient(165deg,#fffdf6,#f3ecdc);
  border:1px solid var(--line);border-radius:5px;
  padding:6px 12px 7px;transition:transform .22s,box-shadow .22s,border-color .22s;
}
.chip:hover{transform:translateY(-3px);box-shadow:0 8px 16px rgba(90,85,74,.14)}
.chip b{display:block;font-family:var(--kai);font-weight:700;font-size:.95rem;letter-spacing:.08em;color:var(--ink);line-height:1.4}
.chip i{display:block;font-style:normal;font-family:var(--song);font-size:.66rem;color:var(--ink-2,#5a554a);letter-spacing:.06em}
a.chip:hover{border-color:var(--c)}
a.chip:hover b{color:var(--c)}
.chip.sealed::after{
  content:attr(data-seal);position:absolute;top:-8px;right:-8px;
  min-width:19px;height:19px;line-height:19px;text-align:center;padding:0 3px;
  background:linear-gradient(160deg,#df8065,#c14c36);color:#fdf6ea;
  font-family:var(--kai);font-size:11px;border-radius:4px;
  border:1.5px solid rgba(255,251,240,.85);
  transform:rotate(8deg);box-shadow:0 2px 5px rgba(140,47,34,.25);
  transition:transform .22s;
}
a.chip.sealed:hover::after{transform:rotate(2deg) scale(1.1)}
a.chip.sealed b{color:var(--c)}
.people-cap{font-family:var(--song);font-size:.7rem;color:var(--ink2);letter-spacing:.15em;margin-top:12px}
.people-cap em{font-style:normal;color:var(--c)}

/* ---------- 史家评说 ---------- */
.verdict{
  margin-top:26px;padding:18px 22px;
  background:linear-gradient(140deg,rgba(255,253,246,.9),rgba(239,232,216,.55));
  border:1px solid var(--line);border-left:4px solid var(--c);border-radius:0 8px 8px 0;
}
.verdict p{font-family:var(--kai);font-size:1rem;letter-spacing:.05em;line-height:2}
.verdict .who{display:block;margin-top:8px;font-family:var(--song);font-size:.72rem;color:var(--ink2);letter-spacing:.2em}

/* ---------- 上一位/下一位 ---------- */
.pager{display:flex;gap:12px;margin:clamp(40px,7vw,64px) 0 10px}
.pager a{
  flex:1;display:flex;flex-direction:column;gap:3px;
  background:linear-gradient(165deg,#fffdf6,var(--paper2));
  border:1px solid var(--line);border-radius:8px;padding:14px 18px;
  transition:border-color .3s,transform .3s,box-shadow .3s;
}
.pager a:hover{border-color:var(--c);transform:translateY(-3px);box-shadow:0 12px 24px -12px rgba(90,85,74,.28)}
.pager a.next{text-align:right}
.pager .dir{font-family:var(--song);font-size:.68rem;color:var(--gold);letter-spacing:.3em}
.pager .pn{font-family:var(--kai);font-size:1.06rem;letter-spacing:.14em;color:var(--ink);font-weight:700}
.pager a:hover .pn{color:var(--c)}

footer{
  text-align:center;font-family:var(--song);font-size:12px;color:var(--ink2);
  padding:28px 16px 34px;letter-spacing:.2em;border-top:1px solid var(--line);margin-top:clamp(40px,7vw,70px);
  line-height:2.1;
}
footer a{border-bottom:1px dotted var(--line)}
footer a:hover{color:var(--seal)}
#toTop{
  position:fixed;right:20px;bottom:24px;z-index:99;
  width:44px;height:44px;border-radius:50%;border:1px solid var(--line);
  background:rgba(255,253,246,.94);color:var(--c);font-size:18px;cursor:pointer;
  box-shadow:0 6px 16px rgba(90,85,74,.18);opacity:0;pointer-events:none;transition:.3s;
}
#toTop.show{opacity:1;pointer-events:auto}
#toTop:hover{background:var(--c);color:#f6f1e6;border-color:var(--c)}
.anim .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.anim .reveal.visible{opacity:1;transform:none}
@media(max-width:680px){
  .topbar .brand span.bt{display:none}
  .hero .wm{font-size:70vw}
  .fact{min-width:104px;flex:1}
}
