@charset "UTF-8";
/* ============================================================================
   新中式东方漫画馆 · orient-book.css
   小说频道的设计系统落地（与漫画主线同一套令牌，用黛青作频道色）

   说明：官方小说皮的 book/css/{style,index,info,read,category,lists,search}.css
   与 book/js/{index,lazyload,waterwheelCarousel}.min.js 本主题一概不引用
   （不引入无法核实的依赖，也不引百度分享外链）。搜索、懒加载、轮播
   由 js/orient-book.js 以原生实现替代。
   ========================================================================== */

/* ==========================================================================
   1. 频道顶栏
   ========================================================================== */
.story-header {
  position: sticky; top: 0; z-index: var(--z-head);
  background: rgba(245, 242, 235, .93);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid var(--line-soft);
}
.story-header-wrap {
  max-width: var(--wrap); margin: 0 auto;
  padding: 0 var(--gutter);
  display: flex; align-items: center; gap: var(--sp-5);
  height: 66px;
}
.story-header__logo { display: none; }   /* 主题不使用位图 LOGO，改由 .story-brand 承担 */

.story-brand {
  display: flex; align-items: center; gap: 9px; flex: none;
  font-family: var(--f-display); font-size: 19px; letter-spacing: .14em; color: var(--ink);
}
.story-brand .brand-mark { width: 30px; height: 30px; }
.story-brand .brand-mark .bm-body { fill: none; stroke: var(--ink); stroke-width: 1.4; }
.story-brand .brand-mark .bm-carve { fill: none; stroke: var(--dai); stroke-width: 1.4; stroke-linecap: round; }

.story-header__nav { display: flex; align-items: center; gap: var(--sp-1); min-width: 0; overflow: hidden; }
.story-header__nav .item {
  flex: none; padding: 8px 12px;
  font-size: 14.5px; letter-spacing: .08em; color: var(--ink-2);
  border-radius: var(--r-s);
  transition: color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}
.story-header__nav .item:hover { color: var(--ink); background: rgba(42, 39, 35, .04); }
.story-header__nav .item.active { color: var(--dai-deep); background: var(--dai-wash); }
.story-header__nav .item-comic {
  display: inline-flex; align-items: center; gap: 5px;
  color: var(--seal-deep); border: 1px solid var(--line-seal); background: var(--seal-wash);
}
.story-header__nav .item-comic:hover { color: var(--paper-white); background: var(--seal); }

/* 搜索 */
.story-header__search {
  position: relative;
  display: flex; align-items: center;
  flex: 1; max-width: 300px; margin-left: auto; height: 38px;
  border: 1px solid var(--line); border-radius: var(--r-s);
  background: var(--paper-white); overflow: hidden;
  transition: border-color var(--t-fast) var(--ease);
}
.story-header__search:focus-within { border-color: var(--dai); }
.story-header__search .input {
  flex: 1; min-width: 0; height: 100%; padding: 0 13px;
  border: 0; background: none; outline: none; font-size: 14px; color: var(--ink);
}
.story-header__search .input::placeholder { color: var(--ink-4); }
.story-header__search .button {
  flex: none; height: 100%; padding: 0 16px;
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 13.5px; color: var(--paper-white); background: var(--dai);
  cursor: pointer;
  transition: background var(--t-fast) var(--ease);
}
.story-header__search .button:hover { background: var(--dai-deep); }
/* 热搜下拉：默认隐藏，聚焦后由 orient-book.js 展开 */
.story-header__input-dialog {
  position: absolute; left: 0; right: 0; top: calc(100% + 6px);
  background: var(--paper); background-image: var(--tex-paper);
  border: 1px solid var(--line); border-radius: var(--r-m);
  box-shadow: var(--sh-3); z-index: var(--z-modal);
  padding: var(--sp-4); max-height: 60vh; overflow-y: auto;
}
.story-header__blur-search { display: none; }
.story-header__search-hots .title {
  font-family: var(--f-display); font-size: 14px; letter-spacing: .12em;
  color: var(--ink-3); margin-bottom: 10px;
}
.search-hot .hot-item { border-bottom: 1px dashed var(--line-soft); }
.search-hot .hot-item:last-child { border-bottom: 0; }
.search-hot .hot-item a { display: block; padding: 9px 0; }
.search-hot .hot-title { display: flex; align-items: center; gap: 9px; font-size: 14px; color: var(--ink-2); }
.search-hot .hot-title .num {
  flex: none; width: 18px; height: 18px;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--f-num); font-size: 11.5px;
  color: var(--ink-4); background: var(--paper-3); border-radius: var(--r-xs);
}
.search-hot .hot-title .num-1, .search-hot .hot-title .num-2, .search-hot .hot-title .num-3 {
  color: var(--paper-white); background: var(--dai);
}
.search-hot .hot-detail { display: none; }
.search-hot .hot-item:hover .hot-title { color: var(--seal); }

/* 用户区 */
.story-header__user { display: flex; align-items: center; gap: var(--sp-3); flex: none; }
.story-header__user .user-avatar {
  width: 34px; height: 34px; border-radius: 50%; overflow: hidden;
  border: 1px solid var(--line); background: var(--paper-3);
}
.story-header__user .user-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.story-header__user .j-user-name { font-size: 13.5px; color: var(--ink-2); }
.story-header__user .login-link {
  padding: 7px 15px; font-size: 13.5px; letter-spacing: .08em;
  color: var(--paper-white); background: var(--ink); border-radius: var(--r-s);
}
.story-header__user .login-link:hover { background: var(--dai); }

/* ==========================================================================
   2. 通用区块（小说频道的区题用黛青）
   ========================================================================== */
.p-book .sec-title::before { background: var(--dai); }
.p-book .sec-title { font-size: 22px; }
.p-book .sec-more:hover { color: var(--dai); }

/* 小说卡：竖版 3:4 封面 + 书名 + 最新章节 + 作者 */
.book-card {
  position: relative; display: block;
  background: var(--paper-white);
  border: 1px solid var(--line-soft); border-radius: var(--r-m);
  box-shadow: var(--sh-1); overflow: hidden;
  transition: transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);
}
.book-card:hover { transform: translateY(-4px); box-shadow: var(--sh-2); }
.book-card .bc-cover {
  position: relative; display: block; aspect-ratio: 3 / 4;
  background: linear-gradient(160deg, var(--paper-3), var(--paper-sink)); overflow: hidden;
}
.book-card .bc-cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--t-slow) var(--ease); }
.book-card:hover .bc-cover img { transform: scale(1.035); }
.book-card .bc-tag {
  position: absolute; left: 0; top: 10px; z-index: 2;
  padding: 3px 9px; font-size: 11.5px; letter-spacing: .08em;
  color: var(--paper-white); background: var(--dai);
  border-radius: 0 var(--r-xs) var(--r-xs) 0;
}
.book-card .bc-tag--finish { background: var(--ink-3); }
.book-card .bc-tag--vip { background: var(--gold-deep); }
.book-card .bc-body { padding: 11px 12px 13px; }
.book-card .bc-title {
  font-family: var(--f-display); font-size: 15px; line-height: 1.45; color: var(--ink);
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}
.book-card:hover .bc-title { color: var(--dai-deep); }
.book-card .bc-chap { margin-top: 4px; font-size: 12.5px; color: var(--ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.book-card .bc-meta {
  margin-top: 7px; padding-top: 7px; border-top: 1px dashed var(--line-soft);
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  font-size: 12px; color: var(--ink-4);
}

/* ==========================================================================
   3. 小说首页
   ========================================================================== */
.book-hero {
  position: relative; overflow: hidden;
  margin-top: var(--sp-6); border-radius: var(--r-l);
  background: linear-gradient(150deg, #FBFAF6 0%, #F0EDE4 52%, #E7E3D8 100%);
  border: 1px solid var(--line-soft); box-shadow: var(--sh-1);
}
.book-hero .bh-scene { position: absolute; inset: 0; pointer-events: none; opacity: .16; }
.book-hero .bh-scene svg { width: 100%; height: 100%; }
.book-hero::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(96deg, rgba(251,250,246,.95) 0%, rgba(251,250,246,.82) 40%, rgba(251,250,246,.3) 70%, rgba(251,250,246,0) 100%);
}
.book-hero-in {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: minmax(0, 1fr) 400px;
  gap: var(--sp-7); align-items: center;
  padding: var(--sp-8);
}
.book-hero .bh-eyebrow {
  display: inline-flex; align-items: center; gap: 9px;
  font-size: 12.5px; letter-spacing: .28em; color: var(--ink-3); margin-bottom: var(--sp-4);
}
.book-hero .bh-eyebrow::before { content: ""; width: 22px; height: 1px; background: var(--dai); }
.book-hero h1 { font-family: var(--f-display); font-size: 42px; font-weight: 400; line-height: 1.26; letter-spacing: .07em; color: var(--ink); }
.book-hero h1 em { display: block; font-style: normal; font-size: 24px; letter-spacing: .2em; color: var(--ink-3); margin-top: 12px; }
.book-hero .bh-desc { margin-top: var(--sp-5); font-size: 14.5px; line-height: 2; color: var(--ink-2); max-width: 26em; }
.book-hero .bh-acts { margin-top: var(--sp-6); display: flex; gap: var(--sp-3); flex-wrap: wrap; }
.book-hero .bh-acts .btn-ink:hover { background: var(--dai); }

/* 轮播（自带实现，不依赖 waterwheelCarousel） */
.book-carousel { position: relative; }
.book-carousel .bc-slides { position: relative; min-height: 300px; }
.book-carousel .bc-slide {
  position: absolute; inset: 0;
  display: grid; grid-template-columns: 156px minmax(0, 1fr); gap: var(--sp-5); align-items: center;
  opacity: 0; visibility: hidden; transform: translateY(10px);
  transition: opacity var(--t-slow) var(--ease), transform var(--t-slow) var(--ease), visibility var(--t-slow);
}
.book-carousel .bc-slide.is-on { opacity: 1; visibility: visible; transform: none; position: relative; }
.book-carousel .bc-cover-lg {
  position: relative; aspect-ratio: 3 / 4; border-radius: var(--r-m); overflow: hidden;
  border: 1px solid var(--line); background: var(--paper-sink);
  box-shadow: 0 10px 30px rgba(62, 52, 38, .18);
}
.book-carousel .bc-cover-lg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.book-carousel .bc-info-kind {
  display: inline-block; margin-bottom: 10px; padding: 2px 9px;
  font-size: 11.5px; letter-spacing: .14em;
  color: var(--dai-deep); background: var(--dai-wash);
  border: 1px solid var(--dai-wash); border-radius: var(--r-xs);
}
.book-carousel .bc-info-title { font-family: var(--f-display); font-size: 23px; line-height: 1.35; color: var(--ink); }
.book-carousel .bc-info-title:hover { color: var(--dai-deep); }
.book-carousel .bc-info-meta { margin-top: 9px; font-size: 13px; color: var(--ink-3); display: flex; gap: 10px; flex-wrap: wrap; }
.book-carousel .bc-info-text {
  margin-top: 11px; font-size: 13.5px; line-height: 1.9; color: var(--ink-2);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.book-carousel .bc-info-acts { margin-top: var(--sp-4); display: flex; gap: var(--sp-2); flex-wrap: wrap; }
.book-carousel .bc-nav {
  margin-top: var(--sp-5); padding-top: var(--sp-4);
  border-top: 1px solid var(--line-soft);
  display: flex; align-items: center; gap: var(--sp-4);
}
.book-carousel .bc-dots { display: flex; gap: 7px; }
.book-carousel .bc-dot { width: 22px; height: 3px; border-radius: 2px; background: var(--ink-5); opacity: .55; transition: all var(--t-base) var(--ease); }
.book-carousel .bc-dot.is-on { width: 40px; background: var(--dai); opacity: 1; }
.book-carousel .bc-pager { margin-left: auto; font-family: var(--f-num); font-size: 12.5px; color: var(--ink-4); }

/* ==========================================================================
   4. 小说详情
   ========================================================================== */
.story-detail .book-hero { margin-top: var(--sp-5); }
.story-detail .detail-title { font-size: 32px; }
.story-detail .detail-hero::after { background: linear-gradient(100deg, rgba(251,250,246,.96) 0%, rgba(251,250,246,.88) 44%, rgba(251,250,246,.7) 100%); }
.story-detail .detail-acts .btn-seal { background: var(--dai); }
.story-detail .detail-acts .btn-seal:hover { background: var(--dai-deep); }

/* 章节目录：小说用单列列表（卷/话结构） */
.book-ch-list { border-top: 1px solid var(--line-soft); }
.book-ch-item {
  display: flex; align-items: center; gap: var(--sp-3);
  padding: 11px 8px; border-bottom: 1px solid var(--line-soft);
  font-size: 14.5px; color: var(--ink-2);
  transition: background var(--t-fast) var(--ease), padding-left var(--t-fast) var(--ease);
}
.book-ch-item:hover { background: rgba(251, 250, 246, .8); padding-left: 14px; color: var(--dai-deep); }
.book-ch-item .bi-no { flex: none; width: 34px; font-family: var(--f-num); font-size: 12.5px; color: var(--ink-4); }
.book-ch-item .bi-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.book-ch-item .bi-flag { flex: none; font-size: 10.5px; padding: 1px 5px; border-radius: var(--r-xs); }
.book-ch-item .bi-flag--vip { color: var(--gold-deep); background: var(--gold-wash); }
.book-ch-item .bi-flag--cion { color: var(--seal-deep); background: var(--seal-wash); }

/* ==========================================================================
   5. 小说阅读器（正文优先，装饰为零）
   ========================================================================== */
.book-read-bar {
  position: sticky; top: 0; z-index: var(--z-head);
  background: rgba(245, 242, 235, .95);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line-soft);
  display: flex; align-items: center; gap: var(--sp-3);
  padding: 10px var(--gutter);
}
.book-read-bar .rb-title { flex: 1; min-width: 0; display: flex; align-items: baseline; gap: 10px; overflow: hidden; }
.book-read-bar .rb-title a { font-size: 14.5px; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 34%; }
.book-read-bar .rb-chap { font-size: 13.5px; color: var(--ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.book-read-bar .rb-btn {
  flex: none; height: 34px; min-width: 34px; padding: 0 12px;
  display: inline-flex; align-items: center; justify-content: center; gap: 5px;
  font-size: 13px; color: var(--ink-2);
  border: 1px solid var(--line); border-radius: var(--r-s); background: transparent;
  transition: all var(--t-fast) var(--ease);
}
.book-read-bar .rb-btn:hover { color: var(--dai-deep); border-color: var(--dai); }
.book-read-bar .rb-btn[disabled], .book-read-bar .rb-btn.is-off { opacity: .4; pointer-events: none; }

.book-read-main { max-width: 780px; margin: 0 auto; padding: var(--sp-7) var(--gutter) var(--sp-9); }
.book-read-main h1 {
  font-family: var(--f-display); font-size: 26px; font-weight: 400;
  letter-spacing: .1em; text-align: center; color: var(--ink);
  margin-bottom: var(--sp-6);
}
.book-read-main .read-meta {
  text-align: center; font-size: 12.5px; color: var(--ink-4);
  padding-bottom: var(--sp-5); margin-bottom: var(--sp-6);
  border-bottom: 1px solid var(--line-soft);
}
.book-read-main .read-content {
  font-family: var(--f-body); font-size: 17.5px; line-height: 2.15; color: var(--ink);
}
.book-read-main .read-content p { margin: 0 0 1.15em; text-indent: 2em; }
.book-read-main .read-foot {
  margin-top: var(--sp-8); padding-top: var(--sp-6);
  border-top: 1px solid var(--line-soft);
  display: flex; align-items: center; justify-content: center; gap: var(--sp-3); flex-wrap: wrap;
}
/* 阅读设置（字号 / 底色），键名与漫画阅读器共用一套令牌 */
.book-read-main.is-dark { color: var(--paper); }
html[data-bk-bg="paper"] .book-read-main { background: #EDEAE3; }
html[data-bk-bg="sepia"] .book-read-main { background: #EFE6D2; }
html[data-bk-bg="night"] .book-read-main { background: #0B0A09; color: #A69E90; }
html[data-bk-bg="night"] .book-read-main .read-content { color: #A69E90; }
html[data-bk-fs="s"] .book-read-main .read-content { font-size: 16px; }
html[data-bk-fs="l"] .book-read-main .read-content { font-size: 19.5px; }
html[data-bk-fs="xl"] .book-read-main .read-content { font-size: 21.5px; }

/* ==========================================================================
   6. 分类 / 列表 / 搜索
   ========================================================================== */
.story-category .filter-panel, .p-book .filter-panel { margin-top: var(--sp-5); }
.p-book .book-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--sp-5) var(--sp-4); }

/* ==========================================================================
   7. 页脚
   ========================================================================== */
.p-book .footer-wrapper { margin-top: var(--sp-9); padding: var(--sp-7) 0 var(--sp-6); background: linear-gradient(180deg, rgba(231,224,210,0), rgba(226,218,203,.8)); border-top: 1px solid var(--line-soft); }
.p-book .bdsharebuttonbox, .p-book .share-con { display: none !important; }  /* 不引入外部分享脚本 */

/* ==========================================================================
   8. 响应式
   ========================================================================== */
@media (max-width: 1199px) {
  .p-book .book-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .book-hero-in { grid-template-columns: minmax(0, 1fr) 340px; padding: var(--sp-7) var(--sp-6); }
  .book-hero h1 { font-size: 36px; }
  .story-header-wrap { gap: var(--sp-4); }
  .story-header__nav .item { padding: 7px 9px; font-size: 14px; }
}
@media (max-width: 991px) {
  .p-book .book-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .book-hero-in { grid-template-columns: minmax(0, 1fr); gap: var(--sp-6); }
  .book-carousel { border-top: 1px solid var(--line-soft); padding-top: var(--sp-6); }
  .story-header__nav { display: none; }     /* 窄屏导航交由底部/抽屉 */
  .story-header__search { max-width: none; }
}
@media (max-width: 767px) {
  .p-book .book-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-4) 10px; }
  .story-header-wrap { height: 56px; }
  .story-header__user .j-user-name { display: none; }
  .book-hero h1 { font-size: 28px; }
  .book-hero h1 em { font-size: 17px; }
  .book-hero-in { padding: var(--sp-6) var(--sp-5); }
  .book-carousel .bc-slide { grid-template-columns: 100px minmax(0, 1fr); gap: var(--sp-4); }
  .book-carousel .bc-info-title { font-size: 18px; }
  .book-carousel .bc-info-text { display: none; }
  .book-read-main { padding: var(--sp-5) var(--gutter) var(--sp-8); }
  .book-read-main h1 { font-size: 21px; }
  .book-read-main .read-content { font-size: 16.5px; line-height: 2.05; }
  .book-read-bar .rb-title a { max-width: 40%; font-size: 13.5px; }
}
@media (max-width: 600px) {
  .p-book .book-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* ==========================================================================
   9. 官方小说皮类名兼容映射层
   小说频道 7 个页面的标记沿用官方皮的结构（.story-floor / .comic-cover /
   .read-container 等）。本层把这些类名直接映射到 orient 设计令牌，
   于是无需改写标记即可获得统一视觉，同时保持所有既有钩子不变。
   ========================================================================== */

/* ---- 9.1 区块（story-floor） ---- */
.p-book .story-floor { margin-top: var(--sec-gap); }
.p-book .story-floor__head {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: var(--sp-4); margin-bottom: var(--sec-head);
  padding-bottom: var(--sp-3);
  border-bottom: 1px solid var(--line-soft);
  position: relative;
}
.p-book .story-floor__head::before {
  content: ""; position: absolute; left: 0; bottom: -1px;
  width: 26px; height: 2px; background: var(--dai);
}
.p-book .story-floor__head .title,
.p-book .story-floor__head h2 {
  font-family: var(--f-display); font-size: 22px; font-weight: 400;
  letter-spacing: .12em; color: var(--ink);
}
.p-book .story-floor__head .more {
  font-size: 13px; color: var(--ink-3); cursor: pointer;
  transition: color var(--t-fast) var(--ease);
}
.p-book .story-floor__head .more:hover { color: var(--dai-deep); }
.p-book .story-floor__content { margin-top: 0; }

/* ---- 9.2 作品卡（.list-wrapper > .list > .item） ---- */
.p-book .list-wrapper { display: block; }
.p-book .list-wrapper .list,
.p-book .list-wrapper > ul {
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--sp-5) var(--sp-4);
  list-style: none; margin: 0; padding: 0;
}
.p-book .list-wrapper .item {
  position: relative; display: block;
  background: var(--paper-white);
  border: 1px solid var(--line-soft); border-radius: var(--r-m);
  box-shadow: var(--sh-1); overflow: hidden;
  transition: transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);
}
.p-book .list-wrapper .item:hover { transform: translateY(-4px); box-shadow: var(--sh-2); }

/* 封面：3:4 锁定；缺失位图由 CSS 渐变底 + 内联 SVG 底纹承担 */
.p-book .comic-cover {
  position: relative; display: block;
  aspect-ratio: 3 / 4; width: 100%;
  background: linear-gradient(160deg, var(--paper-3), var(--paper-sink));
  overflow: hidden;
}
.p-book .comic-cover img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform var(--t-slow) var(--ease);
}
.p-book .list-wrapper .item:hover .comic-cover img { transform: scale(1.035); }
/* 加载占位：官方用 book/images/load_3x4.png，本主题无位图 → 隐藏 img 的占位源不影响底纹 */
.p-book .comic-cover img.lazy:not(.is-done) { opacity: 1; }

/* 卡片文字区 */
.p-book .comic-intro, .p-book .comic-info, .p-book .comic-hot,
.p-book .comic-author, .p-book .comic-tag, .p-book .comic-read {
  padding: 0 12px; font-size: 12.5px; color: var(--ink-3);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.p-book .comic-name {
  padding: 11px 12px 0;
  font-family: var(--f-display); font-size: 15px; line-height: 1.45;
  color: var(--ink);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.p-book .comic-name a { color: inherit; }
.p-book .list-wrapper .item:hover .comic-name,
.p-book .list-wrapper .item:hover .comic-name a { color: var(--dai-deep); }
.p-book .comic-info { margin-top: 3px; }
.p-book .comic-hot { margin-top: 2px; }
.p-book .comic-author { margin-top: 2px; color: var(--ink-4); }
.p-book .comic-intro {
  margin-top: 4px; padding-bottom: 12px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  white-space: normal; line-height: 1.75;
}
.p-book .comic-tags { margin-top: 6px; padding: 0 12px 12px; display: flex; flex-wrap: wrap; gap: 5px; }
.p-book .comic-tags .tag, .p-book .comic-tags a, .p-book .comic-tags span {
  font-size: 11.5px; padding: 2px 8px;
  color: var(--dai-deep); background: var(--dai-wash);
  border-radius: var(--r-xs);
}
.p-book .comic-btns { padding: 0 12px 13px; display: flex; gap: 7px; }
.p-book .comic-btns .btn, .p-book .comic-btns a, .p-book .comic-btns .action-button {
  flex: 1; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 12.5px; letter-spacing: .06em;
  color: var(--paper-white); background: var(--dai);
  border-radius: var(--r-s); cursor: pointer;
  transition: background var(--t-fast) var(--ease);
}
.p-book .comic-btns .btn:hover, .p-book .comic-btns a:hover { background: var(--dai-deep); }
.p-book .comic-btns .btn + .btn, .p-book .comic-btns a + a { background: var(--paper-3); color: var(--ink-2); }

/* 「新」角标 */
.p-book .comic-new {
  position: absolute; left: 0; top: 10px; z-index: 2;
  padding: 3px 9px; font-size: 11.5px; letter-spacing: .08em;
  color: var(--paper-white); background: var(--seal);
  border-radius: 0 var(--r-xs) var(--r-xs) 0;
}

/* ---- 9.3 首页大图推荐 ---- */
.p-book .floor-recom .story-floor__content { position: relative; }
.p-book .recommend-carousel {
  display: flex; gap: var(--sp-3); overflow-x: auto;
  padding-bottom: var(--sp-3); scrollbar-width: none;
}
.p-book .recommend-carousel::-webkit-scrollbar { display: none; }
.p-book .recommend-carousel .comic-cover {
  flex: none; width: 148px; border-radius: var(--r-m);
  border: 1px solid var(--line-soft); box-shadow: var(--sh-1);
  cursor: pointer;
}
.p-book .recom-info {
  display: grid; grid-template-columns: 180px minmax(0, 1fr);
  gap: var(--sp-6); align-items: center;
  margin-top: var(--sp-5); padding: var(--sp-6);
  background: linear-gradient(150deg, #FBFAF6, #F1EEE6 70%);
  border: 1px solid var(--line-soft); border-radius: var(--r-m);
}
.p-book .recom-info .comic-name { padding: 0; font-size: 22px; }
.p-book .recom-info .comic-tag { padding: 0; margin-top: 8px; }
.p-book .recom-info .comic-intro {
  padding: 0; margin-top: 10px; font-size: 13.5px; line-height: 1.9;
  -webkit-line-clamp: 3; white-space: normal;
}
.p-book .recom-info .comic-hot { padding: 0; margin-top: 10px; }

/* ---- 9.4 详情页 ---- */
.p-book .story-detail .comic-detail,
.p-book .story-detail .detail-wrapper { margin-top: var(--sp-5); }
.p-book .story-detail .comic-cover { max-width: 200px; border-radius: var(--r-m); border: 1px solid var(--line); box-shadow: var(--sh-2); }
.p-book .chapter-list, .p-book .catalog-list { margin-top: var(--sp-5); }
.p-book .chapter-list .item, .p-book .catalog-list .item,
.p-book .chapter-list li, .p-book .catalog-list li {
  display: flex; align-items: center; gap: var(--sp-3);
  padding: 11px 8px; border-bottom: 1px solid var(--line-soft);
  font-size: 14.5px; color: var(--ink-2);
  transition: background var(--t-fast) var(--ease), padding-left var(--t-fast) var(--ease);
}
.p-book .chapter-list .item:hover, .p-book .catalog-list .item:hover,
.p-book .chapter-list li:hover, .p-book .catalog-list li:hover {
  background: rgba(251, 250, 246, .8); padding-left: 14px; color: var(--dai-deep);
}

/* ---- 9.5 阅读页（.story-read） ---- */
.p-book .story-read { padding-top: var(--sp-5); }
.p-book .story-read-wrapper { max-width: 780px; margin: 0 auto; padding: 0 var(--gutter) var(--sp-8); }
.p-book .read-crumb { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ink-4); padding-bottom: var(--sp-5); flex-wrap: wrap; }
.p-book .read-crumb a { color: var(--ink-3); }
.p-book .read-crumb a:hover { color: var(--dai-deep); }
.p-book .read-container { position: relative; }
.p-book .read-mark-img { display: none; }        /* 官方装饰位图，本主题不使用 */
.p-book .read-container .comic-title {
  font-family: var(--f-display); font-size: 26px; font-weight: 400;
  letter-spacing: .1em; text-align: center; color: var(--ink);
}
.p-book .read-container .comic-info {
  margin-top: var(--sp-4); padding: 0 0 var(--sp-5);
  display: flex; align-items: center; justify-content: center;
  gap: var(--sp-4); flex-wrap: wrap;
  font-size: 12.5px; color: var(--ink-4);
  border-bottom: 1px solid var(--line-soft);
}
.p-book .read-container .comic-info .line { width: 1px; height: 12px; background: var(--line); }
.p-book .read-container .divider { height: 1px; margin: var(--sp-6) 0; background: linear-gradient(90deg, transparent, var(--line-soft) 15%, var(--line-soft) 85%, transparent); }
.p-book .read-container .content {
  font-family: var(--f-body); font-size: 17.5px; line-height: 2.15; color: var(--ink);
  word-break: break-word;
}
.p-book .read-container .content p { margin: 0 0 1.15em; text-indent: 2em; }

.p-book .read-reward-btn {
  display: inline-flex; align-items: center; gap: 6px;
  margin: var(--sp-7) auto 0; padding: 9px 22px;
  font-size: 14px; color: var(--paper-white); background: var(--gold-deep);
  border-radius: var(--r-s); cursor: pointer;
}
.p-book .read-controls {
  margin-top: var(--sp-7); padding-top: var(--sp-6);
  border-top: 1px solid var(--line-soft);
  display: flex; align-items: center; justify-content: center;
  gap: var(--sp-3); flex-wrap: wrap;
}
.p-book .read-controls .catalog-btn,
.p-book .read-controls .prev-btn,
.p-book .read-controls .next-btn {
  min-width: 108px; height: 42px; padding: 0 20px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 14px; letter-spacing: .06em; cursor: pointer;
  color: var(--ink-2); background: var(--paper-white);
  border: 1px solid var(--line); border-radius: var(--r-s);
  transition: all var(--t-fast) var(--ease);
}
.p-book .read-controls .next-btn { color: var(--paper-white); background: var(--dai); border-color: var(--dai); }
.p-book .read-controls .catalog-btn:hover,
.p-book .read-controls .prev-btn:hover { color: var(--dai-deep); border-color: var(--dai); }
.p-book .read-controls .next-btn:hover { background: var(--dai-deep); }
.p-book .read-controls .prev-btn.is-off, .p-book .read-controls .next-btn.is-off { opacity: .4; pointer-events: none; }
.p-book .share-feedback { display: none !important; }   /* 外部分享与反馈区不启用 */
.p-book .read-user-controls { margin-top: var(--sp-6); display: flex; gap: var(--sp-3); align-items: center; flex-wrap: wrap; }

/* ---- 9.6 分类 / 搜索页 ---- */
.p-book .type-list, .p-book .list-wrapper .type-list { display: flex; flex-wrap: wrap; gap: 8px; }
.p-book .j-filter-item, .p-book .j-filter-type {
  display: inline-block; padding: 6px 15px;
  font-size: 13.5px; letter-spacing: .06em; color: var(--ink-2);
  background: rgba(251, 250, 246, .7);
  border: 1px solid var(--line-soft); border-radius: var(--r-xs);
  cursor: pointer;
  transition: all var(--t-fast) var(--ease);
}
.p-book .j-filter-item:hover, .p-book .j-filter-type:hover { color: var(--ink); border-color: var(--line-2); background: var(--paper-white); }
.p-book .j-filter-item.select, .p-book .j-filter-item.active,
.p-book .j-filter-type.select, .p-book .j-filter-type.active {
  color: var(--paper-white); background: var(--dai); border-color: var(--dai);
}
.p-book .rank-item { display: flex; align-items: center; gap: var(--sp-3); padding: 10px 4px; border-bottom: 1px solid var(--line-soft); }
.p-book .rank-item .num { flex: none; width: 26px; font-family: var(--f-display); text-align: center; color: var(--ink-4); }
.p-book .rank-item:nth-child(-n+3) .num { color: var(--dai); }
.p-book .rank-item .comic-name { padding: 0; flex: 1; min-width: 0; }

/* ---- 9.7 图标字体与位图占位：本主题不引入，统一降级 ---- */
.p-book .mccms-icon { font-style: normal; font-size: 0; }
.p-book .mccms-icon::before { content: ""; }
.p-book .head-icon, .p-book .i-choose, .p-book .ic_xs_yp, .p-book .ic_yp_chooseon,
.p-book .i-ticket, .p-book .icon-ic_detail_tc_close, .p-book .icon-ic_rqz_red { display: none; }
.p-book .dialog-common__header, .p-book .dialog-control { display: flex; align-items: center; justify-content: space-between; }
.p-book .j-dialog-close { cursor: pointer; color: var(--ink-4); }
.p-book .j-dialog-close:hover { color: var(--seal); }

/* 小说首页广告位（ad1/ad2 位图缺失）→ 用纸面占位，不留破图 */
.p-book img[src*="images/ad1"], .p-book img[src*="images/ad2"],
.p-book img[src*="images/app_logo"], .p-book img[src*="images/load_3x4"],
.p-book img[src*="book/images/"] { display: none !important; }

/* 响应式补充 */
@media (max-width: 1199px) {
  .p-book .list-wrapper .list, .p-book .list-wrapper > ul { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
  .p-book .list-wrapper .list, .p-book .list-wrapper > ul { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .p-book .recom-info { grid-template-columns: minmax(0, 1fr); gap: var(--sp-5); }
}
@media (max-width: 767px) {
  .p-book .list-wrapper .list, .p-book .list-wrapper > ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-4) 10px; }
  .p-book .read-container .comic-title { font-size: 20px; }
  .p-book .read-container .content { font-size: 16.5px; line-height: 2.05; }
  .p-book .story-read-wrapper { padding: 0 var(--gutter) var(--sp-7); }
  .p-book .recommend-carousel .comic-cover { width: 112px; }
}
@media (max-width: 600px) {
  .p-book .list-wrapper .list, .p-book .list-wrapper > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .p-book .read-controls .catalog-btn, .p-book .read-controls .prev-btn, .p-book .read-controls .next-btn { flex: 1; min-width: 92px; padding: 0 12px; }
}

