/* 四大名著网 - 现代国风阅读样式 */
:root{
  --paper:#f6f1e7; --paper-2:#efe7d6; --card:#fffdf8;
  --ink:#2a2622; --ink-soft:#5a5247; --muted:#8a7f6e;
  --accent:#9e2b25; --accent-2:#b5651d; --gold:#b08d57;
  --baike:#3e6b4f; --baike-2:#4f8562;
  --line:#e0d6c2; --shadow:0 6px 24px rgba(80,60,30,.10);
  --maxw:1080px; --readw:760px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"Noto Serif SC","Source Han Serif SC","Songti SC",STSong,SimSun,"Microsoft YaHei",serif;
  line-height:1.85; font-size:17px; -webkit-font-smoothing:antialiased;
}
a{color:var(--accent); text-decoration:none;}
a:hover{color:var(--accent-2);}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 20px;}
img{max-width:100%;}

/* 顶栏 */
.site-header{position:sticky; top:0; z-index:20; background:rgba(246,241,231,.92);
  backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.header-inner{display:flex; align-items:center; justify-content:space-between; height:60px;}
.brand{font-family:"Kaiti SC",KaiTi,STKaiti,serif; font-size:24px; font-weight:700;
  color:var(--accent); letter-spacing:2px;}
.topnav a{margin-left:18px; color:var(--ink-soft); font-size:15px;}
.topnav a.active,.topnav a:hover{color:var(--accent);}
.topnav a.nav-map{margin-left:16px; color:#fff; background:var(--accent);
  padding:5px 14px; border-radius:20px; font-weight:600; letter-spacing:1px;}
.topnav a.nav-map:hover{background:var(--accent-2); color:#fff;}
.topnav a.nav-baike{margin-left:16px; color:#fff; background:var(--baike);
  padding:5px 14px; border-radius:20px; font-weight:600; letter-spacing:1px;}
.topnav a.nav-baike:hover{background:var(--baike-2); color:#fff;}

/* 书目页 人物/地图 入口 */
.book-actions{margin:14px 0 0; display:flex; gap:10px; flex-wrap:wrap;}
.book-act{display:inline-flex; align-items:center; padding:8px 18px; border-radius:22px;
  font-size:15px; font-weight:600; letter-spacing:1px; color:#fff;}
.book-act.baike{background:var(--baike);}
.book-act.baike:hover{background:var(--baike-2); color:#fff;}
.book-act.map{background:var(--accent);}
.book-act.map:hover{background:var(--accent-2); color:#fff;}

/* 落地页 hero */
.hero{text-align:center; padding:64px 20px 36px;}
.hero-title{font-family:"Kaiti SC",KaiTi,STKaiti,serif; font-size:56px; margin:0;
  color:var(--accent); letter-spacing:10px;}
.hero-sub{color:var(--ink-soft); font-size:18px; margin:10px 0 18px; letter-spacing:3px;}
.hero-desc{max-width:680px; margin:0 auto; color:var(--ink-soft);}

/* 书目卡片网格 */
.book-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:22px; padding:24px 0 12px;}
.book-card{background:var(--card); border:1px solid var(--line); border-radius:14px;
  overflow:hidden; box-shadow:var(--shadow); transition:transform .18s ease, box-shadow .18s ease; display:block;}
.book-card:hover{transform:translateY(-4px); box-shadow:0 12px 30px rgba(80,60,30,.16);}
.card-cover{width:100%; height:300px; object-fit:cover; background:var(--paper-2); display:block;}
.card-body{padding:16px 18px 20px;}
.card-body h3{font-family:"Kaiti SC",KaiTi,STKaiti,serif; margin:0 0 4px; font-size:24px; color:var(--ink);}
.card-author{color:var(--accent); margin:0 0 8px; font-size:14px;}
.card-desc{color:var(--ink-soft); font-size:14px; margin:0 0 12px;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.card-go{color:var(--accent); font-weight:700; font-size:14px;}

/* 声明 */
.notice{background:var(--card); border:1px solid var(--line); border-radius:14px;
  padding:18px 24px; margin:28px 0 40px;}
.notice h2{font-family:"Kaiti SC",KaiTi,STKaiti,serif; color:var(--accent); margin:0 0 10px; font-size:20px;}
.notice li{color:var(--ink-soft); margin:6px 0;}

/* 面包屑 */
.crumb{padding:18px 0 6px; color:var(--muted); font-size:14px;}
.crumb a{color:var(--ink-soft);}
.crumb .cur{color:var(--accent);}
.crumb span{margin:0 6px;}

/* 书目页 */
.book-hero{display:flex; gap:28px; align-items:flex-start; padding:18px 0 28px; flex-wrap:wrap;}
.book-cover{width:200px; max-width:40vw; border-radius:12px; box-shadow:var(--shadow); background:var(--paper-2);}
.book-info h1{font-family:"Kaiti SC",KaiTi,STKaiti,serif; font-size:38px; margin:0 0 6px; color:var(--ink);}
.book-author{color:var(--accent); margin:0 0 12px;}
.book-intro{color:var(--ink-soft); max-width:640px;}
.section-title{font-family:"Kaiti SC",KaiTi,STKaiti,serif; color:var(--accent);
  border-left:4px solid var(--accent); padding-left:12px; margin:10px 0 16px; font-size:22px;}
.chapter-list{list-style:none; padding:0; margin:0 0 40px;
  display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:8px 18px;}
.chapter-list li a{display:block; padding:9px 12px; border:1px solid var(--line); border-radius:9px;
  background:var(--card); color:var(--ink); transition:.15s;}
.chapter-list li a:hover{border-color:var(--accent); background:#fff;}
.ci-label{color:var(--accent); font-family:"Kaiti SC",KaiTi,STKaiti,serif; margin-right:8px;}
.ci-title{color:var(--ink-soft);}
.chapter-list li a.ci-missing{color:var(--muted); border-style:dashed; background:transparent;}
.chapter-list li a.ci-missing .ci-label,.chapter-list li a.ci-missing .ci-title{color:var(--muted);}

/* 阅读页 */
.reading{max-width:var(--readw);}
.chapter-title{font-family:"Kaiti SC",KaiTi,STKaiti,serif; font-size:30px; line-height:1.5;
  color:var(--ink); margin:14px 0 6px; text-align:center;}
.chapter-meta{text-align:center; color:var(--muted); font-size:14px; margin-bottom:18px;}
.reader-tools{display:flex; gap:8px; justify-content:flex-end; margin:0 0 10px;}
.reader-tools button{font-family:inherit; cursor:pointer; border:1px solid var(--line);
  background:var(--card); color:var(--ink-soft); border-radius:8px; padding:4px 12px; font-size:14px;}
.reader-tools button:hover{border-color:var(--accent); color:var(--accent);}
.chapter-text{background:var(--card); border:1px solid var(--line); border-radius:12px;
  padding:30px 34px; box-shadow:var(--shadow); white-space:normal; word-break:break-word;
  text-align:justify; font-size:18px; line-height:2; color:var(--ink);}
.chapter-text p{margin:0 0 1.1em; text-indent:2em;}
.chapter-text p:last-child{margin-bottom:0;}
.chapter-text p.poem{text-indent:0; text-align:center; letter-spacing:1px;}
.chapter-text br{line-height:2;}
.pager{display:flex; gap:12px; justify-content:space-between; margin:22px 0 40px;}
.nav-btn,.nav-btn.disabled{flex:1; text-align:center; padding:12px 10px; border:1px solid var(--line);
  border-radius:10px; background:var(--card); color:var(--ink); font-size:15px;}
.nav-btn:hover{border-color:var(--accent); color:var(--accent);}
.nav-btn.disabled{color:var(--muted); cursor:not-allowed; background:var(--paper-2);}
.nav-btn.toc{flex:0 0 auto; color:var(--accent);}

/* 页脚 */
.site-footer{margin-top:30px; border-top:1px solid var(--line); background:var(--paper-2);
  padding:24px 0; text-align:center; color:var(--ink-soft); font-size:14px;}
.site-footer .muted{color:var(--muted); margin-top:6px;}

/* 404 */
.notfound{padding:80px 20px; text-align:center;}
.notfound h1{font-family:"Kaiti SC",KaiTi,STKaiti,serif; color:var(--accent); font-size:40px;}

/* ---------- 站内链接网络 ---------- */
/* 正文人物内链 */
.ch-link{color:var(--accent); border-bottom:1px dotted var(--accent);}
.ch-link:hover{color:var(--accent-2); border-bottom-style:solid;}

/* 章末「本回人物」 */
.rel-box{margin:20px 0 0; padding:16px 20px; background:var(--card);
  border:1px solid var(--line); border-radius:12px;}
.rel-title{font-family:"Kaiti SC",KaiTi,STKaiti,serif; font-size:18px; color:var(--accent);
  margin:0 0 10px; padding-left:10px; border-left:4px solid var(--baike);}
.rel-chips{display:flex; flex-wrap:wrap; gap:8px; align-items:center;}
.rel-chip{display:inline-block; padding:4px 12px; border:1px solid var(--line);
  border-radius:999px; background:var(--paper-2); color:var(--ink); font-size:14px;}
.rel-chip:hover{border-color:var(--baike); color:var(--baike);}
.rel-more{font-size:13px; color:var(--muted); margin-left:4px;}

/* 「延伸阅读」跨页互链 */
.cross-nav{margin:26px 0 40px;}
.cross-title{font-family:"Kaiti SC",KaiTi,STKaiti,serif; font-size:20px; color:var(--accent);
  border-left:4px solid var(--accent); padding-left:12px; margin:0 0 14px;}
.cross-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px;}
.cross-card{display:block; padding:12px 14px; border:1px solid var(--line); border-radius:10px;
  background:var(--card); transition:transform .15s ease, border-color .15s ease;}
.cross-card:hover{border-color:var(--accent); transform:translateY(-2px);}
.cross-card b{display:block; color:var(--accent); font-size:15px; margin-bottom:4px;}
.cross-card span{color:var(--muted); font-size:13px;}

/* 首页「人物 / 地图」聚合入口 */
.hub{margin:8px 0 4px;}
.hub-title{font-family:"Kaiti SC",KaiTi,STKaiti,serif; color:var(--accent); font-size:22px;
  border-left:4px solid var(--accent); padding-left:12px; margin:30px 0 14px;}
.hub-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px;}
.hub-card{display:flex; flex-direction:column; gap:4px; padding:16px 18px; border-radius:12px;
  border:1px solid var(--line); background:var(--card); box-shadow:var(--shadow);
  transition:transform .16s ease;}
.hub-card:hover{transform:translateY(-3px);}
.hub-card b{font-family:"Kaiti SC",KaiTi,STKaiti,serif; font-size:19px;}
.hub-card span{font-size:13px; color:var(--muted);}
.hub-card.baike{border-left:5px solid var(--baike);}
.hub-card.baike b{color:var(--baike);}
.hub-card.map{border-left:5px solid var(--accent);}
.hub-card.map b{color:var(--accent);}

/* 全站页脚导航 */
.foot-nav{max-width:var(--maxw); margin:0 auto 18px; padding:0 20px; text-align:left;}
.fn-row{display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 14px; padding:5px 0;
  border-bottom:1px dashed var(--line);}
.fn-row:last-child{border-bottom:0;}
.fn-k{flex:0 0 42px; color:var(--muted); font-size:13px; letter-spacing:2px;}
.foot-nav a{color:var(--ink-soft); font-size:14px;}
.foot-nav a:hover{color:var(--accent);}

/* 响应式 */
@media (max-width:640px){
  body{font-size:16px;}
  .hero-title{font-size:42px; letter-spacing:6px;}
  .chapter-text{padding:20px 16px; font-size:17px; line-height:1.95;}
  .chapter-title{font-size:24px;}
  .book-info h1{font-size:30px;}
}
/* 深色模式 */
@media (prefers-color-scheme:dark){
  :root{--paper:#1c1916; --paper-2:#241f1a; --card:#26211b; --ink:#ece3d2;
    --ink-soft:#bcae97; --muted:#8a7d68; --line:#3a322a; --accent:#e07a6f; --accent-2:#e0a86a;
    --baike:#7fc79b; --baike-2:#96d6ae;
    --shadow:0 6px 24px rgba(0,0,0,.4);}
  .site-header{background:rgba(28,25,22,.92);}
  .topnav a.nav-map{background:var(--accent); color:#241f1a;}
  .topnav a.nav-map:hover{background:var(--accent-2); color:#241f1a;}
  .topnav a.nav-baike{background:var(--baike); color:#10231a;}
  .topnav a.nav-baike:hover{background:var(--baike-2); color:#10231a;}
}
