/* ============================================================
   土豆蜘蛛群 前台公共样式（chinazsx 仿站风格）
   仿照 jieqi/qs_novel 思路：单文件 → 浏览器缓存友好
   各页特有 class 用前缀分组（home / book / chapter / bookfull / stub）
   ============================================================ */

* { margin:0; padding:0; box-sizing:border-box; font-family:"Microsoft YaHei", -apple-system, sans-serif }
body { background:#f5f5f5; color:#333; font-size:14px; line-height:1.5 }
a    { color:inherit; text-decoration:none }

/* ─── 公共顶部 nav ─── */
.t-header { background:#fff; padding:12px 0; border-bottom:1px solid #eee }
.t-header .wrap { max-width:1180px; margin:0 auto; padding:0 16px; display:flex; align-items:center; gap:20px }
.t-header .brand { font-size:20px; font-weight:600; color:#8c4000; flex:0 0 auto }
.t-header .brand a { color:inherit }
.t-header .nav { flex:1; display:flex; gap:14px }
.t-header .nav a { color:#333; font-size:14px; padding:4px 6px }
.t-header .nav a:hover { color:#8c4000 }

/* ─── 主容器 ─── */
.t-container { max-width:1180px; margin:14px auto; padding:0 16px }
.t-block { background:#fff; padding:18px 22px; margin-bottom:14px; border:1px solid #eee }
.t-section-title { font-size:16px; color:#8c4000; border-bottom:2px solid #8c4000;
                   padding-bottom:6px; margin-bottom:12px;
                   display:flex; justify-content:space-between; align-items:baseline }

/* ─── 公共底部 ─── */
.t-footer { background:#fff; padding:18px 0; margin-top:14px;
            border-top:2px solid #8c4000; text-align:center; color:#888; font-size:13px }
.t-footer ul { list-style:none; padding:6px 0 }
.t-footer ul li { display:inline-block; margin:0 12px }
.t-footer a { color:#666 }

/* ===================== 首页 (page-home) ===================== */
.page-home .search { padding:8px 0 }
.page-home .search form { display:flex; max-width:380px }
.page-home .search input { flex:1; border:1px solid #ddd; padding:6px 10px; border-radius:3px 0 0 3px }
.page-home .search button { background:#8c4000; color:#fff; border:0; padding:0 14px; border-radius:0 3px 3px 0; cursor:pointer }
.page-home .sort-box { background:#fff; padding:16px; border:1px solid #eee; margin-bottom:14px }
.page-home .sort-box h3 { font-size:16px; color:#8c4000;
                          border-bottom:2px solid #8c4000; padding-bottom:6px; margin-bottom:10px }
.page-home .sort-list { list-style:none }
.page-home .sort-list li { display:flex; justify-content:space-between; padding:8px 0;
                           border-bottom:1px dashed #eee; font-size:13px; min-width:0 }
.page-home .sort-list li:last-child { border-bottom:0 }
.page-home .sort-list a { color:#333; flex:1; min-width:0; overflow:hidden;
                          text-overflow:ellipsis; white-space:nowrap }
.page-home .sort-list a:hover { color:#8c4000 }
.page-home .sort-list .author { color:#888; flex-shrink:0; margin-left:10px }

/* ===================== 书页 (page-book) ===================== */
.page-book .book-main { display:flex; gap:24px }
.page-book .book-img  { flex:0 0 130px }
.page-book .book-img img { width:130px; height:170px; object-fit:cover; background:#ddd;
                           border-radius:4px; display:block }
.page-book .book-info { flex:1; min-width:0 }
.page-book .book-info h1 { font-size:22px; color:#8c4000; margin-bottom:8px; word-break:break-word }
.page-book .book-info .meta { display:flex; gap:20px; color:#666; font-size:13px;
                              margin:8px 0; flex-wrap:wrap }
.page-book .book-info .meta strong { color:#333 }
.page-book .intro { background:#fafafa; border-left:3px solid #8c4000; padding:10px 14px;
                    color:#444; margin-top:10px; line-height:1.7;
                    max-height:160px; overflow:hidden }
.page-book .book-btn { margin-top:14px; display:flex; gap:8px }
.page-book .book-btn a { padding:8px 18px; background:#8c4000; color:#fff;
                         border-radius:4px; font-size:13px }
.page-book .book-btn a:hover { background:#6b3000 }

.page-book .latest-list { list-style:none; display:grid;
                          grid-template-columns:repeat(auto-fill, minmax(280px,1fr)); gap:6px }
.page-book .latest-list li { min-width:0 }
.page-book .latest-list a { padding:6px 0; display:block; border-bottom:1px dashed #eee;
                            font-size:13px; color:#333;
                            overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100% }
.page-book .latest-list a:hover { color:#8c4000 }

.page-book .chapter-list { list-style:none; display:grid;
                           grid-template-columns:repeat(2, minmax(0,1fr)); gap:0 }
.page-book .chapter-list li { min-width:0 }
.page-book .chapter-list a { padding:7px 10px; display:block; border-bottom:1px dotted #eee;
                             font-size:13px; color:#555;
                             overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100% }
.page-book .chapter-list a:hover { color:#8c4000; background:#fafafa }

.page-book .recommend-list { list-style:none; display:grid;
                             grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px }
.page-book .recommend-list .item { padding:10px; background:#fafafa; border-radius:4px;
                                   text-align:center; min-width:0; overflow:hidden }
.page-book .recommend-list .item .pic { width:80px; height:106px; background:#ddd;
                                        margin:0 auto 6px; border-radius:3px; display:flex;
                                        align-items:center; justify-content:center;
                                        color:#888; font-size:12px; overflow:hidden }
.page-book .recommend-list .item .pic img { max-width:100%; max-height:100% }
.page-book .recommend-list .item .name { font-size:13px; color:#333; margin-bottom:4px;
                                         overflow:hidden; text-overflow:ellipsis;
                                         white-space:nowrap; max-width:100% }
.page-book .recommend-list .item .name a { display:block; overflow:hidden; text-overflow:ellipsis }
.page-book .recommend-list .item .author { font-size:11px; color:#888;
                                           overflow:hidden; text-overflow:ellipsis; white-space:nowrap }

/* ===================== 阅读页 (page-chapter) ===================== */
.page-chapter .crumb { padding:10px 0; color:#888; font-size:13px }
.page-chapter .crumb a { color:#8c4000 }
.page-chapter .reader { background:#fff; padding:30px 50px; border:1px solid #eee }
.page-chapter .reader-head { text-align:center; padding-bottom:18px; border-bottom:1px solid #eee }
.page-chapter .reader-head h1 { font-size:26px; color:#333; margin-bottom:8px; word-break:break-word }
.page-chapter .reader-meta { font-size:13px; color:#888 }
.page-chapter .reader-meta a { color:#8c4000 }
.page-chapter .reader-meta span { margin:0 8px }
.page-chapter .read-nav { display:flex; justify-content:center; gap:14px;
                          padding:18px 0; border-top:1px solid #eee; font-size:14px }
.page-chapter .read-nav a, .page-chapter .read-nav span { padding:8px 22px; border:1px solid #ddd;
                                                           border-radius:4px; color:#555 }
.page-chapter .read-nav a:hover { background:#8c4000; color:#fff; border-color:#8c4000 }
.page-chapter .read-nav span { color:#bbb; cursor:not-allowed }
.page-chapter .read-body { font-size:17px; line-height:2.0; color:#333; padding:24px 0 }
.page-chapter .read-body p { margin-bottom:1em; text-indent:2em }

/* ===================== 分类页 (page-bookfull) ===================== */
.page-bookfull .cat-bar { background:#fff; padding:14px 16px; border:1px solid #eee;
                          margin-bottom:14px }
.page-bookfull .cat-bar h3 { font-size:14px; color:#8c4000; margin-bottom:10px;
                             border-left:3px solid #8c4000; padding-left:8px }
.page-bookfull .cat-list { display:flex; flex-wrap:wrap; gap:6px }
.page-bookfull .cat-list a { display:inline-block; padding:6px 12px; background:#f5f5f5;
                             border-radius:18px; font-size:13px; color:#555;
                             border:1px solid transparent; transition:.15s }
.page-bookfull .cat-list a:hover { background:#fff5e6; color:#8c4000; border-color:#f0c894 }
.page-bookfull .cat-list a.act { background:#8c4000; color:#fff; border-color:#8c4000; font-weight:600 }
.page-bookfull .cat-list a .num { opacity:.7; font-size:11px; margin-left:3px }
.page-bookfull .search-bar { background:#fff; padding:12px 16px; border:1px solid #eee;
                             margin-bottom:14px; display:flex; align-items:center; gap:8px }
.page-bookfull .search-bar form { display:flex; flex:1; max-width:480px }
.page-bookfull .search-bar input { flex:1; border:1px solid #ddd; padding:7px 12px;
                                   border-radius:4px 0 0 4px; font-size:13px; outline:none }
.page-bookfull .search-bar input:focus { border-color:#8c4000 }
.page-bookfull .search-bar button { background:#8c4000; color:#fff; border:0; padding:0 18px;
                                    border-radius:0 4px 4px 0; cursor:pointer; font-size:13px }
.page-bookfull .book-list { list-style:none }
.page-bookfull .book-list li { padding:10px 0; border-bottom:1px dashed #eee; display:flex;
                               justify-content:space-between; align-items:center;
                               font-size:13px; gap:10px; min-width:0 }
.page-bookfull .book-list a.title { color:#333; flex:1; min-width:0;
                                    overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.page-bookfull .book-list a.title:hover { color:#8c4000 }
.page-bookfull .book-list .meta { color:#888; font-size:12px; flex-shrink:0; text-align:right }
.page-bookfull .book-list .meta .badge { display:inline-block; padding:1px 8px;
                                         background:#fff5e6; color:#8c4000; border-radius:10px;
                                         margin-right:6px; font-size:11px }

/* ===================== 内链 inline (隐性插入正文 / 简介末尾) ===================== */
.il-inline{display:inline}
.il-inline a{color:inherit;text-decoration:none;border-bottom:1px dotted rgba(140,64,0,.35);padding:0 1px}
.il-inline a:hover{color:#8c4000;border-bottom-color:#8c4000}

/* ===================== Stub (page-stub) ===================== */
.page-stub { background:#f5f5f5; padding:40px 20px; text-align:center }
.page-stub h1 { font-size:22px; color:#8c4000; margin:20px 0 }
.page-stub .nav { display:flex; justify-content:center; flex-wrap:wrap; gap:6px; margin-bottom:20px }
.page-stub .nav a { padding:6px 12px; color:#8c4000 }
.page-stub .tip { color:#888; margin-top:20px; font-size:14px }

/* ============================================================
   响应式（统一 768 + 480 两档断点，全部页面共享）
   ============================================================ */
@media (max-width:768px){
  .t-header .wrap { flex-wrap:wrap; padding:0 12px; gap:10px }
  .t-header .brand { font-size:18px; margin-right:8px }
  .t-header .nav { flex-wrap:wrap; gap:6px }
  .t-header .nav a { padding:3px 6px; font-size:13px }
  .t-container { padding:0 12px; margin:10px auto }
  .t-block { padding:14px 12px }
  .t-section-title { font-size:14px }
  .t-footer ul li { margin:0 6px }

  /* home */
  .page-home .sort-box { padding:12px }
  .page-home .sort-box h3 { font-size:15px }
  .page-home .search form { max-width:100% }

  /* book */
  .page-book .book-main { flex-direction:column; gap:14px }
  .page-book .book-img { align-self:center }
  .page-book .book-info h1 { font-size:18px }
  .page-book .book-info .meta { gap:12px; font-size:12px }
  .page-book .latest-list { grid-template-columns:1fr }
  .page-book .chapter-list { grid-template-columns:1fr }
  .page-book .recommend-list { grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px }
  .page-book .recommend-list .item { padding:8px }
  .page-book .recommend-list .item .pic { width:64px; height:84px }
  .page-book .recommend-list .item .name { font-size:12px }
  .page-book .recommend-list .item .author { font-size:10px }

  /* chapter */
  .page-chapter .reader { padding:18px 14px }
  .page-chapter .reader-head h1 { font-size:20px }
  .page-chapter .reader-meta { font-size:12px }
  .page-chapter .reader-meta span { margin:0 4px }
  .page-chapter .crumb { font-size:12px; padding:8px 0 }
  .page-chapter .read-body { font-size:15px; line-height:1.85 }
  .page-chapter .read-nav { flex-wrap:wrap; gap:8px }
  .page-chapter .read-nav a, .page-chapter .read-nav span { padding:6px 14px;
        font-size:13px; flex:1; text-align:center; min-width:90px }

  /* bookfull */
  .page-bookfull .cat-bar { padding:12px }
  .page-bookfull .cat-list a { padding:5px 10px; font-size:12px }
  .page-bookfull .search-bar { padding:10px 12px }
  .page-bookfull .book-list li { flex-wrap:wrap; padding:9px 0; gap:4px }
  .page-bookfull .book-list a.title { flex-basis:100%; font-size:14px;
        white-space:normal; overflow:visible; word-break:break-word }
  .page-bookfull .book-list .meta { font-size:11px; flex-basis:100%; text-align:left; color:#999 }
}

@media (max-width:480px){
  .page-home .sort-list li { flex-wrap:wrap }
  .page-home .sort-list .author { flex-basis:100%; margin-left:0; margin-top:2px }

  .page-book .book-info h1 { font-size:16px }
  .page-book .recommend-list { grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px }
  .page-book .recommend-list .item { padding:6px }
  .page-book .recommend-list .item .pic { width:56px; height:74px }

  .page-chapter .reader { padding:14px 10px }
  .page-chapter .reader-head h1 { font-size:17px }
  .page-chapter .read-body { font-size:14px; line-height:1.8 }
  .page-chapter .read-body p { text-indent:1.5em }

  .page-stub { padding:24px 12px }
  .page-stub h1 { font-size:18px }
  .page-stub .nav a { padding:4px 8px; font-size:13px }
}
