/* 基礎變數與主題切換 */
:root {
  --color-bg: #f5f5f7;
  --color-bg-elevated: #ffffff;
  --color-text: #1f1f23;
  --color-text-soft: #5c5c66;
  --color-accent: #2563eb;
  --color-accent-soft: rgba(37, 99, 235, 0.1);
  --color-border-subtle: #e2e2ea;
  --color-danger: #dc2626;

  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;

  --shadow-soft: 0 10px 30px rgba(15, 23, 42, 0.08);

  --font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    "PingFang TC", "Microsoft JhengHei", sans-serif;
}

.booklist-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin:20px 0 18px;padding:34px 38px;border:1px solid var(--color-border-subtle);border-radius:18px;background:linear-gradient(135deg,var(--color-bg-elevated),var(--color-bg));box-shadow:var(--shadow-soft)}
.booklist-eyebrow,.booklist-featured{display:inline-flex;color:#9a6522;font-size:12px;font-weight:700;letter-spacing:.08em}.booklist-hero h1,.booklist-editor h1,.booklist-detail h1{margin:7px 0 8px;color:var(--color-text);font-size:34px}.booklist-hero p,.booklist-editor header p{margin:0;color:var(--color-text-soft)}
.booklist-create-link,.booklist-submit{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border:0;border-radius:10px;background:#356b9d;color:#fff;font-weight:700;box-shadow:0 10px 22px rgba(53,107,157,.18)}
.booklist-tabs{display:flex;gap:8px;margin-bottom:18px}.booklist-tabs a{padding:9px 18px;border:1px solid var(--color-border-subtle);border-radius:999px;color:var(--color-text-soft)}.booklist-tabs a.is-active{border-color:#91afc9;background:#edf4f9;color:#28577f;font-weight:700}
.booklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.booklist-card{overflow:hidden;border:1px solid var(--color-border-subtle);border-radius:14px;background:var(--color-bg-elevated);box-shadow:var(--shadow-soft)}.booklist-card__covers{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;height:160px;padding:12px;background:var(--color-bg)}.booklist-card__covers img,.booklist-card__covers span{width:100%;height:100%;object-fit:cover;border-radius:6px;background:var(--color-border-subtle)}.booklist-card__body{padding:18px}.booklist-card h2{margin:5px 0 8px;font-size:20px}.booklist-card h2 a{color:var(--color-text)}.booklist-card__body>p{display:-webkit-box;overflow:hidden;min-height:48px;margin:0 0 14px;color:var(--color-text-soft);line-height:1.7;-webkit-box-orient:vertical;-webkit-line-clamp:2}.booklist-card__meta,.booklist-detail__byline{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--color-text-soft);font-size:12px}.booklist-empty{display:grid;place-items:center;gap:8px;min-height:240px;border:1px dashed var(--color-border-subtle);border-radius:14px;color:var(--color-text-soft)}.booklist-pagination{display:flex;justify-content:center;gap:6px;margin:24px}.booklist-pagination a{padding:7px 11px;border:1px solid var(--color-border-subtle);border-radius:7px}.booklist-pagination a.is-active{background:#356b9d;color:#fff}
.booklist-detail{margin:20px 0}.booklist-detail__header{padding:36px;border:1px solid var(--color-border-subtle);border-radius:16px;background:var(--color-bg-elevated)}.booklist-detail__intro{max-width:900px;margin-top:20px;color:var(--color-text-soft);font-size:15px;line-height:1.9}.booklist-books{display:grid;gap:14px;margin:20px 0;padding:0;list-style:none}.booklist-book{position:relative;display:grid;grid-template-columns:42px 100px 1fr;gap:18px;padding:20px;border:1px solid var(--color-border-subtle);border-radius:14px;background:var(--color-bg-elevated)}.booklist-book__number{color:#9a6522;font:700 18px Georgia,serif}.booklist-book__cover img{display:block;width:100px;height:140px;border-radius:7px;object-fit:cover}.booklist-book__content h2{margin:0 0 7px;font-size:21px}.booklist-book__content h2 a{color:var(--color-text)}.booklist-book__meta{display:flex;gap:10px;color:var(--color-text-soft);font-size:12px}.booklist-book blockquote{margin:16px 0;padding:12px 16px;border-left:3px solid #c58a36;background:var(--color-bg);color:var(--color-text);line-height:1.8}.booklist-book__read{display:inline-flex;padding:7px 13px;border:1px solid var(--color-border-subtle);border-radius:8px;color:#356b9d;font-weight:700}
.booklist-editor{max-width:980px;margin:20px auto;padding:34px;border:1px solid var(--color-border-subtle);border-radius:16px;background:var(--color-bg-elevated)}.booklist-editor__fields{display:grid;grid-template-columns:1fr 2fr;gap:16px;margin-top:26px}.booklist-editor label{display:grid;gap:7px;color:var(--color-text);font-weight:700}.booklist-editor label.is-wide{grid-column:1/-1}.booklist-editor input,.booklist-editor textarea{width:100%;padding:12px 14px;border:1px solid var(--color-border-subtle);border-radius:9px;background:var(--color-bg);color:var(--color-text);font:inherit}.booklist-editor textarea{min-height:120px;resize:vertical}.booklist-picker{margin-top:28px}.booklist-picker h2{display:flex;justify-content:space-between}.booklist-picker h2 small{color:var(--color-text-soft);font-size:13px}.booklist-picker__search{display:flex;gap:8px}.booklist-picker__search button{padding:0 20px;border:0;border-radius:9px;background:#356b9d;color:#fff;font-weight:700}.booklist-search-results{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.booklist-search-result{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:8px;border:1px solid var(--color-border-subtle);border-radius:9px;background:var(--color-bg);color:var(--color-text);text-align:left}.booklist-search-result img{width:42px;height:58px;object-fit:cover;border-radius:4px}.booklist-search-result span{display:grid}.booklist-search-result small{color:var(--color-text-soft)}.booklist-search-result b{color:#356b9d}.booklist-searching{padding:16px;color:var(--color-text-soft)}.booklist-selected{display:grid;gap:10px;margin-top:16px}.booklist-selected__item{display:grid;grid-template-columns:58px 1fr auto;gap:12px;padding:12px;border:1px solid var(--color-border-subtle);border-radius:10px;background:var(--color-bg)}.booklist-selected__item img{width:58px;height:80px;object-fit:cover;border-radius:5px}.booklist-selected__item>div:nth-child(2){display:grid;gap:5px}.booklist-selected__item span{color:var(--color-text-soft);font-size:12px}.booklist-selected__item textarea{min-height:64px}.booklist-selected__actions{display:flex;align-items:flex-start;gap:5px}.booklist-selected__actions button{padding:6px 9px;border:1px solid var(--color-border-subtle);border-radius:7px;background:var(--color-bg-elevated);color:var(--color-text)}.booklist-submit-status{min-height:24px;margin:16px 0;color:#9a6522}.booklist-submit:disabled{opacity:.6}
[data-theme="dark"] .booklist-tabs a.is-active{border-color:#50789b;background:#233442;color:#acd0ee}[data-theme="dark"] .booklist-featured,[data-theme="dark"] .booklist-eyebrow,[data-theme="dark"] .booklist-book__number{color:#dfb36f}
@media(max-width:700px){.booklist-hero{align-items:flex-start;flex-direction:column;padding:24px 20px}.booklist-hero h1,.booklist-editor h1,.booklist-detail h1{font-size:27px}.booklist-grid{grid-template-columns:1fr}.booklist-card__covers{height:130px}.booklist-detail__header,.booklist-editor{padding:22px 16px}.booklist-book{grid-template-columns:30px 78px 1fr;gap:10px;padding:14px}.booklist-book__cover img{width:78px;height:110px}.booklist-book__content h2{font-size:17px}.booklist-book blockquote{grid-column:1/-1;margin:10px 0}.booklist-editor__fields,.booklist-search-results{grid-template-columns:1fr}.booklist-editor label.is-wide{grid-column:auto}.booklist-selected__item{grid-template-columns:48px 1fr}.booklist-selected__item img{width:48px;height:66px}.booklist-selected__actions{grid-column:2;justify-content:flex-end}.booklist-create-link{width:100%}}

[data-theme="dark"] {
  --color-bg: #050816;
  --color-bg-elevated: #0b1020;
  --color-text: #f9fafb;
  --color-text-soft: #9ca3af;
  --color-accent: #38bdf8;
  --color-accent-soft: rgba(56, 189, 248, 0.18);
  --color-border-subtle: #1f2933;
}

/* 章節頁配色見 global.css 末尾「reader-page-overrides」區塊 */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body.layout-root {
  font-family: var(--font-sans);
  background-color: var(--color-bg);
  color: var(--color-text);
  -webkit-font-smoothing: antialiased;
  font-size: 17px;
}

a {
  color: var(--color-text);
  text-decoration: none;
}

a:hover {
  color: var(--color-accent);
  text-decoration: none;
}

.container {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 16px;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* 頂部區域 */
.site-header {
  position: relative;
  z-index: 20;
  backdrop-filter: blur(18px);
  background: color-mix(in srgb, var(--color-bg) 85%, transparent);
  border-bottom: 1px solid rgba(148, 163, 184, 0.35);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  gap: 12px;
}

.site-brand {
  display: flex;
  align-items: center;
}

.site-brand__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--color-text);
  text-decoration: none;
}

.site-brand__logo {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: linear-gradient(135deg, #4f46e5, #22d3ee);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 18px;
  box-shadow: 0 10px 25px rgba(56, 189, 248, 0.4);
}

.site-brand__text {
  display: flex;
  flex-direction: column;
}

.site-brand__title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
}

.site-brand__subtitle {
  font-size: 11px;
  color: var(--color-text-soft);
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 14px;
}

.site-nav__item {
  color: var(--color-text-soft);
  position: relative;
  padding-bottom: 2px;
}

.site-nav__item::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  border-radius: 999px;
  background: #3f6682;
  transition: width 0.18s ease-out;
}

.site-nav__item:hover {
  color: var(--color-text);
}

.site-nav__item:hover::after {
  width: 100%;
}

.site-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.header-search-form {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-right: 8px;
}

.header-search-form__field {
  flex: 1;
}

.header-search-form__input {
  width: 180px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--color-border-subtle);
  font-size: 13px;
  background-color: var(--color-bg-elevated);
  color: var(--color-text);
}

.header-search-form__input::placeholder {
  color: #a1a1aa;
}

.header-search-form__button {
  padding: 4px 10px;
  border-radius: 999px;
  border: none;
  background: #3f6682;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.18s ease-out;
}

.header-search-form__button:hover {
  background: #2e536d;
}

.btn-theme {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--color-border-subtle);
  background: color-mix(in srgb, var(--color-bg-elevated) 80%, transparent);
  cursor: pointer;
  color: var(--color-text-soft);
  font-size: 12px;
}

.btn-theme__icon {
  font-size: 14px;
}

[data-theme="light"] .btn-theme__icon--dark {
  display: none;
}

[data-theme="light"] .btn-theme__icon--light {
  display: inline-block;
}

[data-theme="dark"] .btn-theme__icon--dark {
  display: inline-block;
}

[data-theme="dark"] .btn-theme__icon--light {
  display: none;
}

.btn-theme__text {
  display: inline-block;
  font-weight: 600;
}

/* 首屏與搜尋 */
.section--hero {
  padding: 32px 0 16px;
}

.hero {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.hero__search {
  max-width: 720px;
}

.hero__title {
  font-size: 26px;
  font-weight: 800;
  letter-spacing: 0.02em;
  margin: 0 0 8px;
}

.hero__subtitle {
  margin: 0 0 16px;
  font-size: 15px;
  color: var(--color-text-soft);
}

.hero-search-form {
  display: flex;
  gap: 8px;
  align-items: stretch;
  max-width: 520px;
}

.hero-search-form__field {
  flex: 1;
}

.hero-search-form__input {
  width: 100%;
  padding: 11px 14px;
  border-radius: 999px;
  border: 1px solid var(--color-border-subtle);
  font-size: 15px;
  background-color: var(--color-bg-elevated);
  color: var(--color-text);
}

.hero-search-form__input::placeholder {
  color: #a1a1aa;
}

.hero-search-form__button {
  padding: 0 18px;
  border-radius: 999px;
  border: none;
  background: linear-gradient(135deg, #4f46e5, #06b6d4);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.hero__meta {
  margin-top: 10px;
  font-size: 12px;
  color: var(--color-text-soft);
}

/* 主體佈局 */
.main {
  padding: 8px 0 20px;
}

.main__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 1.4fr);
  gap: 24px;
}

.main__primary {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.main__aside {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* 卡片區域共用樣式 */
.card-block {
  background-color: var(--color-bg-elevated);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  padding: 18px 20px 16px;
}

.card-block--links {
  margin-top: 22px;
}

.card-block__header {
  margin-bottom: 14px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

.card-block__title {
  margin: 0;
  font-size: 18px;
  font-weight: 750;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.card-block__title::before {
  content: "";
  width: 4px;
  height: 1.1em;
  border-radius: 999px;
  background: linear-gradient(180deg, #4f46e5, #06b6d4);
}

.card-block__subtitle {
  margin: 0;
  font-size: 13px;
  color: var(--color-text-soft);
}

.search-result-summary {
  margin: 14px 0 14px;
  font-size: 18px;
  color: var(--color-text-soft);
}

.search-result-summary__keyword {
  font-weight: 700;
  color: var(--color-accent);
}

.search-result-summary__count {
  font-weight: 700;
}

.search-result-empty {
  margin: 18px 0 20px;
}

.search-result-empty__title {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 700;
  color: var(--color-text);
}

.search-result-empty__tip {
  margin: 0 0 6px;
  font-size: 15px;
  color: var(--color-text-soft);
}

.search-result-empty__link {
  margin: 0;
  font-size: 20px;
}

.search-result-empty__link a {
  color: #2563eb;
  text-decoration: underline;
  font-weight: 700;
}

/* 精選書卡 */
.card-grid--featured {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
}

.card-grid--category {
  grid-template-columns: minmax(0, 1fr);
}

.card-grid--author {
  grid-template-columns: minmax(0, 1fr);
}

/* 作者頁：一行一本列表樣式 */
.author-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.author-list__item {
  display: flex;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px dashed rgba(148, 163, 184, 0.45);
}

.author-list__item:last-child {
  border-bottom: none;
}

.author-list__cover-link {
  flex-shrink: 0;
}

.author-list__cover {
  width: 80px;
  height: 110px;
  border-radius: var(--radius-md);
  object-fit: cover;
  box-shadow: 0 10px 18px rgba(15, 23, 42, 0.3);
}

.author-list__info {
  flex: 1;
  min-width: 0;
}

.author-list__title {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
}

.author-list__meta {
  margin: 4px 0;
  font-size: 13px;
  color: var(--color-text-soft);
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}

.author-list__dot {
  opacity: 0.4;
}

.author-list__desc {
  margin: 4px 0 6px;
  font-size: 13px;
  color: var(--color-text-soft);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.author-list__last {
  margin: 0;
  font-size: 13px;
}

@media (max-width: 768px) {
  .author-list__item {
    align-items: flex-start;
  }

  .author-list__cover {
    width: 70px;
    height: 96px;
  }
}

.card-grid--search {
  grid-template-columns: minmax(0, 1fr);
}

.book-card {
  display: flex;
  gap: 10px;
  align-items: stretch;
}

.book-card__cover-link {
  flex-shrink: 0;
}

.book-card__cover {
  width: 80px;
  height: 110px;
  border-radius: var(--radius-md);
  object-fit: cover;
  box-shadow: 0 10px 18px rgba(15, 23, 42, 0.3);
}

.book-card__info {
  flex: 1;
  min-width: 0;
}

.book-card__title {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
}

.book-card__title a {
  color: var(--color-text);
}

.book-card__meta {
  margin-top: 3px;
  font-size: 13px;
  color: var(--color-text-soft);
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}

.book-card__author {
  color: var(--color-text-soft);
}

.book-card__dot {
  opacity: 0.4;
}

.book-card__tag {
  padding: 1px 6px;
  border-radius: 999px;
  background: var(--color-accent-soft);
  font-size: 11px;
}

.book-card__status {
  font-size: 11px;
}

.book-card__desc {
  margin: 6px 0 8px;
  font-size: 13px;
  color: var(--color-text-soft);
  line-height: 1.5;
  max-height: 3em;
  overflow: hidden;
}

.search-hot {
  color: #dc2626;
  font-weight: 700;
}

.book-card__footer {
  display: flex;
  gap: 10px;
  font-size: 12px;
  color: var(--color-text-soft);
}

.book-card__stat {
  white-space: nowrap;
}

/* 排行榜 */
.rank-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rank-list__item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px dashed rgba(148, 163, 184, 0.45);
}

.rank-list__item--top .rank-list__content {
  width: 100%;
}

.rank-list__topwrap {
  display: flex;
  gap: 8px;
}

.rank-list__cover-link {
  flex-shrink: 0;
}

.rank-list__cover {
  width: 56px;
  height: 74px;
  border-radius: 6px;
  object-fit: cover;
}

.rank-list__body {
  flex: 1;
  min-width: 0;
}

.rank-list__item:last-child {
  border-bottom: none;
}

.rank-list__index {
  width: 22px;
  text-align: center;
  font-size: 13px;
  color: var(--color-text-soft);
  margin-top: 2px;
}

.rank-list__index--hot {
  font-weight: 700;
  color: #f97316;
}

.rank-list__content {
  flex: 1;
  min-width: 0;
}

.rank-list__title {
  margin: 0 0 2px;
  font-size: 15px;
  font-weight: 600;
}

.rank-list__title a {
  color: var(--color-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

.rank-list__meta {
  font-size: 12px;
  color: var(--color-text-soft);
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.rank-list__author {
  color: var(--color-text-soft);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rank-list__dot {
  opacity: 0.4;
}

.rank-list__tag {
  padding: 1px 6px;
  border-radius: 999px;
  background: rgba(59, 130, 246, 0.12);
}

.rank-list__status {
  white-space: nowrap;
}

/* 最新更新清單 */
.update-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.update-list__item {
  display: grid;
  grid-template-columns: 70px minmax(0, 210px) minmax(0, 240px) 110px;
  column-gap: 4px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px dashed rgba(148, 163, 184, 0.45);
  font-size: 13px;
}

.update-list__item:last-child {
  border-bottom: none;
}

.update-list__category {
  color: var(--color-text-soft);
}

.update-list__book {
  color: var(--color-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.update-list__chapter {
  color: var(--color-text-soft);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.update-list__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-width: 0;
  color: var(--color-text-soft);
}

.update-list__author {
  color: var(--color-text-soft);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

.update-list__date {
  flex-shrink: 0;
  width: 38px;
  text-align: right;
}

/* 首頁論壇新帖 */
.forum-block__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
}

.forum-block__more {
  flex-shrink: 0;
  color: var(--color-primary);
  font-size: 13px;
  font-weight: 700;
}

.forum-feed {
  list-style: none;
  margin: 0;
  padding: 0;
}

.forum-feed__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  padding: 13px 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.24);
}

.forum-feed__item:last-child {
  border-bottom: 0;
}

.forum-feed__content {
  display: block;
  min-width: 0;
}

.forum-feed__title,
.forum-feed__excerpt {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.forum-feed__title {
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.55;
}

.forum-feed__excerpt {
  margin-top: 3px;
  color: var(--color-text-soft);
  font-size: 13px;
  line-height: 1.5;
}

.forum-feed__meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  color: var(--color-text-soft);
  font-size: 12px;
  white-space: nowrap;
}

.forum-feed__empty {
  margin: 0;
  padding: 28px 0;
  color: var(--color-text-soft);
  text-align: center;
}

@media (max-width: 700px) {
  .forum-block__header {
    align-items: flex-start;
  }

  .forum-feed__item {
    display: block;
    padding: 14px 0;
  }

  .forum-feed__title {
    white-space: normal;
    display: -webkit-box;
    font-size: 14px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .forum-feed__excerpt {
    display: -webkit-box;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .forum-feed__meta {
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-top: 8px;
    gap: 5px 12px;
  }
}

/* 最新上架簡版清單 */
.simple-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.simple-list__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  border-bottom: 1px dashed rgba(148, 163, 184, 0.45);
  font-size: 14px;
}

.simple-list__item:last-child {
  border-bottom: none;
}

.simple-list__book {
  flex: 1;
  margin-right: 8px;
  color: var(--color-text);
}

.simple-list__meta {
  white-space: nowrap;
  color: var(--color-text-soft);
}

.simple-list__author {
  color: var(--color-text-soft);
}

.simple-list__date {
  margin-left: 4px;
}

/* 側欄卡片 */
.side-card {
  background-color: var(--color-bg-elevated);
  border-radius: var(--radius-lg);
  padding: 14px 14px 12px;
  box-shadow: var(--shadow-soft);
}

.side-card__title {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 700;
}

.side-card__text {
  margin: 4px 0 0;
  font-size: 14px;
  color: var(--color-text-soft);
  line-height: 1.6;
}

.tag-cloud {
  list-style: none;
  padding: 0;
  margin: 2px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.tag-cloud__link {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--color-accent-soft);
  color: var(--color-accent);
  font-size: 11px;
}

/* 分類頁右側：只看全本（置前）、分類列表 */
.category-aside__filter {
  margin-bottom: 4px;
}

.category-aside__filter .side-card__title,
.category-aside__filter .side-card__text {
  display: none;
}

.category-filter {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 10px 14px;
  border: 1px solid rgba(148, 163, 184, 0.4);
  border-radius: var(--radius-md);
  background: var(--color-bg-elevated);
  color: var(--color-text);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
}

.category-filter:hover {
  border-color: var(--color-accent);
  background: var(--color-accent-soft);
  color: var(--color-accent);
}

.category-filter__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.category-filter__checkbox {
  width: 18px;
  height: 18px;
  accent-color: var(--color-accent);
}

/* 分類列表：簡潔列表樣式 */
.category-side-nav {
  list-style: none;
  margin: 0;
  padding: 0;
}

.category-side-nav__item {
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.category-side-nav__item:last-child {
  border-bottom: none;
}

.category-side-nav__link {
  display: block;
  padding: 10px 12px 10px 14px;
  color: var(--color-text-soft);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  border-left: 3px solid transparent;
  margin-left: 0;
  transition: color 0.2s, background 0.2s, border-color 0.2s;
}

.category-side-nav__link:hover {
  color: var(--color-accent);
  background: rgba(148, 163, 184, 0.08);
}

.category-side-nav__link--active {
  color: var(--color-accent);
  font-weight: 600;
  border-left-color: var(--color-accent);
  background: var(--color-accent-soft);
}

/* 分類頁分頁 */
.category-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin: 0 0 14px;
  color: var(--color-text-soft);
  font-size: 14px;
}

.category-breadcrumb a {
  color: var(--color-accent);
  text-decoration: none;
}

.category-breadcrumb a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.category-pagination {
  margin-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: center;
}

.category-pagination a,
.category-pagination strong,
.category-pagination > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 650;
  line-height: 1;
  text-decoration: none;
  border: 1px solid rgba(148, 163, 184, 0.35);
}

.category-pagination a {
  background: transparent;
  color: var(--color-text);
}

.category-pagination a:hover {
  border-color: rgba(148, 163, 184, 0.55);
  color: var(--color-accent);
}

.category-pagination strong {
  background: var(--color-accent-soft);
  color: var(--color-accent);
  border-color: transparent;
}

.category-pagination > span {
  color: var(--color-text-soft);
  background: transparent;
}

.category-pagination > span[aria-disabled="true"] {
  opacity: 0.52;
}

.category-pagination > span[aria-hidden="true"] {
  min-width: auto;
  padding: 0 2px;
  border-color: transparent;
}

@media (max-width: 768px) {
  .category-pagination {
    margin-top: 14px;
    gap: 6px;
  }

  .category-pagination a,
  .category-pagination strong,
  .category-pagination > span {
    height: 32px;
    min-width: 34px;
    padding: 0 10px;
    font-size: 13px;
  }


  .category-breadcrumb {
    margin-bottom: 10px;
    padding: 0 2px;
    font-size: 13px;
  }
}

/* 關於/隱私/使用提示頁 */
.legal-page .card-block__subtitle {
  max-width: 56ch;
}

.legal-content h2 {
  margin: 16px 0 8px;
  font-size: 16px;
  font-weight: 800;
}

.legal-content p {
  margin: 8px 0;
  color: var(--color-text);
  line-height: 1.75;
}

.legal-content ul {
  margin: 8px 0 0;
  padding-left: 18px;
  line-height: 1.8;
  color: var(--color-text);
}

.legal-content li + li {
  margin-top: 6px;
}

.legal-note {
  margin-top: 12px;
  color: var(--color-text-soft);
  font-size: 14px;
}

.bullet-list {
  list-style: disc;
  padding-left: 18px;
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--color-text-soft);
}

.bullet-list li + li {
  margin-top: 3px;
}

.friend-links {
  margin-top: 4px;
  font-size: 13px;
}

.friend-links a {
  margin-right: 6px;
  display: inline-block;
  margin-bottom: 4px;
}

/* 排行榜 Tab */
.rank-tabs {
  display: inline-flex;
  padding: 2px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.18);
  margin-bottom: 8px;
}

.rank-tabs__btn {
  border: none;
  background: transparent;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 13px;
  color: var(--color-text-soft);
  cursor: pointer;
}

.rank-tabs__btn--active {
  background: #fff;
  color: var(--color-accent);
}

/* =========
   信息頁佈局
   ========= */
.info-layout {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 1.4fr);
  gap: 24px;
}

.info-main {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.info-aside {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.info-header {
  display: flex;
  gap: 20px;
  padding: 4px 0 16px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.25);
}

.info-cover__img {
  width: 160px;
  height: 220px;
  min-width: 160px;
  min-height: 220px;
  max-width: 160px;
  max-height: 220px;
  border-radius: 10px;
  object-fit: cover;
  box-shadow: 0 16px 35px rgba(15, 23, 42, 0.22);
}

.info-meta {
  flex: 1;
  min-width: 0;
  min-height: 220px;
  display: block;
}

.info-title {
  margin: 0 0 clamp(8px, 0.9vw, 14px);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.35;
  padding-bottom: 0;
}

.info-meta__row {
  font-size: 14px;
  color: var(--color-text-soft);
  margin-bottom: clamp(6px, 0.7vw, 12px);
  line-height: 1.65;
}

.info-meta__row a {
  color: inherit;
  font-weight: 600;
}

.info-meta__stats span + span::before {
  content: "·";
  margin: 0 4px;
  color: var(--color-text-soft);
}

.info-meta__last {
  margin-top: clamp(2px, 0.3vw, 6px);
}

@media (min-width: 769px) {
  .info-header {
    align-items: flex-start;
  }

  .info-cover {
    flex: 0 0 160px;
    width: 160px;
  }
}

.info-meta__time {
  margin-left: 6px;
  font-size: 12px;
  color: var(--color-text-soft);
}

/* =========
   章節閱讀頁
   ========= */
.reader-layout {
  max-width: 840px;
  margin: 0 auto;
}

.reader-breadcrumb {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  padding: 14px 0 4px;
  color: var(--color-text-soft);
  font-size: 12px;
  line-height: 1.5;
}

.reader-breadcrumb a {
  flex: 0 0 auto;
  color: var(--color-accent);
}

.reader-breadcrumb > span[aria-hidden="true"] {
  flex: 0 0 auto;
  color: var(--color-border-subtle);
}

.reader-breadcrumb__book,
.reader-breadcrumb__current {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.reader-breadcrumb__book {
  flex: 0 1 auto !important;
  max-width: 42%;
}

.reader-breadcrumb__current {
  flex: 1 1 auto;
}

.reader-header {
  padding: 18px 0 12px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.35);
}

.reader-header__title {
  margin: 0;
  font-size: 18px;
  font-weight: 750;
  color: var(--color-text);
  line-height: 1.35;
  word-break: break-word;
}

.reader-header__sub {
  margin-top: 4px;
  font-size: 13px;
  color: var(--color-text-soft);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.reader-header__author a {
  font-weight: 600;
}

.reader-header__controls {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.reader-header__font {
  display: inline-flex;
  gap: 6px;
}

.reader-font-btn {
  min-width: 32px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--color-border-subtle);
  background: var(--color-bg-elevated);
  font-size: 12px;
  cursor: pointer;
}

.reader-header__bg {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.reader-bg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-width: 48px;
  height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(100, 116, 139, 0.38);
  background: #ffffff;
  cursor: pointer;
  flex-shrink: 0;
  transition: border-color 0.15s ease;
}

.reader-bg-btn__label {
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  color: #374151;
  pointer-events: none;
}

.reader-bg-btn.is-active {
  border-color: rgba(100, 116, 139, 0.55);
}

.reader-bg-btn.is-active::after {
  content: "✓";
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  color: #059669;
}

[data-theme="dark"] .reader-bg-btn {
  border-color: rgba(148, 163, 184, 0.42);
}

[data-theme="dark"] .reader-bg-btn__label {
  color: #e2e8f0;
}

[data-theme="dark"] .reader-bg-btn.is-active {
  border-color: rgba(148, 163, 184, 0.58);
}

[data-theme="dark"] .reader-bg-btn.is-active::after {
  color: #6ee7b7;
}

.reader-bg-btn[data-bg="default"] {
  background: #ffffff;
}

.reader-bg-btn[data-bg="warm"] {
  background: #fdf8ef;
}

.reader-bg-btn[data-bg="green"] {
  background: #f2faf4;
}

[data-theme="dark"] .reader-bg-btn[data-bg="default"] {
  background: #0b1020;
}

[data-theme="dark"] .reader-bg-btn[data-bg="warm"] {
  background: #2a2620;
}

[data-theme="dark"] .reader-bg-btn[data-bg="green"] {
  background: #1a221c;
}

.reader-header__nav {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  width: 100%;
}

.reader-nav-link {
  flex: 1 1 0;
  padding: 10px 0;
  border-radius: 999px;
  border: 1px solid var(--color-border-subtle);
  font-size: 15px;
  text-align: center;
}

.reader-nav-link--disabled {
  opacity: 0.55;
  cursor: default;
}

.reader-content {
  margin-top: 18px;
  padding: 14px 0 10px;
  font-size: var(--reader-font-size, 18px);
  line-height: 1.8;
  min-width: 0;
  max-width: 100%;
}

.reader-content p {
  margin: 0 0 10px;
  text-indent: 2em;
}

.reader-content > p:not(.reader-content__ad-tip) {
  display: block;
  width: auto;
  max-width: 100%;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-all;
}

.reader-content > p.js-reversed-text {
  visibility: hidden;
}

.reader-content > p.js-reversed-text.is-text-ready {
  visibility: visible;
}

/* 章節頁廣告溫馨提示（檢舉下方、正文前） */
.reader-content__ad-tip {
  margin: 0 0 14px;
  padding: 0 8px 6px;
  font-size: 13px;
  line-height: 1.55;
  text-align: center;
  text-indent: 0;
  color: var(--color-text-soft, #5c5c66);
}

.reader-footer-nav {
  margin: 4px 0 12px;
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
}

.reader-recommend {
  margin-top: 10px;
}

/* 讓章節頁「猜你喜歡」更貼合正文風格：去掉卡片底色與陰影 */
.reader-layout .reader-recommend.card-block {
  background-color: transparent;
  box-shadow: none;
  border-radius: 0;
  padding: 14px 0 0;
  border-top: 1px solid rgba(148, 163, 184, 0.3);
}

/* PC 章節頁結構（配色變量見文件末尾 reader-page-overrides） */
@media (min-width: 769px) {
  body.page-reader {
    --reader-pc-column-width: 960px;
    --reader-pc-radius: 10px;
  }

  body.page-reader .container.reader-layout {
    max-width: var(--reader-pc-column-width);
    margin: 12px auto 16px;
    padding-left: 16px;
    padding-right: 16px;
    border-radius: var(--reader-pc-radius);
    overflow: hidden;
  }
}

/* 章節檢舉彈窗（適配日/夜模式） */
.report-modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 2147483647 !important;
}

.report-modal__panel {
  max-width: 480px;
  margin: 10% auto;
  background: var(--color-bg-elevated);
  color: var(--color-text);
  border-radius: 10px;
  padding: 16px;
  box-shadow: var(--shadow-soft);
  border: 1px solid var(--color-border-subtle);
}

.report-modal__title {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 8px;
  color: var(--color-text);
}

.report-modal__hint {
  font-size: 14px;
  color: var(--color-text-soft);
  margin-bottom: 10px;
}

.report-modal__label {
  display: block;
  margin: 6px 0;
  color: var(--color-text);
  cursor: pointer;
}

.report-modal__textarea {
  width: 100%;
  height: 84px;
  margin-top: 8px;
  resize: vertical;
  border: 1px solid var(--color-border-subtle);
  border-radius: 6px;
  padding: 8px;
  font-size: 14px;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: inherit;
  box-sizing: border-box;
}

.report-modal__textarea::placeholder {
  color: var(--color-text-soft);
}

.report-modal__actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 12px;
}

.report-modal__btn-cancel {
  padding: 8px 12px;
  border: 1px solid var(--color-border-subtle);
  border-radius: 6px;
  background: var(--color-bg-elevated);
  color: var(--color-text);
  cursor: pointer;
}

.report-modal__btn-confirm {
  padding: 8px 12px;
  border: 0;
  border-radius: 6px;
  background: #e60000;
  color: #fff;
  cursor: pointer;
  opacity: 0.9;
}

.report-modal__btn-confirm:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* =========
   歷史閱讀頁
   ========= */
.recent-layout {
  max-width: 980px;
  margin: 0 auto;
}

.recent-toolbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 8px;
}

.recent-clear-btn {
  padding: 4px 12px;
  border-radius: 999px;
  border: 1px solid rgba(220, 38, 38, 0.7);
  background: rgba(248, 113, 113, 0.1);
  color: #b91c1c;
  font-family: inherit;
  font-size: 13px;
  cursor: pointer;
}

.recent-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
}

.recent-item {
  display: flex;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px dashed rgba(148, 163, 184, 0.4);
}

.recent-item__cover-link {
  flex-shrink: 0;
}

.recent-item__cover {
  width: 72px;
  height: 100px;
  border-radius: var(--radius-md);
  object-fit: cover;
  box-shadow: 0 8px 16px rgba(15, 23, 42, 0.25);
}

.recent-item__body {
  flex: 1;
  min-width: 0;
}

.recent-item__title {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 700;
}

.recent-item__title a {
  color: var(--color-text);
}

.recent-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  font-size: 12px;
  color: var(--color-text-soft);
}

.recent-item__author {
  font-weight: 600;
}

.recent-item__dot {
  opacity: 0.5;
}

.recent-item__chapter {
  margin-top: 4px;
  font-size: 13px;
}

.recent-item__chapter a {
  color: var(--color-accent);
}

.recent-item__actions {
  margin-top: 6px;
  display: flex;
  gap: 14px;
  font-size: 12px;
}

.recent-item__link {
  color: var(--color-accent);
}

.recent-item__remove {
  padding: 2px 10px;
  border-radius: 999px;
  border: 1px solid rgba(220, 38, 38, 0.7);
  background: rgba(248, 113, 113, 0.1);
  color: #b91c1c;
  cursor: pointer;
}

.recent-empty {
  padding: 32px 0;
  text-align: center;
  font-size: 14px;
  color: var(--color-text-soft);
}

@media (max-width: 768px) {
  .recent-layout {
    max-width: 100%;
  }

  .recent-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .recent-layout > .card-block {
    background-color: transparent;
    box-shadow: none;
    border-radius: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .recent-item {
    padding: 6px 0;
  }

  .recent-item__cover {
    width: 56px;
    height: 80px;
  }
}
@media (max-width: 768px) {
  .reader-layout {
    max-width: 100%;
  }

  .reader-breadcrumb {
    gap: 5px;
    padding: 10px 0 2px;
    font-size: 11px;
  }

  .reader-breadcrumb__book {
    max-width: 36%;
  }

  .reader-breadcrumb__current {
    max-width: 42%;
  }

  .reader-header__title {
    font-size: 16px;
  }

  .reader-content {
    font-size: var(--reader-font-size, 18px);
  }
}

.info-actions {
  margin-top: 10px;
  padding-top: 0;
  display: flex;
  gap: 10px;
}

.info-actions__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 18px;
  border-radius: 999px;
  font-size: 14px;
  border: 1px solid var(--color-border-subtle);
  background-color: var(--color-bg-elevated);
  color: var(--color-text);
}

.info-actions__btn--primary {
  border-color: transparent;
  background: linear-gradient(135deg, #4f46e5, #06b6d4);
  color: #fff;
}

.info-actions__btn--primary:hover {
  color: #fff;
  filter: brightness(1.08);
}

.info-tabs {
  list-style: none;
  padding: 0;
  margin: 18px 0 10px;
  display: flex;
  gap: 24px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.35);
}

.info-tabs li {
  padding: 0 0 10px;
  font-size: 17px;
}

.info-tabs li a {
  color: var(--color-text-soft);
  font-weight: 600;
}

.info-tabs li a:hover {
  color: var(--color-text);
}

.info-tabs li.act a {
  color: var(--color-text);
  font-weight: 700;
}

.info-tabs li.act {
  padding-left: 8px;
  padding-right: 8px;
  margin-left: -8px;
  margin-right: -8px;
  border-bottom: 3px solid var(--color-accent);
}

/* 評論區 */
.pt-comment-section {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--color-border-subtle);
}

.pt-comment-header,
.pt-comment-list-header,
.pt-comment-item__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.pt-comment-header {
  margin-bottom: 16px;
}

.pt-comment-title {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 18px;
  font-weight: 750;
  color: var(--color-text);
}

.pt-comment-title::before {
  content: "";
  width: 4px;
  height: 1.15em;
  border-radius: 999px;
  background: linear-gradient(180deg, #4f46e5, #06b6d4);
}

.pt-comment-link,
.pt-comment-total {
  flex-shrink: 0;
  font-size: 13px;
}

.pt-comment-link {
  padding: 7px 12px;
  border: 1px solid var(--color-border-subtle);
  border-radius: 999px;
  color: var(--color-accent);
  background: var(--color-bg-elevated);
}

.pt-comment-link:hover {
  border-color: var(--color-accent);
}

.pt-comment-total {
  color: var(--color-text-soft);
}

.pt-comment-form {
  padding: 18px;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, rgba(79, 70, 229, 0.055), rgba(6, 182, 212, 0.035));
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.055);
}

.pt-comment-identity {
  margin-bottom: 14px;
}

.pt-comment-label {
  display: block;
  margin-bottom: 7px;
  font-size: 13px;
  font-weight: 650;
  color: var(--color-text);
}

.pt-comment-label[hidden] {
  display: none;
}

.pt-comment-identity__saved,
.pt-comment-identity__editor {
  display: flex;
  align-items: center;
  gap: 9px;
}

.pt-comment-identity__saved[hidden],
.pt-comment-identity__editor[hidden] {
  display: none;
}

.pt-comment-avatar,
.pt-comment-item__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #4f46e5, #06b6d4);
  font-weight: 750;
}

.pt-comment-avatar {
  width: 32px;
  height: 32px;
  font-size: 14px;
}

.pt-comment-input,
.pt-comment-textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--color-border-subtle);
  border-radius: 10px;
  background: var(--color-bg-elevated);
  color: var(--color-text);
  font: inherit;
  font-size: 14px;
  outline: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.pt-comment-input {
  max-width: 280px;
  padding: 9px 11px;
}

.pt-comment-textarea {
  min-height: 112px;
  padding: 11px 12px;
  line-height: 1.65;
  resize: vertical;
}

.pt-comment-input:focus,
.pt-comment-textarea:focus {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12);
}

.pt-comment-field {
  margin-bottom: 12px;
}

.pt-comment-count {
  margin-top: 6px;
  font-size: 12px;
  color: var(--color-text-soft);
  text-align: right;
}

.pt-comment-count--invalid {
  color: #dc2626;
}

.pt-comment-text-button,
.pt-comment-secondary-button {
  border: 0;
  background: transparent;
  color: var(--color-accent);
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
}

.pt-comment-text-button:hover {
  text-decoration: underline;
}

.pt-comment-secondary-button {
  flex-shrink: 0;
  padding: 8px 11px;
  border: 1px solid var(--color-border-subtle);
  border-radius: 9px;
  background: var(--color-bg-elevated);
}

.pt-comment-actions {
  display: flex;
  justify-content: flex-end;
}

.pt-comment-submit {
  min-width: 112px;
  padding: 9px 18px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #4f46e5, #06b6d4);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 7px 18px rgba(79, 70, 229, 0.22);
}

.pt-comment-submit:hover {
  transform: translateY(-1px);
}

.pt-comment-submit:disabled {
  cursor: wait;
  opacity: 0.65;
  transform: none;
}

.pt-comment-status {
  margin: 10px 0;
  padding: 10px 12px;
  border-radius: 9px;
  font-size: 13px;
  line-height: 1.5;
}

.pt-comment-status--success {
  color: #047857;
  background: rgba(16, 185, 129, 0.12);
}

.pt-comment-status--error {
  color: #b91c1c;
  background: rgba(239, 68, 68, 0.11);
}

.pt-comment-list-header {
  margin-top: 22px;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--color-border-subtle);
  color: var(--color-text-soft);
  font-size: 13px;
}

.pt-comment-list-header span:first-child {
  color: var(--color-text);
  font-size: 15px;
  font-weight: 700;
}
.pt-comment-sort { display:flex; gap:4px; padding:3px; border:1px solid var(--color-border-subtle); border-radius:999px; background:var(--color-bg); }
.pt-comment-sort a { min-width:54px; padding:5px 12px; border-radius:999px; color:var(--color-text-soft); font-size:12px; text-align:center; }
.pt-comment-sort a.is-active { background:var(--color-bg-elevated); color:#315e8c; font-weight:700; box-shadow:0 1px 5px rgba(49,94,140,.12); }
[data-theme="dark"] .pt-comment-sort a.is-active { color:#a9c7e1; }

.pt-comment-item {
  display: flex;
  gap: 12px;
  padding: 17px 2px;
  border-bottom: 1px solid var(--color-border-subtle);
}

.pt-comment-item--pinned {
  position: relative;
  margin: 8px 0;
  padding: 15px 16px;
  border: 1px solid #ead9b8;
  border-radius: 10px;
  background: #fffaf0;
}

.pt-comment-item--pinned::before {
  position: absolute;
  top: 14px;
  bottom: 14px;
  left: 0;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: #b7791f;
  content: "";
}

.pt-comment-item--featured:not(.pt-comment-item--pinned) {
  position: relative;
  margin: 6px 0;
  padding: 15px 16px;
  border: 1px solid #eadfca;
  border-radius: 10px;
  background: #fffcf6;
}

.pt-comment-item__badges {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 6px;
}

.pt-comment-item--pinned .pt-comment-item__meta,
.pt-comment-item--featured .pt-comment-item__meta {
  padding-right: 128px;
}

.pt-comment-item__featured {
  flex-shrink: 0;
  padding: 2px 8px;
  border: 1px solid #e4cda6;
  border-radius: 999px;
  background: #fbf0dd;
  color: #8b5d20;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
}

.pt-comment-item__avatar {
  width: 36px;
  height: 36px;
  font-size: 14px;
  background: linear-gradient(135deg, #64748b, #334155);
}

.pt-comment-item__body {
  flex: 1;
  min-width: 0;
}

.pt-comment-item__meta {
  margin-bottom: 6px;
  font-size: 12px;
  color: var(--color-text-soft);
}

.pt-comment-item__user {
  overflow: hidden;
  color: var(--color-text);
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pt-comment-item__time {
  flex-shrink: 0;
}

.pt-comment-item__pinned {
  padding: 3px 9px;
  border: 1px solid #dfc28e;
  border-radius: 999px;
  background: #f7ead1;
  color: #8a5815;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

[data-theme="dark"] .pt-comment-item--pinned {
  border-color: #5d4a2d;
  background: #242017;
}

[data-theme="dark"] .pt-comment-item--pinned::before {
  background: #c99545;
}

[data-theme="dark"] .pt-comment-item__pinned {
  border-color: #725936;
  background: #392d1d;
  color: #e7c17e;
}

[data-theme="dark"] .pt-comment-item--featured:not(.pt-comment-item--pinned) {
  border-color: #554832;
  background: #211e18;
}

[data-theme="dark"] .pt-comment-item__featured {
  border-color: #695536;
  background: #342a1c;
  color: #e0ba78;
}

.pt-comment-item__content {
  overflow-wrap: anywhere;
  color: var(--color-text);
  font-size: 14px;
  line-height: 1.75;
}

.pt-comment-replies { margin-top: 12px; padding-left: 12px; border-left: 2px solid #d8e1e8; }
.pt-comment-reply { padding: 9px 0; border-bottom: 1px solid var(--color-border-subtle); }
.pt-comment-reply:last-child { border-bottom: 0; }
.pt-comment-reply__meta { display:flex; gap:10px; margin-bottom:4px; color:var(--color-text-soft); font-size:12px; }
.pt-comment-reply__meta strong { color:#496b8b; }
.pt-comment-reply__content { font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.pt-comment-reply--admin { padding:9px 11px; border-radius:8px; background:#f3f6f8; }
.pt-comment-item__actions { display:flex; align-items:center; gap:16px; margin-top:9px; }
.pt-comment-reply-toggle,.pt-comment-report-toggle { padding:0; border:0; background:transparent; color:var(--color-text-soft); cursor:pointer; font:inherit; font-size:12px; }
.pt-comment-reply-toggle:hover,.pt-comment-report-toggle:hover { color:#315e8c; }
.pt-comment-helpful { display:inline-flex; align-items:center; gap:6px; min-height:28px; padding:4px 10px; border:1px solid var(--color-border-subtle); border-radius:999px; background:color-mix(in srgb,var(--color-bg-elevated) 80%,var(--color-bg)); color:var(--color-text-soft); cursor:pointer; font:inherit; font-size:12px; }
.pt-comment-helpful:hover,.pt-comment-helpful.is-active { border-color:#aebdca; background:#edf2f5; color:#315e8c; }
.pt-comment-helpful.is-active { font-weight:700; }
.pt-comment-helpful__count::before { margin-right:6px; color:var(--color-border-subtle); content:"·"; }
.pt-comment-helpful:disabled { cursor:wait; opacity:.65; }
.pt-comment-reply-form { margin-top:10px; padding:12px; border:1px solid var(--color-border-subtle); border-radius:9px; background:#fffefb; }
.pt-comment-reply-form .pt-comment-input { margin-bottom:8px; }
.pt-comment-reply-identity { margin-bottom:8px; }
.pt-comment-reply-form .pt-comment-textarea { min-height:76px; }
.pt-comment-reply-form__actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-top:8px; }
.pt-comment-reply-status { margin-right:auto; color:var(--color-text-soft); font-size:12px; }
[data-theme="dark"] .pt-comment-reply--admin,[data-theme="dark"] .pt-comment-reply-form { background:#1c2023; }
[data-theme="dark"] .pt-comment-reply__meta strong,[data-theme="dark"] .pt-comment-reply-toggle:hover,[data-theme="dark"] .pt-comment-report-toggle:hover { color:#8eb4d5; }
[data-theme="dark"] .pt-comment-helpful { background:#1c2023; }
[data-theme="dark"] .pt-comment-helpful:hover,[data-theme="dark"] .pt-comment-helpful.is-active { border-color:#49677f; background:#23313c; color:#a9c7e1; }
.pt-comment-report-form { margin-top:10px; padding:12px; border:1px solid var(--color-border-subtle); border-radius:9px; background:#fffefb; }
.pt-comment-report-form label { display:block; margin-bottom:9px; color:var(--color-text-soft); font-size:12px; }
.pt-comment-report-form select,.pt-comment-report-form textarea { display:block; width:100%; margin-top:5px; padding:9px 10px; border:1px solid var(--color-border-subtle); border-radius:7px; background:var(--color-bg-elevated); color:var(--color-text); font:inherit; }
[data-theme="dark"] .pt-comment-report-form { background:#1c2023; }

.pt-comment-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  padding: 34px 16px;
  color: var(--color-text-soft);
  font-size: 13px;
  text-align: center;
}

.pt-comment-more { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:14px; padding:14px 16px; border:1px solid var(--color-border-subtle); border-radius:10px; background:color-mix(in srgb,var(--color-bg-elevated) 72%,var(--color-bg)); color:var(--color-text-soft); font-size:13px; }
.pt-comment-more a { flex-shrink:0; color:#315e8c; font-weight:700; }
[data-theme="dark"] .pt-comment-more a { color:#8eb4d5; }

.pt-comment-empty strong {
  color: var(--color-text);
  font-size: 15px;
}

.pt-comment-empty__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-bottom: 3px;
  border-radius: 50%;
  background: rgba(79, 70, 229, 0.1);
  color: var(--color-accent);
  font-size: 17px;
}

/* 評論列表頁：書籍資訊區 */
.commentlist-book {
  display: flex;
  gap: 14px;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.35);
}

.commentlist-book__cover-link {
  flex-shrink: 0;
}

.commentlist-book__cover {
  width: 80px;
  height: 110px;
  border-radius: var(--radius-md);
  object-fit: cover;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.25);
}

.commentlist-book__info {
  flex: 1;
  min-width: 0;
}

.commentlist-book__title {
  margin: 0 0 6px;
  font-size: 17px;
  font-weight: 700;
}

.commentlist-book__title a {
  color: var(--color-text);
}

.commentlist-book__meta {
  margin: 0 0 10px;
  font-size: 13px;
  color: var(--color-text-soft);
}

.commentlist-book__dot {
  opacity: 0.5;
  margin: 0 4px;
}

.commentlist-book__btn {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid var(--color-border-subtle);
  background: var(--color-bg-elevated);
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text);
}

.commentlist-book__btn:hover {
  border-color: var(--color-accent);
  color: var(--color-accent);
}

.commentlist-pagination {
  margin-top: 16px;
}

@media (max-width: 768px) {
  .pt-comment-section {
    margin-top: 12px;
    padding-top: 14px;
  }

  .pt-comment-header {
    align-items: flex-start;
  }

  .pt-comment-title {
    font-size: 17px;
  }

  .pt-comment-link {
    padding: 6px 9px;
  }

  .pt-comment-form {
    padding: 4px 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .pt-comment-identity__editor {
    flex-wrap: wrap;
  }

  .pt-comment-input {
    max-width: none;
    flex: 1 0 100%;
    background: var(--color-bg-elevated);
  }

  .pt-comment-textarea {
    min-height: 128px;
    background: var(--color-bg-elevated);
  }

  .pt-comment-actions {
    margin-top: 12px;
  }

  .pt-comment-submit {
    width: 100%;
    min-height: 42px;
  }

  .pt-comment-list-header {
    margin-top: 28px;
  }

  .pt-comment-item {
    gap: 10px;
    padding: 15px 0;
  }

  .pt-comment-item--pinned {
    margin: 7px 0;
    padding: 14px;
  }

  .pt-comment-item--featured:not(.pt-comment-item--pinned) { padding:14px; }

  .pt-comment-item--pinned .pt-comment-item__meta,
  .pt-comment-item--featured .pt-comment-item__meta { padding-right:116px; }

  .pt-comment-more { padding:12px 13px; }

  .pt-comment-item__pinned {
    padding-right: 7px;
    padding-left: 7px;
  }

  .pt-comment-item__badges { top:11px; right:10px; gap:4px; }

  .commentlist-book {
    padding-bottom: 12px;
    margin-bottom: 12px;
  }

  .commentlist-book__cover {
    width: 70px;
    height: 96px;
  }
}

.info-intro {
  margin-top: 22px;
  border-top: 1px solid rgba(148, 163, 184, 0.3);
  padding-top: 16px;
}

.info-section-title {
  margin: 0 0 0;
  font-size: 16px;
  font-weight: 750;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.info-section-title::before {
  content: "";
  width: 4px;
  height: 1.1em;
  border-radius: 999px;
  background: linear-gradient(180deg, #4f46e5, #06b6d4);
}

.info-intro__content {
  font-size: 14px;
  color: var(--color-text-soft);
  line-height: 1.6;
}

.info-intro__content p {
  margin: 0 0 6px;
}

.info-intro__content p:last-child {
  margin-bottom: 0;
}

.info-intro__content--expanded {
  max-height: none !important;
}

.info-intro__toggle {
  margin-top: 6px;
  padding: 2px 10px;
  border-radius: 999px;
  border: 1px solid var(--color-border-subtle);
  background: var(--color-bg-elevated);
  color: var(--color-text-soft);
  font-size: 13px;
  cursor: pointer;
}

.info-chapter-list {
  font-size: 15px;
  border-top: 1px solid rgba(148, 163, 184, 0.3);
  padding-top: 16px;
}

.info-chapter-list--latest {
  margin-top: 18px;
}

.info-chapter-list__inner {
  margin-top: 4px;
}

.info-chapter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px dashed rgba(148, 163, 184, 0.45);
}

.info-chapter a {
  color: var(--color-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.info-chapter--volume {
  font-weight: 700;
  color: var(--color-text-soft);
  padding: 8px 0 4px;
}

.info-recommend {
  margin-top: 18px;
}

/* 目錄頁懸浮上下導航 */
.catalog-float-nav {
  position: fixed;
  right: 16px;
  bottom: 80px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  z-index: 40;
}

.catalog-float-nav__btn {
  min-width: 40px;
  height: 40px;
  padding: 0;
  border-radius: 999px;
  border: 1px solid var(--color-border-subtle);
  background-color: color-mix(in srgb, var(--color-bg-elevated) 92%, var(--color-accent-soft) 8%);
  color: var(--color-text);
  font-size: 16px;
  cursor: pointer;
  box-shadow: 0 10px 20px rgba(15, 23, 42, 0.22);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.catalog-float-nav__btn--top {
  order: 0;
}

.catalog-float-nav__btn--bottom {
  order: 1;
}

.catalog-float-nav__icon {
  display: block;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
}

.catalog-float-nav__icon--up {
  border-bottom: 9px solid var(--color-text);
}

.catalog-float-nav__icon--down {
  border-top: 9px solid var(--color-text);
}

@media (max-width: 768px) {
  .catalog-float-nav {
    right: 10px;
    bottom: 70px;
  }

  .catalog-float-nav__btn {
    min-width: 36px;
    height: 36px;
    font-size: 14px;
  }
}

.info-chapter__more {
  margin-top: 8px;
  font-size: 14px;
}

.info-chapter__more a {
  color: var(--color-accent);
}

@media (max-width: 960px) {
  .info-layout {
    grid-template-columns: minmax(0, 1.9fr) minmax(0, 1.1fr);
  }
}

@media (max-width: 768px) {
  .info-header {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .info-meta {
    width: 100%;
    text-align: left;
    min-height: auto;
    display: block;
  }
}

@media (max-width: 768px) {
  /* 手機端信息頁：弱化整體卡片框感，更貼背景 */
  .main {
    padding-top: 4px;
  }

  .card-block.info-page {
    background-color: transparent;
    box-shadow: none;
    border-radius: 0;
    padding-left: 0;
    padding-right: 0;
  }
}

/* 頁腳 */
.site-footer {
  border-top: 1px solid rgba(148, 163, 184, 0.4);
  padding: 14px 0 20px;
  margin-top: 8px;
  background: color-mix(in srgb, var(--color-bg-elevated) 92%, transparent);
}

.site-footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  font-size: 12px;
  color: var(--color-text-soft);
}

.site-footer__right a {
  margin-left: 10px;
  color: var(--color-text-soft);
}

/* =========
   作品頁 2026：清晰、克制的閱讀作品檔案
   ========= */
.card-block.info-page {
  overflow: visible;
  padding: clamp(20px, 3vw, 38px);
}

.info-page .info-header {
  position: relative;
  align-items: stretch;
  gap: clamp(22px, 3vw, 38px);
  padding: 0 0 clamp(26px, 3vw, 38px);
  border-bottom: 0;
}

.info-page .info-cover {
  position: relative;
  flex: 0 0 190px;
  width: 190px;
}

.info-page .info-cover::after {
  display: none;
}

.info-page .info-cover__img {
  position: relative;
  z-index: 1;
  width: 190px;
  height: 266px;
  min-width: 190px;
  min-height: 266px;
  max-width: 190px;
  max-height: 266px;
  border: 1px solid color-mix(in srgb, var(--color-border-subtle) 72%, transparent);
  border-radius: 11px;
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.18);
}

.info-page .info-meta {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 266px;
}

.info-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.info-badge {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 3px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-accent) 11%, var(--color-bg-elevated));
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 700;
}

.info-badge--muted {
  background: color-mix(in srgb, var(--color-text-soft) 9%, var(--color-bg-elevated));
  color: var(--color-text-soft);
}

.info-page .info-title {
  max-width: 20em;
  margin: 0 0 11px;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 850;
  letter-spacing: -0.025em;
  line-height: 1.22;
  overflow-wrap: break-word;
  word-break: normal;
  text-wrap: wrap;
}

.info-author {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 16px;
  color: var(--color-text-soft);
  font-size: 14px;
}

.info-author span {
  font-size: 12px;
  letter-spacing: 0.08em;
}

.info-author a {
  color: var(--color-text);
  font-weight: 700;
}

.info-stats {
  display: flex;
  align-items: stretch;
  gap: 0;
  max-width: 520px;
  margin-bottom: 18px;
}

.info-stat {
  min-width: 92px;
  padding: 0 22px;
  border-left: 1px solid var(--color-border-subtle);
}

.info-stat:first-child {
  padding-left: 0;
  border-left: 0;
}

.info-stat strong,
.info-stat span {
  display: block;
}

.info-stat strong {
  overflow: hidden;
  color: var(--color-text);
  font-size: 17px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.info-stat span {
  margin-top: 2px;
  color: var(--color-text-soft);
  font-size: 11px;
  letter-spacing: 0.08em;
}

.info-latest {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  max-width: 680px;
  padding: 12px 15px;
  border: 1px solid var(--color-border-subtle);
  border-radius: 12px;
  background: color-mix(in srgb, var(--color-bg-elevated) 88%, var(--color-accent-soft) 12%);
  color: var(--color-text);
}

.info-latest:hover {
  border-color: color-mix(in srgb, var(--color-accent) 50%, var(--color-border-subtle));
}

.info-latest__label,
.info-latest__time {
  color: var(--color-text-soft);
  font-size: 12px;
  white-space: nowrap;
}

.info-latest__title {
  overflow: hidden;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.info-page .info-actions {
  margin-top: 18px;
  gap: 12px;
}

.info-page .info-actions__btn {
  min-width: 126px;
  min-height: 44px;
  padding: 10px 20px;
  border-radius: 12px;
  font-weight: 750;
}

.info-page .info-actions__btn--primary {
  box-shadow: 0 12px 24px rgba(79, 70, 229, 0.2);
}

.info-continue-hint {
  display: flex;
  align-items: baseline;
  gap: 5px;
  width: fit-content;
  margin: 11px 0 0;
  padding-left: 2px;
  color: var(--color-text-soft);
  font-size: 13px;
  line-height: 1.55;
  min-height: 20px;
}

.info-continue-hint a {
  display: none;
  position: relative;
  color: #315e8c;
  font-weight: 700;
  text-decoration: none;
}

.info-continue-hint.has-record a {
  display: inline;
}

.info-continue-hint.has-record .info-continue-empty {
  display: none;
}

.info-continue-hint:not(.has-record) .info-continue-empty:empty::after {
  content: "\00a0";
}

/* Reading history cards: progress, latest chapter and update state. */
.recent-item {
  position: relative;
  gap: 14px;
  min-height: 126px;
  padding: 8px 0;
}

.recent-item__cover {
  width: 82px;
  height: 114px;
}

.recent-item__body {
  display: flex;
  min-height: 114px;
  flex-direction: column;
  justify-content: space-between;
}

.recent-item__title {
  padding-right: 52px;
}

.recent-item__meta,
.recent-item__chapter,
.recent-item__latest {
  margin-top: 0;
}

.recent-item__latest {
  min-height: 20px;
}

.recent-item__latest-empty {
  display: inline-block;
  min-width: 1px;
}

.recent-item__new {
  margin-left: 7px;
  color: #d94841;
  font-size: 11px;
  font-weight: 700;
}

.recent-item__actions {
  position: absolute;
  top: 8px;
  right: 0;
  margin: 0;
}

[data-theme="dark"] .recent-item__new {
  color: #ff8c84;
}

@media (max-width: 768px) {
  .recent-item {
    gap: 12px;
    min-height: 108px;
    padding: 8px 0;
  }

  .recent-item__cover {
    width: 68px;
    height: 94px;
  }

  .recent-item__body {
    min-height: 94px;
  }

  .recent-item__title {
    padding-right: 48px;
  }
}

.info-continue-hint a::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 1px;
  background: currentColor;
  content: "";
  opacity: 0.22;
  transition: opacity 0.18s ease;
}

.info-continue-hint a:hover::after {
  opacity: 0.65;
}

[data-theme="dark"] .info-continue-hint a {
  color: #86afd1;
}

.info-detail-page .info-page .info-actions__btn--primary.is-continue {
  border-color: #26766d;
  background: #26766d;
  box-shadow: 0 9px 20px rgba(38, 118, 109, 0.2);
}

.info-detail-page .info-page .info-actions__btn--primary.is-continue:hover {
  background: #20655e;
}

[data-theme="dark"] .info-detail-page .info-page .info-actions__btn--primary.is-continue {
  border-color: #4f9e92;
  background: #397f76;
  box-shadow: 0 9px 22px rgba(0, 0, 0, 0.28);
}

[data-theme="dark"] .info-detail-page .info-page .info-actions__btn--primary.is-continue:hover {
  background: #468f84;
}

.info-page .info-tabs {
  position: sticky;
  top: 0;
  z-index: 30;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  margin: 0;
  padding: 5px;
  border: 1px solid var(--color-border-subtle);
  border-radius: 14px;
  background: color-mix(in srgb, var(--color-bg-elevated) 94%, transparent);
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(14px);
}

.info-tab {
  min-width: 0;
  min-height: 44px;
  padding: 9px 14px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--color-text-soft);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.info-tab span {
  display: inline-flex;
  justify-content: center;
  min-width: 22px;
  margin-left: 4px;
  padding: 1px 5px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-text-soft) 10%, transparent);
  font-size: 11px;
}

.info-tab:hover {
  color: var(--color-text);
}

.info-tab.act {
  background: linear-gradient(135deg, #4f46e5, #2563eb);
  color: #fff;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.24);
}

.info-tab.act span {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.info-tab:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--color-accent) 35%, transparent);
  outline-offset: 2px;
}

[data-theme="dark"] .info-page .info-cover__img {
  border-color: rgba(148, 163, 184, 0.28);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.46);
}

[data-theme="dark"] .info-page .info-tabs {
  border-color: rgba(148, 163, 184, 0.24);
  background: rgba(11, 16, 32, 0.88);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .info-tab.act {
  background: rgba(56, 189, 248, 0.17);
  color: #e0f2fe;
  box-shadow: inset 0 0 0 1px rgba(56, 189, 248, 0.66), 0 8px 20px rgba(0, 0, 0, 0.24);
}

[data-theme="dark"] .info-tab.act span {
  background: rgba(56, 189, 248, 0.2);
  color: #bae6fd;
}

.info-panel {
  padding-top: clamp(24px, 3vw, 36px);
}

.info-panel > .pt-comment-section {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.info-page .info-intro {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.info-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.info-page .info-section-title {
  margin: 0;
  font-size: 19px;
  font-weight: 800;
}

.info-page .info-section-title::before {
  width: 3px;
  height: 18px;
}

.info-section-link {
  padding: 5px 0;
  border: 0;
  background: transparent;
  color: var(--color-accent);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.info-page .info-intro__content {
  position: relative;
  max-width: 920px;
  color: var(--color-text-soft);
  font-size: 15px;
  line-height: 1.9;
}

.info-page .info-intro__content p {
  margin: 0 0 12px;
}

.info-intro__content.is-collapsed::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 64px;
  background: linear-gradient(transparent, var(--color-bg-elevated));
  pointer-events: none;
}

.info-intro__content.is-collapsed {
  overflow: hidden;
}

.info-intro__content.is-expanded {
  overflow: visible;
}

.info-page .info-intro__toggle {
  position: relative;
  z-index: 1;
  display: inline-flex;
  margin-top: 10px;
  padding: 6px 0;
  border: 0;
  background: transparent;
  color: var(--color-accent);
  font-weight: 700;
}

[data-theme="dark"] .info-intro__content.is-collapsed::after {
  background: linear-gradient(transparent, var(--color-bg-elevated));
}

.info-page .info-chapter-list--latest {
  margin-top: 34px;
  padding-top: 28px;
  border-top-style: solid;
}

.info-page .info-chapter-list__inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 24px;
}

.info-page .info-chapter {
  min-width: 0;
  min-height: 46px;
  padding: 10px 0;
}

.info-page .info-chapter a {
  font-size: 14px;
  transition: color 0.18s ease, transform 0.18s ease;
}

.info-page .info-chapter a:hover {
  color: var(--color-accent);
  transform: translateX(2px);
}

.info-page .info-recommend {
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid var(--color-border-subtle);
}

.info-page .info-recommend .book-card__desc {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.info-page .similar-book-reason { background:#e8eef3; color:#315e8c; font-weight:700; }
[data-theme="dark"] .info-page .similar-book-reason { background:#263541; color:#a9c7e1; }

.catalog-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.catalog-summary {
  margin: 7px 0 0;
  color: var(--color-text-soft);
  font-size: 13px;
}

.catalog-tools {
  display: flex;
  align-items: center;
  gap: 8px;
}

.catalog-search input {
  width: 190px;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--color-border-subtle);
  border-radius: 9px;
  outline: 0;
  background: var(--color-bg-elevated);
  color: var(--color-text);
  font: inherit;
  font-size: 13px;
}

.catalog-search input:focus {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.11);
}

.catalog-tool {
  min-height: 38px;
  padding: 7px 12px;
  border: 1px solid var(--color-border-subtle);
  border-radius: 9px;
  background: var(--color-bg-elevated);
  color: var(--color-text-soft);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.catalog-tool:hover,
.catalog-tool.is-active {
  border-color: color-mix(in srgb, var(--color-accent) 50%, var(--color-border-subtle));
  color: var(--color-accent);
}

.catalog-tool--accent {
  background: color-mix(in srgb, var(--color-accent) 9%, var(--color-bg-elevated));
  color: var(--color-accent);
}

.catalog-results {
  min-height: 0;
  margin-bottom: 12px;
  color: var(--color-text-soft);
  font-size: 13px;
}

.catalog-results:empty {
  display: none;
}

.catalog-results.is-empty {
  padding: 18px;
  border-radius: 10px;
  background: color-mix(in srgb, #ef4444 7%, var(--color-bg-elevated));
  color: #b91c1c;
  text-align: center;
}

.catalog-groups {
  display: grid;
  gap: 10px;
}

.catalog-group {
  overflow: hidden;
  border: 1px solid var(--color-border-subtle);
  border-radius: 12px;
  background: color-mix(in srgb, var(--color-bg-elevated) 96%, var(--color-accent-soft) 4%);
}

.catalog-group[hidden] {
  display: none;
}

.catalog-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  color: var(--color-text);
  font-size: 14px;
  font-weight: 750;
  cursor: pointer;
  list-style: none;
}

.catalog-group summary::-webkit-details-marker {
  display: none;
}

.catalog-group summary::after {
  content: "+";
  order: 3;
  color: var(--color-text-soft);
  font-size: 19px;
  font-weight: 400;
}

.catalog-group[open] summary::after {
  content: "−";
}

.catalog-group summary small {
  margin-left: auto;
  color: var(--color-text-soft);
  font-size: 11px;
  font-weight: 500;
}

.catalog-group__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 24px;
  margin: 0 16px;
  padding: 4px 0 14px;
  border-top: 1px solid var(--color-border-subtle);
}

.catalog-group__list .info-chapter[hidden] {
  display: none;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 900px) {
  .info-page .info-chapter-list__inner,
  .catalog-group__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .catalog-head {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 768px) {
  .card-block.info-page {
    padding-top: 14px;
  }

  .info-intro__content.is-collapsed::after,
  [data-theme="dark"] .info-intro__content.is-collapsed::after {
    background: linear-gradient(transparent, var(--color-bg));
  }

  .info-page .info-header {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    align-items: start;
    gap: 16px;
    padding-bottom: 24px;
    text-align: left;
  }

  .info-page .info-cover {
    grid-column: 1;
    grid-row: 1 / span 4;
    width: 108px;
  }

  .info-page .info-cover__img {
    display: block;
    width: 108px;
    height: 151px;
    min-width: 108px;
    min-height: 151px;
    max-width: 108px;
    max-height: 151px;
    border-radius: 10px;
  }

  .info-page .info-meta {
    display: contents;
  }

  .info-page .info-badges,
  .info-page .info-title,
  .info-page .info-author,
  .info-page .info-stats {
    grid-column: 2;
  }

  .info-page .info-badges { grid-row: 1; }
  .info-page .info-title { grid-row: 2; }
  .info-page .info-author { grid-row: 3; }
  .info-page .info-stats { grid-row: 4; }

  .info-page .info-latest {
    grid-row: 5;
  }

  .info-page .info-actions {
    grid-row: 6;
  }

  .info-badges {
    margin-bottom: 7px;
  }

  .info-badge {
    min-height: 22px;
    padding: 2px 8px;
    font-size: 10px;
  }

  .info-page .info-title {
    margin-bottom: 6px;
    font-size: 21px;
  }

  .info-author {
    margin-bottom: 11px;
    font-size: 13px;
  }

  .info-stats {
    margin-bottom: 0;
  }

  .info-stat {
    min-width: 0;
    padding: 0 11px;
  }

  .info-stat strong {
    font-size: 14px;
  }

  .info-stat span {
    font-size: 9px;
  }

  .info-latest,
  .info-page .info-actions {
    grid-column: 1 / -1;
  }

  .info-latest {
    grid-template-columns: auto minmax(0, 1fr);
    margin-top: 2px;
    padding: 10px 12px;
  }

  .info-latest__time {
    display: none;
  }

  .info-page .info-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    margin-top: 12px;
  }

  .info-page .info-actions__btn {
    min-width: 0;
    min-height: 42px;
    padding: 8px 12px;
  }

  .info-continue-hint {
    grid-column: 1 / -1;
    margin-top: 8px;
    font-size: 12px;
  }

  .info-page .info-tabs {
    margin-right: -4px;
    margin-left: -4px;
    padding: 4px;
  }

  .info-tab {
    min-height: 42px;
    padding: 7px 5px;
    font-size: 13px;
  }

  .info-tab span {
    display: none;
  }

  .info-panel {
    padding-top: 24px;
  }

  .info-page .info-section-title {
    font-size: 17px;
  }

  .info-page .info-intro__content {
    font-size: 14px;
    line-height: 1.82;
  }

  .info-page .info-chapter-list__inner,
  .catalog-group__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .info-page .info-chapter-list--latest,
  .info-page .info-recommend {
    margin-top: 27px;
    padding-top: 22px;
  }

  .catalog-tools {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }

  .catalog-search {
    grid-column: 1 / -1;
  }

  .catalog-search input {
    width: 100%;
    min-height: 42px;
  }

  .catalog-tool {
    min-width: 0;
    min-height: 40px;
    padding: 7px 5px;
  }

  .catalog-group summary {
    padding: 13px 14px;
  }

  .catalog-group__list {
    margin: 0 14px;
  }
}

@media (max-width: 390px) {
  .info-page .info-header {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 13px;
  }

  .info-page .info-cover,
  .info-page .info-cover__img {
    width: 92px;
  }

  .info-page .info-cover__img {
    height: 129px;
    min-width: 92px;
    min-height: 129px;
    max-width: 92px;
    max-height: 129px;
  }

  .info-page .info-title {
    font-size: 19px;
  }

  .info-stat:nth-child(3) {
    display: none;
  }
}

/* =========
   作品頁出版色調：僅作用於書籍頁
   ========= */
body.info-detail-page {
  --color-bg: #f5f5f7;
  --color-bg-elevated: #ffffff;
  --color-text: #18181b;
  --color-text-soft: #6b7280;
  --color-accent: #315e8c;
  --color-accent-soft: rgba(49, 94, 140, 0.1);
  --color-border-subtle: #e2e5e9;
  background-color: var(--color-bg);
}

[data-theme="dark"] body.info-detail-page {
  --color-bg: #111315;
  --color-bg-elevated: #191c1f;
  --color-text: #eceae5;
  --color-text-soft: #aaa8a2;
  --color-accent: #78a6d1;
  --color-accent-soft: rgba(120, 166, 209, 0.14);
  --color-border-subtle: #303438;
}

.info-detail-page .site-header {
  border-bottom-color: color-mix(in srgb, var(--color-border-subtle) 82%, transparent);
  background: color-mix(in srgb, var(--color-bg) 90%, transparent);
}

.info-detail-page .card-block.info-page {
  border: 1px solid color-mix(in srgb, var(--color-border-subtle) 76%, transparent);
  background: var(--color-bg-elevated);
  box-shadow: 0 18px 45px rgba(54, 47, 38, 0.07);
}

[data-theme="dark"] .info-detail-page .card-block.info-page {
  border-color: var(--color-border-subtle);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.24);
}

.info-detail-page .info-page .info-cover__img {
  border-color: rgba(92, 82, 67, 0.18);
  box-shadow: 0 18px 34px rgba(52, 45, 36, 0.17);
}

.info-detail-page .info-badge {
  background: #e8eef3;
  color: #315e8c;
}

.info-detail-page .info-badge--muted {
  background: #f1f3f5;
  color: #626a73;
}

.info-detail-page .info-latest {
  border-color: var(--color-border-subtle);
  background: #f7f8fa;
}

.info-detail-page .info-latest:hover {
  border-color: #9eb4c8;
  background: #f5f7f8;
}

.info-detail-page .info-page .info-actions__btn {
  border-color: var(--color-border-subtle);
  background: var(--color-bg-elevated);
}

.info-detail-page .info-page .info-actions__btn--primary,
.info-detail-page .pt-comment-submit {
  border-color: #315e8c;
  background: #315e8c;
  color: #fff;
  box-shadow: 0 10px 22px rgba(49, 94, 140, 0.2);
}

.info-detail-page .info-page .info-actions__btn--primary:hover,
.info-detail-page .pt-comment-submit:hover {
  background: #284f77;
  filter: none;
}

.info-detail-page .info-page .info-tabs {
  border-color: var(--color-border-subtle);
  background: #f2f4f6;
  box-shadow: 0 8px 22px rgba(54, 47, 38, 0.07);
}

.info-detail-page .info-tab.act {
  position: relative;
  background: #eef1f2;
  color: #274e73;
  box-shadow: inset 0 0 0 1px #b7c3cb, inset 0 -3px 0 #476b85;
}

.info-detail-page .info-tab.act span {
  background: #dfe8f0;
  color: #315e8c;
}

.info-detail-page .info-page .info-section-title::before,
.info-detail-page .pt-comment-title::before {
  background: #315e8c;
}

.info-detail-page .info-page .info-intro__toggle,
.info-detail-page .info-section-link,
.info-detail-page .pt-comment-text-button {
  color: #315e8c;
}

.info-detail-page .info-page .info-chapter a:hover {
  color: #315e8c;
}

.info-detail-page .catalog-tool--accent,
.info-detail-page .catalog-tool.is-active {
  border-color: #aebdca;
  background: #edf2f5;
  color: #315e8c;
}

.info-detail-page .catalog-group,
.info-detail-page .catalog-search input,
.info-detail-page .catalog-tool,
.info-detail-page .pt-comment-form,
.info-detail-page .pt-comment-reply-form,
.info-detail-page .pt-comment-report-form {
  background: #ffffff;
}

.info-detail-page .pt-comment-form {
  border-color: var(--color-border-subtle);
  box-shadow: 0 8px 22px rgba(54, 47, 38, 0.05);
}

.info-detail-page .pt-comment-avatar,
.info-detail-page .pt-comment-item__avatar {
  background: #496b8b;
}

.info-detail-page .site-footer {
  border-top-color: var(--color-border-subtle);
  background: color-mix(in srgb, var(--color-bg-elevated) 74%, var(--color-bg));
}

[data-theme="dark"] .header-search-form__button {
  background: #557a96;
}

[data-theme="dark"] .header-search-form__button:hover {
  background: #668ba6;
}

[data-theme="dark"] .info-detail-page .info-page .info-cover__img {
  border-color: #3c4247;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.42);
}

[data-theme="dark"] .info-detail-page .info-badge {
  background: #263541;
  color: #a9c7e1;
}

[data-theme="dark"] .info-detail-page .info-badge--muted {
  background: #292c2e;
  color: #b5b2ab;
}

[data-theme="dark"] .info-detail-page .info-latest,
[data-theme="dark"] .info-detail-page .catalog-group,
[data-theme="dark"] .info-detail-page .catalog-search input,
[data-theme="dark"] .info-detail-page .catalog-tool,
[data-theme="dark"] .info-detail-page .pt-comment-form,
[data-theme="dark"] .info-detail-page .info-page .info-actions__btn {
  border-color: var(--color-border-subtle);
  background: #1c2023;
}

[data-theme="dark"] .info-detail-page .info-latest:hover {
  border-color: #516779;
  background: #20272c;
}

[data-theme="dark"] .info-detail-page .info-page .info-actions__btn--primary,
[data-theme="dark"] .info-detail-page .pt-comment-submit {
  border-color: #628db3;
  background: #527fa7;
  color: #fff;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .info-detail-page .info-page .info-actions__btn--primary:hover,
[data-theme="dark"] .info-detail-page .pt-comment-submit:hover {
  background: #628db3;
}

[data-theme="dark"] .info-detail-page .info-page .info-tabs {
  border-color: var(--color-border-subtle);
  background: #15181a;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.28);
}

[data-theme="dark"] .info-detail-page .info-tab.act {
  background: #242c31;
  color: #d8e7f3;
  box-shadow: inset 0 -3px 0 #78a6d1, inset 0 0 0 1px #46545e;
}

[data-theme="dark"] .info-detail-page .info-tab.act span {
  background: #344959;
  color: #c3d9eb;
}

[data-theme="dark"] .info-detail-page .info-page .info-section-title::before,
[data-theme="dark"] .info-detail-page .pt-comment-title::before {
  background: #78a6d1;
}

[data-theme="dark"] .info-detail-page .info-page .info-intro__toggle,
[data-theme="dark"] .info-detail-page .info-section-link,
[data-theme="dark"] .info-detail-page .pt-comment-text-button,
[data-theme="dark"] .info-detail-page .info-page .info-chapter a:hover {
  color: #8eb4d5;
}

[data-theme="dark"] .info-detail-page .catalog-tool--accent,
[data-theme="dark"] .info-detail-page .catalog-tool.is-active {
  border-color: #49677f;
  background: #23313c;
  color: #a9c7e1;
}

[data-theme="dark"] .info-detail-page .pt-comment-avatar,
[data-theme="dark"] .info-detail-page .pt-comment-item__avatar {
  background: #496b8b;
}

@media (max-width: 768px) {
  .info-detail-page .card-block.info-page {
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .info-detail-page .info-page .info-tabs {
    background: #eef0f2;
  }

  .info-detail-page .info-tab.act {
    background: #eef1f2;
  }

  [data-theme="dark"] .info-detail-page .info-page .info-tabs {
    background: #171a1c;
  }

  [data-theme="dark"] .info-detail-page .info-tab.act {
    background: #242c31;
  }
}

@media (max-width: 768px) {
  .info-detail-page .info-page .info-title {
    max-width: 100%;
    font-size: clamp(19px, 5.2vw, 25px);
    line-height: 1.22;
    letter-spacing: -0.018em;
  }

  .info-detail-page .info-author {
    margin-top: 8px;
    margin-bottom: 13px;
  }

  .info-detail-page .info-panel > .pt-comment-section {
    padding-top: 0;
  }

  .info-detail-page .pt-comment-form,
  [data-theme="dark"] .info-detail-page .pt-comment-form {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .info-detail-page .pt-comment-label {
    margin-bottom: 8px;
    color: var(--color-text-soft);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
  }

  .info-detail-page .pt-comment-identity {
    margin-bottom: 18px;
  }

  .info-detail-page .pt-comment-input,
  .info-detail-page .pt-comment-textarea {
    border-color: var(--color-border-subtle);
    border-radius: 11px;
    background: var(--color-bg-elevated);
  }

  .info-detail-page .pt-comment-textarea {
    min-height: 154px;
  }

  .info-detail-page .pt-comment-submit {
    min-height: 44px;
    border-radius: 11px;
    box-shadow: 0 7px 16px rgba(49, 94, 140, 0.14);
  }

  [data-theme="dark"] .info-detail-page .pt-comment-submit {
    box-shadow: 0 7px 18px rgba(0, 0, 0, 0.24);
  }

  .info-detail-page .pt-comment-list-header {
    margin-top: 34px;
    padding-top: 4px;
  }
}

@media (max-width: 768px) {
  .info-detail-page .info-page .info-header {
    grid-template-rows: auto auto auto 1fr auto auto;
    column-gap: 16px;
    row-gap: 0;
  }

  .info-detail-page .info-page .info-badges {
    margin-bottom: 4px;
  }

  .info-detail-page .info-page .info-title {
    margin-bottom: 9px;
  }

  .info-detail-page .info-author {
    margin-top: 0;
    margin-bottom: 12px;
  }

  .info-detail-page .info-stats {
    align-self: end;
  }

  .info-detail-page .info-latest {
    margin-top: 14px;
  }

  .info-detail-page .info-page .info-actions {
    margin-top: 12px;
  }
}

/* 書籍頁實用功能：分享、作者作品、章節跳轉 */
.info-detail-page .info-actions__btn--share {
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  font-weight: 750;
}

.author-works {
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid var(--color-border-subtle);
}

.book-rating-block {
  margin-top: 34px;
}

.book-rating {
  display: grid;
  grid-template-columns: 150px 230px minmax(0, 1fr);
  gap: 18px 24px;
  margin-top: 14px;
  padding: 16px 24px;
  border: 1px solid var(--color-border-subtle);
  border-radius: 14px;
  background: color-mix(in srgb, var(--color-bg-elevated) 94%, var(--color-bg));
}

.book-rating__heading {
  margin-bottom: 0;
}

.book-rating__summary {
  display: flex;
  min-width: 0;
  min-height: 84px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.book-rating__eyebrow {
  display: block;
  margin-bottom: 4px;
  color: var(--color-text-soft);
  font-size: 12px;
}

.book-rating__result {
  display: flex;
  align-items: baseline;
  justify-content: center;
  color: var(--color-text-soft);
}

.book-rating__result strong {
  color: var(--color-text);
  font-size: 32px;
  font-variant-numeric: tabular-nums;
  font-weight: 820;
  letter-spacing: -0.025em;
  line-height: 1;
}

.book-rating__unit {
  margin-left: 3px;
  color: var(--color-text-soft);
  font-size: 13px;
  font-weight: 650;
}

.book-rating__unit[hidden] {
  display: none;
}

.book-rating__count,
.book-rating__label {
  color: var(--color-text-soft);
  font-size: 12px;
}

.book-rating__count {
  display: block;
  margin: 7px auto 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  text-align: center;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, currentColor 38%, transparent);
  text-underline-offset: 3px;
}

.book-rating__count:hover {
  color: var(--color-accent);
}

.book-rating__count:focus-visible {
  border-radius: 3px;
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}

.book-rating__action {
  display: flex;
  min-width: 0;
  min-height: 84px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-left: 1px solid var(--color-border-subtle);
  padding-left: 24px;
}

.book-rating__stars {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin: 0 0 4px;
}

.book-rating__stars button {
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: color-mix(in srgb, var(--color-text-soft) 28%, transparent);
  cursor: pointer;
  font-size: 25px;
  line-height: 1;
  transition: color .16s ease, transform .16s ease;
}

.book-rating__stars button:hover,
.book-rating__stars button.is-selected {
  color: #b57a38;
}

.book-rating__stars button:hover {
  transform: translateY(-1px);
}

.book-rating__stars button:focus-visible {
  border-radius: 4px;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 22%, transparent);
}

.book-rating__stars button:disabled {
  cursor: wait;
  opacity: .62;
}

.book-rating-distribution {
  grid-column: 1 / -1;
  padding-top: 16px;
  border-top: 1px solid var(--color-border-subtle);
}

.book-rating-distribution[hidden],
.book-rating-distribution__rows[hidden] {
  display: none;
}

.book-rating-distribution__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 11px;
}

.book-rating-distribution__head strong {
  color: var(--color-text);
  font-size: 13px;
}

.book-rating-distribution__head span {
  color: var(--color-text-soft);
  font-size: 11px;
}

.book-rating-distribution__rows {
  display: grid;
  gap: 7px;
}

.book-rating-distribution__row {
  display: grid;
  grid-template-columns: 30px minmax(80px, 1fr) 38px 42px;
  align-items: center;
  gap: 9px;
  color: var(--color-text-soft);
  font-size: 11px;
}

.book-rating-distribution__row i {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-text-soft) 15%, transparent);
}

.book-rating-distribution__row b {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: #b57a38;
  transition: width .24s ease;
}

.book-rating-distribution__row em,
.book-rating-distribution__row small {
  font-style: normal;
  text-align: right;
}

[data-theme="dark"] .book-rating {
  background: #1c2023;
}

.book-update-overview__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  align-self: stretch;
  border: 0;
  border-left: 1px solid var(--color-border-subtle);
  border-radius: 0;
  background: transparent;
}

.book-update-overview__item {
  display: flex;
  min-width: 0;
  min-height: 84px;
  padding: 9px 18px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-right: 1px solid var(--color-border-subtle);
}

.book-update-overview__item:last-child {
  border-right: 0;
}

.book-update-overview__item span,
.book-update-overview__item small {
  color: var(--color-text-soft);
  font-size: 12px;
}

.book-update-overview__item strong {
  margin: 0 0 4px;
  color: var(--color-text);
  font-size: 17px;
  font-weight: 760;
  line-height: 1.3;
}

.author-works__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.author-work-card {
  display: flex;
  min-width: 0;
  gap: 13px;
  padding: 12px;
  border: 1px solid var(--color-border-subtle);
  border-radius: 12px;
  background: color-mix(in srgb, var(--color-bg-elevated) 94%, var(--color-bg));
}

.author-work-card__cover-link {
  flex: 0 0 64px;
}

.author-work-card__cover {
  display: block;
  width: 64px;
  height: 90px;
  border-radius: 7px;
  object-fit: cover;
  box-shadow: 0 7px 16px rgba(54, 47, 38, 0.13);
}

.author-work-card__body {
  flex: 1;
  min-width: 0;
}

.author-work-card__title {
  display: -webkit-box;
  overflow: hidden;
  margin: 1px 0 8px;
  color: var(--color-text);
  font-size: 15px;
  font-weight: 780;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.author-work-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  margin-bottom: 9px;
  color: var(--color-text-soft);
  font-size: 11px;
}

.author-work-card__latest {
  display: block;
  overflow: hidden;
  color: var(--color-text-soft);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.author-work-card__latest:hover {
  color: var(--color-accent);
}

.catalog-tools {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.catalog-jump {
  display: flex;
  align-items: center;
}

.catalog-jump input {
  width: 104px;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid var(--color-border-subtle);
  border-right: 0;
  border-radius: 9px 0 0 9px;
  outline: 0;
  background: var(--color-bg-elevated);
  color: var(--color-text);
  font: inherit;
  font-size: 13px;
}

.catalog-jump input:focus {
  position: relative;
  z-index: 1;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 12%, transparent);
}

.catalog-jump .catalog-tool {
  border-radius: 0 9px 9px 0;
}

.info-chapter.is-located {
  border-radius: 7px;
  background: color-mix(in srgb, var(--color-accent) 12%, transparent);
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--color-accent) 10%, transparent);
}

[data-theme="dark"] .author-work-card {
  background: #1c2023;
}

[data-theme="dark"] .author-work-card__cover {
  box-shadow: 0 7px 18px rgba(0, 0, 0, 0.34);
}

@media (max-width: 768px) {
  .info-detail-page .info-page .info-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .info-detail-page .info-page .info-actions__btn,
  .info-detail-page .info-actions__btn--share {
    min-height: 42px;
    padding-right: 6px;
    padding-left: 6px;
    font-size: 13px;
  }

  .author-works {
    margin-top: 27px;
    padding-top: 22px;
  }

  .book-rating {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: 8px 0;
    margin-top: 0;
    padding: 13px 0 0;
    border-right: 0;
    border-left: 0;
    border-radius: 0;
    background: transparent;
  }

  .book-rating__heading {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .book-rating-block {
    margin-top: 22px;
  }

  .book-rating__summary {
    min-height: 64px;
    padding: 4px 8px 6px;
  }

  .book-rating__result strong {
    font-size: 31px;
  }

  .book-rating__unit {
    font-size: 13px;
  }

  .book-rating__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    margin-top: 6px;
    padding: 0 4px;
  }

  .book-rating-distribution {
    padding-top: 12px;
  }

  .book-rating-distribution__row {
    grid-template-columns: 28px minmax(60px, 1fr) 34px 36px;
    gap: 6px;
  }

  .book-rating__action {
    min-height: 64px;
    justify-content: center;
    padding: 4px 6px 6px;
  }

  .book-rating__label {
    display: block;
    margin-top: 1px;
  }

  .book-rating__stars {
    justify-content: center;
    gap: clamp(1px, .7vw, 3px);
    margin: 0 0 3px;
  }

  .book-rating__stars button {
    width: clamp(32px, 9.4vw, 38px);
    height: 34px;
    font-size: clamp(22px, 6.2vw, 25px);
  }

  .book-update-overview__grid {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 2px;
    border-top: 1px solid var(--color-border-subtle);
    border-left: 0;
    background: transparent;
  }

  .book-update-overview__item {
    min-height: 64px;
    padding: 8px 6px 7px;
  }

  .book-update-overview__item:nth-child(2) {
    border-right: 1px solid var(--color-border-subtle);
  }

  .book-update-overview__item:last-child {
    min-height: 64px;
    border-top: 0;
  }

  .book-update-overview__item span,
  .book-update-overview__item small {
    font-size: 11px;
  }

  .book-update-overview__item strong {
    margin: 0 0 3px;
    font-size: 15px;
  }

  .author-works__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .author-work-card {
    padding: 10px;
  }

  .catalog-jump {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .catalog-jump input {
    width: 100%;
    min-height: 42px;
  }

  .catalog-jump .catalog-tool {
    min-width: 70px;
  }
}

.info-detail-page .info-chapter {
  gap: 8px;
}

.info-detail-page .info-chapter a {
  flex: 1;
  min-width: 0;
}

.chapter-new-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 22px;
  height: 20px;
  padding: 0 6px;
  border: 1px solid #d9b99d;
  border-radius: 999px;
  background: #f6eadf;
  color: #855638;
  font-size: 10px;
  font-weight: 750;
  line-height: 1;
}

.author-works__count {
  margin-left: 2px;
  color: var(--color-text-soft);
  font-size: 12px;
  font-weight: 550;
  white-space: nowrap;
}

[data-theme="dark"] .chapter-new-badge {
  border-color: #725a48;
  background: #332a24;
  color: #d8b497;
}

/* 響應式處理 */
@media (max-width: 960px) {
  .main__grid {
    grid-template-columns: minmax(0, 1.9fr) minmax(0, 1.1fr);
  }

  .update-list__item {
    grid-template-columns: auto minmax(0, 2.6fr) minmax(0, 2.2fr);
  }

  .update-list__meta {
    display: none;
  }
}

@media (max-width: 768px) {
  .site-header__inner {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .site-nav {
    order: 3;
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
    row-gap: 6px;
  }

  .site-actions {
    order: 4;
    width: 100%;
    justify-content: flex-end;
    flex-wrap: wrap;
  }

  .header-search-form {
    order: 1;
    width: 100%;
    margin: 6px 0 4px;
  }

  .header-search-form__input {
    width: 100%;
  }

  /* 手機端：日間／夜間切換固定在右上角，提示更明顯 */
  #themeToggle {
    position: absolute;
    top: 8px;
    right: 16px;
    padding-inline: 10px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.6);
    background: color-mix(in srgb, var(--color-bg-elevated) 90%, var(--color-accent-soft) 10%);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.25);
  }

  #themeToggle .btn-theme__text {
    font-size: 13px;
    font-weight: 600;
  }

  .section--hero {
    padding-top: 18px;
  }

  .hero__title {
    font-size: 20px;
  }

  .main__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .site-footer__inner {
    flex-direction: column;
  }
}

@media (max-width: 768px) {
  /* 手機端首頁：弱化大卡片框感，更貼背景 */
  .main__primary > .card-block {
    background-color: transparent;
    box-shadow: none;
    border-radius: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .main__aside > .side-card {
    background-color: transparent;
    box-shadow: none;
    border-radius: 0;
    padding-left: 0;
    padding-right: 0;
  }

  /* 分類頁手機端：分類區收合，點擊「選擇分類」展開 */
  .category-page .main__grid {
    display: flex;
    flex-direction: column;
  }

  .category-page .main__aside {
    order: 1;
  }

  .category-page .main__primary {
    order: 2;
  }

  .category-menu-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 12px 14px;
    margin-bottom: 0;
    border: 1px solid rgba(148, 163, 184, 0.4);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
    color: var(--color-text);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
  }

  .category-menu-toggle__icon {
    display: inline-block;
    transition: transform 0.2s ease;
    font-size: 12px;
  }

  .main__aside.category-aside--open .category-menu-toggle__icon {
    transform: rotate(180deg);
  }

  .category-aside__panel {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.25s ease;
  }

  .main__aside.category-aside--open .category-aside__panel {
    max-height: 75vh;
  }

  .main__aside.category-aside--open .category-aside__panel {
    overflow-y: auto;
  }
}

@media (min-width: 769px) {
  .category-menu-toggle {
    display: none;
  }
}

@media (max-width: 768px) {
  /* 手機端搜索結果頁：去掉外層大白框 */
  .main > .container > .card-block {
    background-color: transparent;
    box-shadow: none;
    border-radius: 0;
    padding-left: 0;
    padding-right: 0;
  }
}

@media (max-width: 480px) {
  .hero-search-form {
    flex-direction: column;
  }

  .hero-search-form__button {
    width: 100%;
    padding: 9px 16px;
  }

  .update-list__item {
    grid-template-columns: auto minmax(0, 2fr);
  }

  .update-list__chapter {
    display: none;
  }
}

@media (max-width: 768px) {
  /* 手機端首頁：避免上下兩個搜索框擠在一起 */
  .page-home .header-search-form {
    display: none;
  }
}

/* ========= reader-page-overrides（章節頁專用，置於文件末尾避免被全站樣式覆蓋） ========= */

html[data-reader-palette="light-default"] body.layout-root.page-reader {
  --reader-page-bg: #f5f5f7;
  --reader-outer-bg: #e0e0e0;
  --reader-inner-bg: #ffffff;
  --reader-btn-bg: #f3f4f6;
  --reader-btn-border: #cbd5e1;
  --reader-edge-border: rgba(0, 0, 0, 0.08);
  --reader-breadcrumb-link: #4f6982;
  --reader-breadcrumb-link-hover: #2f5578;
}

html[data-reader-palette="light-warm"] body.layout-root.page-reader {
  --reader-page-bg: #ddd5c8;
  --reader-outer-bg: #ddd5c8;
  --reader-inner-bg: #fdf8ef;
  --reader-btn-bg: #f5ecd8;
  --reader-btn-border: #c9bba8;
  --reader-edge-border: rgba(120, 100, 60, 0.12);
  --reader-breadcrumb-link: #75644f;
  --reader-breadcrumb-link-hover: #594933;
}

html[data-reader-palette="light-green"] body.layout-root.page-reader {
  --reader-page-bg: #ccdace;
  --reader-outer-bg: #ccdace;
  --reader-inner-bg: #f2faf4;
  --reader-btn-bg: #dceee2;
  --reader-btn-border: #a8c4b0;
  --reader-edge-border: rgba(60, 100, 70, 0.12);
  --reader-breadcrumb-link: #4d7060;
  --reader-breadcrumb-link-hover: #315844;
}

html[data-reader-palette="dark-default"] body.layout-root.page-reader {
  --reader-page-bg: #050816;
  --reader-outer-bg: #050816;
  --reader-inner-bg: #0b1020;
  --reader-btn-bg: #1e2a42;
  --reader-btn-border: #3d5270;
  --reader-edge-border: rgba(255, 255, 255, 0.1);
  --reader-breadcrumb-link: #91abc3;
  --reader-breadcrumb-link-hover: #bdd0e1;
}

html[data-reader-palette="dark-warm"] body.layout-root.page-reader {
  --reader-page-bg: #12100c;
  --reader-outer-bg: #12100c;
  --reader-inner-bg: #2a2620;
  --reader-btn-bg: #443d35;
  --reader-btn-border: rgba(255, 240, 200, 0.38);
  --reader-edge-border: rgba(255, 240, 200, 0.14);
  --reader-breadcrumb-link: #c2aa83;
  --reader-breadcrumb-link-hover: #ead4ad;
}

html[data-reader-palette="dark-green"] body.layout-root.page-reader {
  --reader-page-bg: #0c100e;
  --reader-outer-bg: #0c100e;
  --reader-inner-bg: #1a221c;
  --reader-btn-bg: #2a3830;
  --reader-btn-border: rgba(200, 230, 210, 0.38);
  --reader-edge-border: rgba(200, 230, 210, 0.14);
  --reader-breadcrumb-link: #9ebaa8;
  --reader-breadcrumb-link-hover: #c9ddcf;
}

html[data-reader-palette] body.layout-root.page-reader {
  background-color: var(--reader-page-bg);
}

html[data-reader-palette] body.page-reader .main,
html[data-reader-palette] body.page-reader .site-footer {
  background-color: var(--reader-page-bg);
}

html[data-reader-palette] body.page-reader .container.reader-layout {
  background-color: var(--reader-inner-bg);
  border: 1px solid var(--reader-edge-border);
}

html[data-reader-palette] body.page-reader .reader-content,
html[data-reader-palette] body.page-reader #article {
  background-color: transparent;
}

html[data-reader-palette] body.page-reader .site-header {
  background: color-mix(in srgb, var(--reader-page-bg) 85%, transparent);
}

html[data-reader-palette] body.page-reader .reader-breadcrumb a {
  color: var(--reader-breadcrumb-link);
}

html[data-reader-palette] body.page-reader .reader-breadcrumb a:hover {
  color: var(--reader-breadcrumb-link-hover);
}

html[data-reader-palette] body.page-reader .reader-font-btn,
html[data-reader-palette] body.page-reader .reader-nav-link {
  background-color: var(--reader-btn-bg);
  border-color: var(--reader-btn-border);
  color: var(--color-text);
}

html[data-reader-palette] body.page-reader .reader-font-btn {
  font-weight: 600;
}

@media (min-width: 769px) {
  html[data-reader-palette] body.layout-root.page-reader,
  html[data-reader-palette] body.page-reader .main,
  html[data-reader-palette] body.page-reader .site-footer {
    background-color: var(--reader-outer-bg);
  }

  html[data-reader-palette] body.page-reader .site-header {
    background: color-mix(in srgb, var(--reader-outer-bg) 85%, transparent);
  }
}

/* 閱讀頁上下導航提高層級 */
body.page-reader .reader-header__nav,
body.page-reader .reader-footer-nav {
  position: relative !important;
  z-index: 2147483646 !important;
  isolation: isolate;
}

body.page-reader .reader-header__nav .reader-nav-link,
body.page-reader .reader-footer-nav .reader-nav-link {
  position: relative;
  z-index: 1;
}

/* Booklist editorial experience */
.booklists-page,.booklist-create-page,.booklist-detail-page{--bl-paper:#f7f4ed;--bl-card:#fffdf9;--bl-ink:#18212b;--bl-muted:#687078;--bl-line:#e5dfd3;--bl-blue:#2f628f;--bl-blue-deep:#214b70;--bl-gold:#b98235;background:var(--bl-paper)}
[data-theme="dark"] .booklists-page,[data-theme="dark"] .booklist-create-page,[data-theme="dark"] .booklist-detail-page{--bl-paper:#15191c;--bl-card:#1c2226;--bl-ink:#edf0f2;--bl-muted:#a7b0b7;--bl-line:#323a40;--bl-blue:#78a8cf;--bl-blue-deep:#9bc4e4;--bl-gold:#d9ad6b}
.booklists-page .main,.booklist-create-page .main,.booklist-detail-page .main{color:var(--bl-ink)}
.booklists-page .booklist-hero{position:relative;align-items:center;min-height:390px;margin:28px 0 54px;padding:58px 64px;overflow:hidden;border:1px solid var(--bl-line);border-radius:28px;background:linear-gradient(125deg,var(--bl-card) 0%,var(--bl-card) 58%,rgba(47,98,143,.09) 100%);box-shadow:0 22px 60px rgba(45,42,35,.08)}
.booklists-page .booklist-hero:before{content:"";position:absolute;right:-120px;bottom:-180px;width:430px;height:430px;border:1px solid rgba(47,98,143,.12);border-radius:50%}
.booklist-hero__copy{position:relative;z-index:2;max-width:650px}.booklist-eyebrow{color:var(--bl-gold);font-size:11px;letter-spacing:.18em}
.booklists-page .booklist-hero h1{margin:14px 0 18px;color:var(--bl-ink);font:700 46px/1.22 Georgia,"Noto Serif TC","Microsoft JhengHei",serif;letter-spacing:.02em}
.booklists-page .booklist-hero p{max-width:570px;color:var(--bl-muted);font-size:16px;line-height:1.9}
.booklist-hero__actions{display:flex;align-items:center;gap:24px;margin-top:30px}.booklist-create-link{min-height:48px;padding:0 25px;border-radius:8px;background:var(--bl-blue);box-shadow:none}.booklist-create-link:hover{background:var(--bl-blue-deep);color:#fff}.booklist-hero__browse{color:var(--bl-blue-deep);font-weight:700}
.booklist-hero__visual{position:relative;flex:0 0 310px;height:250px}.booklist-hero__book{position:absolute;display:block;width:112px;height:166px;border-radius:5px 12px 12px 5px;box-shadow:0 18px 35px rgba(29,37,44,.2)}.booklist-hero__book:after{content:"";position:absolute;left:10px;top:0;bottom:0;width:1px;background:rgba(255,255,255,.35)}.booklist-hero__book.is-one{left:18px;top:36px;transform:rotate(-10deg);background:linear-gradient(145deg,#d6af70,#875d2f)}.booklist-hero__book.is-two{left:98px;top:8px;z-index:2;transform:rotate(2deg);background:linear-gradient(145deg,#527da1,#254968)}.booklist-hero__book.is-three{left:184px;top:40px;transform:rotate(11deg);background:linear-gradient(145deg,#9b6f65,#573d38)}.booklist-hero__visual>div{position:absolute;right:14px;bottom:4px;z-index:3;display:grid;padding:13px 16px;border:1px solid var(--bl-line);border-radius:8px;background:var(--bl-card);box-shadow:0 10px 25px rgba(29,37,44,.12)}.booklist-hero__visual b{font-family:Georgia,"Noto Serif TC",serif}.booklist-hero__visual small{margin-top:3px;color:var(--bl-muted)}
.booklist-content{scroll-margin-top:20px;margin-bottom:50px}.booklist-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--bl-line)}.booklist-section-head>div>span{color:var(--bl-gold);font-size:10px;font-weight:700;letter-spacing:.18em}.booklist-section-head h2{margin:5px 0 0;color:var(--bl-ink);font:700 27px Georgia,"Noto Serif TC",serif}.booklists-page .booklist-tabs{margin:0;padding:4px;border:1px solid var(--bl-line);border-radius:10px;background:var(--bl-card)}.booklists-page .booklist-tabs a{min-width:72px;padding:8px 15px;border:0;border-radius:7px;text-align:center}.booklists-page .booklist-tabs a.is-active{border:0;background:var(--bl-blue);color:#fff;box-shadow:none}
.booklists-page .booklist-grid{gap:22px}.booklists-page .booklist-card{display:grid;grid-template-columns:220px 1fr;min-height:250px;border-color:var(--bl-line);border-radius:16px;background:var(--bl-card);box-shadow:0 12px 32px rgba(43,40,34,.055);transition:transform .2s ease,box-shadow .2s ease}.booklists-page .booklist-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(43,40,34,.1)}.booklists-page .booklist-card__covers{position:relative;grid-template-columns:repeat(2,1fr);gap:5px;height:auto;padding:15px;background:#e9e4da}.booklists-page .booklist-card__covers img,.booklists-page .booklist-card__covers span{border-radius:4px}.booklist-card__covers em{position:absolute;right:12px;bottom:12px;padding:5px 9px;border-radius:999px;background:rgba(24,33,43,.82);color:#fff;font-size:11px;font-style:normal}.booklists-page .booklist-card__body{display:flex;flex-direction:column;padding:27px 25px}.booklists-page .booklist-card h2{margin:9px 0 10px;font:700 21px/1.4 Georgia,"Noto Serif TC",serif}.booklists-page .booklist-card__body>p{min-height:0;margin-bottom:18px;line-height:1.75}.booklists-page .booklist-card__meta{align-items:center;margin-top:auto;padding-top:14px;border-top:1px solid var(--bl-line)}.booklists-page .booklist-card__meta a{margin-left:auto;color:var(--bl-blue-deep);font-weight:700}.booklists-page .booklist-card__meta a b{margin-left:4px}.booklist-featured{color:var(--bl-gold)}
.booklists-page .booklist-empty{grid-template-columns:auto 1fr;place-items:center start;gap:34px;min-height:270px;padding:44px 8%;border:1px solid var(--bl-line);border-radius:18px;background:var(--bl-card);color:var(--bl-muted);box-shadow:0 12px 32px rgba(43,40,34,.04)}.booklist-empty__mark{position:relative;width:120px;height:150px;border-radius:6px 14px 14px 6px;background:linear-gradient(145deg,var(--bl-blue),var(--bl-blue-deep));box-shadow:12px 15px 0 rgba(185,130,53,.14),0 18px 30px rgba(33,75,112,.18)}.booklist-empty__mark span{position:absolute;left:0;right:0;top:38px;color:#fff;font:700 38px Georgia,"Noto Serif TC",serif;text-align:center}.booklist-empty__mark i{position:absolute;left:25px;right:25px;bottom:38px;height:1px;background:rgba(255,255,255,.55)}.booklist-empty__mark i:last-child{bottom:30px;right:42px}.booklist-empty strong{color:var(--bl-ink);font:700 24px Georgia,"Noto Serif TC",serif}.booklist-empty p{max-width:620px;margin:12px 0 20px;line-height:1.8}.booklist-empty a{display:inline-flex;padding:10px 17px;border:1px solid var(--bl-blue);border-radius:7px;color:var(--bl-blue-deep);font-weight:700}
.booklist-create-page .booklist-editor{max-width:1040px;margin:32px auto 55px;padding:0;border:1px solid var(--bl-line);border-radius:22px;background:var(--bl-card);overflow:hidden;box-shadow:0 22px 55px rgba(43,40,34,.07)}.booklist-create-page .booklist-editor>header{padding:38px 46px 30px;background:linear-gradient(125deg,var(--bl-card),rgba(47,98,143,.08))}.booklist-editor__back{display:inline-block;margin-bottom:24px;color:var(--bl-muted);font-size:13px}.booklist-create-page .booklist-editor h1{margin:10px 0 9px;color:var(--bl-ink);font:700 35px Georgia,"Noto Serif TC",serif}.booklist-create-page .booklist-editor header p{color:var(--bl-muted)}.booklist-editor__steps{display:grid;grid-template-columns:repeat(3,1fr);padding:17px 46px;border-top:1px solid var(--bl-line);border-bottom:1px solid var(--bl-line);background:var(--bl-paper)}.booklist-editor__steps span{display:flex;align-items:center;gap:9px;color:var(--bl-muted);font-size:13px}.booklist-editor__steps b{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--bl-line);border-radius:50%;font-size:11px}.booklist-editor__steps .is-current{color:var(--bl-blue-deep);font-weight:700}.booklist-editor__steps .is-current b{border-color:var(--bl-blue);background:var(--bl-blue);color:#fff}.booklist-editor__section{padding:34px 46px}.booklist-editor__section+.booklist-editor__section{margin:0;border-top:1px solid var(--bl-line)}.booklist-editor__section-title{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}.booklist-editor__section-title>span{color:var(--bl-gold);font:700 18px Georgia,serif}.booklist-editor__section-title h2{margin:0;color:var(--bl-ink);font:700 22px Georgia,"Noto Serif TC",serif}.booklist-editor__section-title p{margin:5px 0 0;color:var(--bl-muted);font-size:13px}.booklist-editor__section-title>strong{margin-left:auto;padding:5px 10px;border-radius:999px;background:var(--bl-paper);color:var(--bl-blue-deep);font-size:12px}.booklist-create-page .booklist-editor__fields{margin:0}.booklist-create-page .booklist-editor label{color:var(--bl-ink);font-size:14px}.booklist-create-page .booklist-editor input,.booklist-create-page .booklist-editor textarea{border-color:var(--bl-line);border-radius:8px;background:var(--bl-paper)}.booklist-create-page .booklist-editor input:focus,.booklist-create-page .booklist-editor textarea:focus{outline:2px solid rgba(47,98,143,.16);border-color:var(--bl-blue)}.booklist-create-page .booklist-picker__search button{min-width:112px;background:var(--bl-blue)}.booklist-editor__submit{display:flex;align-items:center;justify-content:flex-end;gap:22px;padding:23px 46px;border-top:1px solid var(--bl-line);background:var(--bl-paper)}.booklist-editor__submit .booklist-submit-status{margin:0}.booklist-create-page .booklist-submit{min-width:176px;border-radius:8px;background:var(--bl-blue);box-shadow:none}.booklist-success-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:1px solid var(--bl-blue);border-radius:8px;color:var(--bl-blue-deep);font-weight:700}.booklist-success-link[hidden]{display:none}
.booklist-detail-page .booklist-detail__header,.booklist-detail-page .booklist-book{border-color:var(--bl-line);background:var(--bl-card)}.booklist-detail-page .booklist-detail__header{border-radius:20px}.booklist-detail-page .booklist-detail h1{color:var(--bl-ink);font-family:Georgia,"Noto Serif TC",serif}.booklist-detail-page .booklist-book{border-radius:14px;box-shadow:0 8px 24px rgba(43,40,34,.04)}
@media(max-width:900px){.booklists-page .booklist-hero{padding:44px 38px}.booklist-hero__visual{flex-basis:250px;transform:scale(.85)}.booklists-page .booklist-grid{grid-template-columns:1fr}}
@media(max-width:700px){.booklists-page .booklist-hero:before{display:none}}
@media(max-width:700px){.booklists-page .booklist-hero{min-height:0;margin:14px 0 30px;padding:30px 22px;border-radius:18px}.booklists-page .booklist-hero h1{font-size:32px}.booklists-page .booklist-hero p{font-size:14px;line-height:1.75}.booklist-hero__visual{display:none}.booklist-hero__actions{align-items:stretch;flex-direction:column;gap:14px;margin-top:22px}.booklist-hero__browse{text-align:center}.booklist-section-head{align-items:flex-start;flex-direction:column}.booklists-page .booklist-tabs{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.booklists-page .booklist-tabs a{min-width:0;padding:8px}.booklists-page .booklist-card{grid-template-columns:132px 1fr;min-height:200px}.booklists-page .booklist-card__covers{padding:9px}.booklists-page .booklist-card__body{padding:18px 15px}.booklists-page .booklist-card h2{font-size:18px}.booklists-page .booklist-card__meta{gap:5px 10px}.booklists-page .booklist-card__meta a{width:100%;margin:6px 0 0}.booklists-page .booklist-empty{grid-template-columns:1fr;gap:28px;padding:38px 24px;text-align:center}.booklist-empty__mark{width:88px;height:112px;justify-self:center}.booklist-empty__mark span{top:28px;font-size:29px}.booklist-empty__mark i{bottom:27px}.booklist-empty__mark i:last-child{bottom:21px}.booklist-create-page .booklist-editor{margin:14px 0 32px;border-radius:16px}.booklist-create-page .booklist-editor>header,.booklist-editor__section{padding:26px 20px}.booklist-create-page .booklist-editor h1{font-size:28px}.booklist-editor__steps{padding:13px 16px}.booklist-editor__steps span{justify-content:center;font-size:0}.booklist-editor__steps b{font-size:11px}.booklist-editor__section-title p{line-height:1.55}.booklist-editor__submit{align-items:stretch;flex-direction:column;padding:20px}.booklist-create-page .booklist-submit{width:100%}}

/* Booklist detail cards */
.booklist-detail-page .booklist-detail{max-width:1120px;margin:30px auto 60px}.booklist-detail__back{display:inline-flex;margin:0 0 18px;color:var(--bl-muted);font-size:13px}.booklist-detail-page .booklist-detail__header{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:44px;padding:42px 46px;background:linear-gradient(125deg,var(--bl-card),rgba(47,98,143,.07))}.booklist-detail-page .booklist-detail h1{margin:11px 0 14px;font-size:38px;line-height:1.3}.booklist-detail-page .booklist-detail__byline{gap:10px 20px;color:var(--bl-muted);font-size:13px}.booklist-detail-page .booklist-detail__intro{align-self:center;margin:0;padding:2px 0 2px 28px;border-left:1px solid var(--bl-line);color:var(--bl-muted);font-size:14px;line-height:1.8}.booklist-detail__intro>span{color:var(--bl-gold);font-size:11px;font-weight:700;letter-spacing:.12em}.booklist-detail__intro p{margin:8px 0 0}.booklist-detail__section-head{margin:38px 0 18px;padding-bottom:14px;border-bottom:1px solid var(--bl-line)}.booklist-detail__section-head span{color:var(--bl-gold);font-size:10px;font-weight:700;letter-spacing:.18em}.booklist-detail__section-head h2{margin:4px 0 0;color:var(--bl-ink);font:700 25px Georgia,"Noto Serif TC",serif}
.booklist-detail-page .booklist-books{gap:20px;margin:0}.booklist-detail-page .booklist-book{display:block;padding:0;overflow:hidden}.booklist-detail-page .booklist-book__number{position:absolute;right:22px;top:14px;z-index:2;color:rgba(47,98,143,.12);font:700 54px/1 Georgia,serif}.booklist-book__main{display:grid;grid-template-columns:142px minmax(0,1fr);gap:26px;padding:25px 28px 23px}.booklist-detail-page .booklist-book__cover img{width:142px;height:198px;border-radius:7px;box-shadow:0 12px 24px rgba(24,33,43,.14)}.booklist-detail-page .booklist-book__content{position:relative;display:flex;align-items:flex-start;flex-direction:column;min-width:0;padding:3px 70px 0 0}.booklist-book__label{color:var(--bl-gold);font-size:10px;font-weight:700;letter-spacing:.14em}.booklist-detail-page .booklist-book__content h2{margin:7px 0 8px;font:700 24px/1.35 Georgia,"Noto Serif TC",serif}.booklist-detail-page .booklist-book__meta{display:flex;flex-wrap:wrap;gap:7px}.booklist-detail-page .booklist-book__meta span{padding:4px 9px;border-radius:999px;background:var(--bl-paper);color:var(--bl-muted);font-size:12px}.booklist-book__intro{margin-top:17px}.booklist-book__intro b{display:block;margin-bottom:6px;color:var(--bl-ink);font-size:12px}.booklist-book__intro p{display:-webkit-box;overflow:hidden;margin:0;color:var(--bl-muted);font-size:14px;line-height:1.8;-webkit-box-orient:vertical;-webkit-line-clamp:3}.booklist-detail-page .booklist-book__read{margin-top:auto;padding:8px 0 2px;border:0;color:var(--bl-blue-deep);font-size:13px}.booklist-book__read b{margin-left:5px}.booklist-book__reason{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:20px 28px;border-top:1px solid var(--bl-line);background:var(--bl-paper)}.booklist-book__reason span{padding-top:2px;color:var(--bl-gold);font-size:12px;font-weight:700;letter-spacing:.08em}.booklist-book__reason p{margin:0;color:var(--bl-ink);font-size:14px;line-height:1.9}
@media(max-width:700px){.booklist-detail-page .booklist-detail{margin:15px 0 35px}.booklist-detail-page .booklist-detail__header{grid-template-columns:1fr;gap:22px;padding:27px 21px}.booklist-detail-page .booklist-detail h1{font-size:29px}.booklist-detail-page .booklist-detail__intro{padding:18px 0 0;border-top:1px solid var(--bl-line);border-left:0}.booklist-detail__section-head{margin-top:30px}.booklist-book__main{grid-template-columns:94px minmax(0,1fr);gap:14px;padding:16px}.booklist-detail-page .booklist-book__cover img{width:94px;height:132px}.booklist-detail-page .booklist-book__number{right:12px;top:10px;font-size:38px}.booklist-detail-page .booklist-book__content{padding-right:32px}.booklist-detail-page .booklist-book__content h2{margin-top:5px;font-size:19px}.booklist-detail-page .booklist-book__meta{gap:5px}.booklist-detail-page .booklist-book__meta span{padding:3px 7px;font-size:11px}.booklist-book__intro{grid-column:1/-1;margin-top:13px}.booklist-book__intro p{-webkit-line-clamp:3}.booklist-detail-page .booklist-book__read{margin-top:12px}.booklist-book__reason{grid-template-columns:1fr;gap:7px;padding:17px 16px}.booklist-book__reason p{font-size:14px}}
.booklist-detail-page .booklist-book__reason{position:relative;display:block;padding:24px 34px 25px 58px;border-top:1px solid var(--bl-line);background:linear-gradient(110deg,rgba(185,130,53,.09),var(--bl-paper) 72%)}.booklist-detail-page .booklist-book__reason:before{content:"“";position:absolute;left:25px;top:13px;color:rgba(185,130,53,.48);font:700 42px/1 Georgia,serif}.booklist-detail-page .booklist-book__reason:after{content:"";position:absolute;left:34px;top:25px;bottom:24px;width:1px;background:rgba(185,130,53,.28)}.booklist-detail-page .booklist-book__reason p{margin:0;color:var(--bl-ink);font:500 15px/1.95 Georgia,"Noto Serif TC","Microsoft JhengHei",serif;letter-spacing:.015em}
.booklist-breadcrumb{display:flex;align-items:center;gap:8px;min-width:0;margin:18px 3px 0;color:var(--bl-muted);font-size:13px;line-height:1.5}.booklist-breadcrumb a{flex:0 0 auto;color:var(--bl-blue-deep);transition:color .18s ease}.booklist-breadcrumb a:hover{color:var(--bl-blue)}.booklist-breadcrumb>span[aria-hidden="true"]{flex:0 0 auto;color:var(--bl-line)}.booklist-breadcrumb>span[aria-current="page"]{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media(max-width:700px){.booklist-breadcrumb{gap:6px;margin:12px 2px 0;font-size:12px}}
.booklist-detail__toolbar{display:flex;align-items:center;min-height:38px;margin:0 0 18px}.booklist-detail-page .booklist-detail__toolbar .booklist-detail__back{margin:0 auto 0 0}.booklist-share{min-height:38px;padding:0 17px;border:1px solid var(--bl-line);border-radius:999px;background:var(--bl-card);color:var(--bl-blue-deep);font-size:13px;font-weight:700;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}.booklist-share:hover{border-color:var(--bl-blue);background:var(--bl-blue);color:#fff}.booklist-share__status{margin-left:10px;color:var(--bl-muted);font-size:12px}.booklist-related{margin-top:46px;padding-top:28px;border-top:1px solid var(--bl-line)}.booklist-related__head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.booklist-related__head h2{margin:0;color:var(--bl-ink);font:700 25px Georgia,"Noto Serif TC",serif}.booklist-related__head>a{color:var(--bl-blue-deep);font-size:13px;font-weight:700}.booklist-related__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.booklist-related__card{display:flex;flex-direction:column;min-width:0;min-height:210px;padding:22px;border:1px solid var(--bl-line);border-radius:14px;background:var(--bl-card);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.booklist-related__card:hover{transform:translateY(-2px);border-color:rgba(47,98,143,.32);box-shadow:0 12px 28px rgba(43,40,34,.07)}.booklist-related__card>span{align-self:flex-start;margin-bottom:9px;padding:3px 8px;border-radius:999px;background:rgba(185,130,53,.12);color:var(--bl-gold);font-size:11px;font-weight:700}.booklist-related__card h3{margin:0 0 10px;font-size:18px;line-height:1.45}.booklist-related__card h3 a{color:var(--bl-ink)}.booklist-related__card>p{display:-webkit-box;overflow:hidden;margin:0 0 18px;color:var(--bl-muted);font-size:13px;line-height:1.75;-webkit-box-orient:vertical;-webkit-line-clamp:3}.booklist-related__card>div{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;margin-top:auto;color:var(--bl-muted);font-size:12px}.booklist-related__card em{font-style:normal}.booklist-related__card>div>a{margin-left:auto;color:var(--bl-blue-deep);font-weight:700}@media(max-width:800px){.booklist-related__grid{grid-template-columns:1fr}.booklist-related__card{min-height:0}}@media(max-width:700px){.booklist-detail__toolbar{margin-bottom:13px}.booklist-share{min-height:36px;padding:0 14px}.booklist-share__status{position:absolute;right:18px;margin-top:62px}.booklist-related{margin-top:34px;padding-top:23px}.booklist-related__head h2{font-size:22px}.booklist-related__card{padding:19px}.booklist-related__card>p{-webkit-line-clamp:2}}
@media(max-width:700px){.booklist-detail-page .booklist-book__reason{padding:20px 18px 21px 42px}.booklist-detail-page .booklist-book__reason:before{left:15px;top:12px;font-size:34px}.booklist-detail-page .booklist-book__reason:after{left:27px;top:22px;bottom:20px}.booklist-detail-page .booklist-book__reason p{font-size:14px;line-height:1.85}}
.booklists-page .booklist-content{transition:opacity .16s ease}.booklists-page .booklist-content.is-loading{opacity:.48;pointer-events:none}
.booklists-page .booklist-eyebrow,.booklist-create-page .booklist-eyebrow,.booklist-detail-page .booklist-eyebrow,.booklists-page .booklist-section-head>div>span,.booklist-detail-page .booklist-detail__section-head>span,.booklist-detail-page .booklist-book__label,.booklist-detail-page .booklist-detail__intro>span,.booklist-detail-page .booklist-book__number{display:none}.booklists-page .booklist-hero h1{margin-top:0}.booklists-page .booklist-section-head h2,.booklist-detail-page .booklist-detail__section-head h2{margin-top:0}.booklist-create-page .booklist-editor h1{margin-top:0}.booklist-detail-page .booklist-detail h1{margin-top:0}.booklist-detail-page .booklist-detail__intro p{margin-top:0}.booklist-detail-page .booklist-book__content{padding-right:0}.booklist-detail-page .booklist-book__content h2{margin-top:0}
.booklists-page .booklist-card__covers>span{display:none}.booklists-page .booklist-card__covers:has(>img:nth-of-type(3)):not(:has(>img:nth-of-type(4))){grid-template-columns:1.18fr 1fr;grid-template-rows:1fr 1fr}.booklists-page .booklist-card__covers:has(>img:nth-of-type(3)):not(:has(>img:nth-of-type(4)))>img:first-child{grid-row:1/3}.booklists-page .booklist-card__covers:has(>img:nth-of-type(2)):not(:has(>img:nth-of-type(3))){grid-template-columns:repeat(2,1fr)}.booklists-page .booklist-card__covers:has(>img:first-child):not(:has(>img:nth-of-type(2))){grid-template-columns:1fr}

/* Full comment page editorial palette */
.commentlist-detail-page{--cl-paper:#f7f4ed;--cl-card:#fffdf9;--cl-ink:#18212b;--cl-muted:#687078;--cl-line:#e5dfd3;--cl-blue:#2f628f;--cl-blue-deep:#214b70;background:var(--cl-paper);color:var(--cl-ink)}
[data-theme="dark"] .commentlist-detail-page{--cl-paper:#15191c;--cl-card:#1c2226;--cl-ink:#edf0f2;--cl-muted:#a7b0b7;--cl-line:#323a40;--cl-blue:#78a8cf;--cl-blue-deep:#9bc4e4}
.commentlist-detail-page .commentlist-page{margin:28px 0 50px;padding:32px 36px;border:1px solid var(--cl-line);border-radius:20px;background:var(--cl-card);box-shadow:0 18px 45px rgba(43,40,34,.07)}
.commentlist-detail-page .commentlist-book{gap:18px;margin-bottom:22px;padding-bottom:22px;border-color:var(--cl-line)}
.commentlist-detail-page .commentlist-book__cover{width:88px;height:122px;border-radius:7px;box-shadow:0 10px 22px rgba(24,33,43,.16)}
.commentlist-detail-page .commentlist-book__title{font:700 22px/1.4 Georgia,"Noto Serif TC","Microsoft JhengHei",serif}
.commentlist-detail-page .commentlist-book__title a,.commentlist-detail-page .pt-comment-title,.commentlist-detail-page .pt-comment-item__user,.commentlist-detail-page .pt-comment-item__content{color:var(--cl-ink)}
.commentlist-detail-page .commentlist-book__meta,.commentlist-detail-page .pt-comment-total,.commentlist-detail-page .pt-comment-item__meta,.commentlist-detail-page .pt-comment-count{color:var(--cl-muted)}
.commentlist-detail-page .commentlist-book__btn{border-color:var(--cl-line);border-radius:7px;background:var(--cl-paper);color:var(--cl-blue-deep)}
.commentlist-detail-page .pt-comment-section{border-color:var(--cl-line)}
.commentlist-detail-page .pt-comment-title::before{background:var(--cl-blue)}
.commentlist-detail-page .pt-comment-form{border-color:var(--cl-line);border-radius:14px;background:var(--cl-paper);box-shadow:none}
.commentlist-detail-page .pt-comment-avatar,.commentlist-detail-page .pt-comment-item__avatar{background:var(--cl-blue)}
.commentlist-detail-page .pt-comment-input,.commentlist-detail-page .pt-comment-textarea{border-color:var(--cl-line);background:var(--cl-card);color:var(--cl-ink)}
.commentlist-detail-page .pt-comment-input:focus,.commentlist-detail-page .pt-comment-textarea:focus{border-color:var(--cl-blue);box-shadow:0 0 0 3px rgba(47,98,143,.12)}
.commentlist-detail-page .pt-comment-text-button,.commentlist-detail-page .pt-comment-secondary-button{color:var(--cl-blue-deep)}
.commentlist-detail-page .pt-comment-secondary-button{border-color:var(--cl-line);background:var(--cl-card)}
.commentlist-detail-page .pt-comment-submit{border-radius:8px;background:var(--cl-blue);box-shadow:0 8px 18px rgba(47,98,143,.16)}
.commentlist-detail-page .pt-comment-submit:hover{background:var(--cl-blue-deep)}
.commentlist-detail-page .pt-comment-list-header,.commentlist-detail-page .pt-comment-item,.commentlist-detail-page .pt-comment-reply{border-color:var(--cl-line)}
.commentlist-detail-page .pt-comment-sort{border-color:var(--cl-line);background:var(--cl-paper)}
.commentlist-detail-page .pt-comment-sort a.is-active{background:var(--cl-blue);color:#fff;box-shadow:none}
.commentlist-detail-page .pt-comment-replies{border-color:#c9d4dd}
.commentlist-detail-page .pt-comment-reply__meta strong,.commentlist-detail-page .pt-comment-reply-toggle:hover,.commentlist-detail-page .pt-comment-report-toggle:hover{color:var(--cl-blue-deep)}
.commentlist-detail-page .pt-comment-reply--admin{background:var(--cl-paper)}
.commentlist-detail-page .pt-comment-helpful{border-color:var(--cl-line);background:var(--cl-paper);color:var(--cl-muted)}
.commentlist-detail-page .pt-comment-helpful:hover,.commentlist-detail-page .pt-comment-helpful.is-active{border-color:#9fb2c1;background:#eaf0f4;color:var(--cl-blue-deep)}
.commentlist-detail-page .pt-comment-reply-form,.commentlist-detail-page .pt-comment-report-form{border-color:var(--cl-line);background:var(--cl-paper)}
.commentlist-detail-page .pt-comment-report-form select,.commentlist-detail-page .pt-comment-report-form textarea{border-color:var(--cl-line);background:var(--cl-card);color:var(--cl-ink)}
[data-theme="dark"] .commentlist-detail-page .pt-comment-sort a.is-active{background:#436d8f;color:#fff}
[data-theme="dark"] .commentlist-detail-page .pt-comment-helpful:hover,[data-theme="dark"] .commentlist-detail-page .pt-comment-helpful.is-active{border-color:#55738b;background:#263540;color:#b9d5ea}
[data-theme="dark"] .commentlist-detail-page .pt-comment-replies{border-color:#40515d}
.commentlist-breadcrumb{display:flex;align-items:center;gap:8px;min-width:0;margin:18px 3px 0;color:var(--cl-muted);font-size:13px;line-height:1.5}.commentlist-breadcrumb a{flex:0 0 auto;color:var(--cl-blue-deep);transition:color .18s ease}.commentlist-breadcrumb a:hover{color:var(--cl-blue)}.commentlist-breadcrumb>span[aria-hidden="true"]{flex:0 0 auto;color:var(--cl-line)}.commentlist-breadcrumb>span[aria-current="page"]{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.commentlist-detail-page #comment-list{scroll-margin-top:86px}.commentlist-detail-page .commentlist-pagination>span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:34px;padding:0 12px;border:1px solid transparent;border-radius:999px;color:var(--cl-muted);font-size:14px;font-weight:650;line-height:1}.commentlist-detail-page .commentlist-pagination>span[aria-disabled="true"]{opacity:.55}
@media(max-width:768px){.commentlist-breadcrumb{gap:6px;margin:12px 2px 0;font-size:12px}.commentlist-detail-page .commentlist-page{margin:0 0 32px;padding:20px 0 0;border:0;border-radius:0;background:transparent;box-shadow:none}.commentlist-detail-page .commentlist-book{gap:13px;margin-bottom:0;padding-bottom:18px;border-bottom:0}.commentlist-detail-page .pt-comment-section{margin-top:0;padding-top:22px;border-top:1px solid var(--cl-line)}.commentlist-detail-page .commentlist-book__cover{width:72px;height:100px}.commentlist-detail-page .commentlist-book__title{font-size:18px}.commentlist-detail-page .pt-comment-form{padding:0;border:0;background:transparent}.commentlist-detail-page .pt-comment-submit{border-radius:8px}.commentlist-detail-page .commentlist-pagination>span{min-width:34px;height:32px;padding:0 10px;font-size:13px}}

/* Homepage editorial discovery */
.page-home .home-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.page-home .home-section-heading__link{flex:0 0 auto;color:#315e8c;font-size:13px;font-weight:700}.home-editorial__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.home-editorial-card{display:flex;min-width:0;overflow:hidden;border:1px solid var(--color-border-subtle);border-radius:13px;background:var(--color-bg-elevated);color:var(--color-text);transition:transform .18s ease,box-shadow .18s ease}.home-editorial-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(42,39,33,.09)}.home-editorial-card__covers{display:grid;grid-template-columns:repeat(2,1fr);flex:0 0 108px;gap:2px;padding:8px;background:#e9e4da}.home-editorial-card__covers img{width:100%;height:70px;border-radius:3px;object-fit:cover}.home-editorial-card__body{display:flex;min-width:0;flex-direction:column;padding:16px 14px}.home-editorial-card__body strong{display:-webkit-box;overflow:hidden;font:700 17px/1.45 Georgia,"Noto Serif TC","Microsoft JhengHei",serif;-webkit-box-orient:vertical;-webkit-line-clamp:2}.home-editorial-card__body>span{display:-webkit-box;overflow:hidden;margin-top:8px;color:var(--color-text-soft);font-size:12px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:5}.home-editorial-card__body small{margin-top:auto;padding-top:10px;color:#8b6b3f;font-size:11px}.home-voices__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 24px}.home-voice{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:20px 0;border-bottom:1px solid var(--color-border-subtle)}.home-voice:nth-last-child(-n+2){border-bottom:0}.home-voice__avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#496b8b;color:#fff;font-weight:700}.home-voice__body{min-width:0}.home-voice__meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 9px;color:var(--color-text-soft);font-size:12px}.home-voice__meta strong{color:var(--color-text);font-size:14px}.home-voice__meta a{color:#315e8c}.home-voice__meta time{margin-left:auto}.home-voice p{display:-webkit-box;overflow:hidden;margin:9px 0 7px;color:var(--color-text);font-size:14px;line-height:1.75;-webkit-box-orient:vertical;-webkit-line-clamp:3}.home-voice__link{color:#315e8c;font-size:12px;font-weight:700}
[data-theme="dark"] .home-editorial-card__covers{background:#252b2f}[data-theme="dark"] .page-home .home-section-heading__link,[data-theme="dark"] .home-voice__meta a,[data-theme="dark"] .home-voice__link{color:#86afd1}[data-theme="dark"] .home-editorial-card__body small{color:#d1a96e}
@media(max-width:1100px){.home-editorial__grid{grid-template-columns:1fr}.home-editorial-card__covers{flex-basis:128px}.home-editorial-card__covers img{height:76px}}
@media(max-width:700px){.page-home .home-section-heading{align-items:flex-start;flex-direction:column;gap:9px}.home-editorial-card__covers{flex-basis:112px}.home-editorial-card__covers img{height:68px}.home-editorial-card__body{padding:13px 12px}.home-editorial-card__body strong{font-size:16px}.home-editorial-card__body>span{-webkit-line-clamp:4}.home-voices__list{grid-template-columns:1fr}.home-voice{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:17px 0}.home-voice:nth-last-child(2){border-bottom:1px solid var(--color-border-subtle)}.home-voice__avatar{width:36px;height:36px}.home-voice__meta time{width:100%;margin-left:0}.home-voice p{font-size:13px;-webkit-line-clamp:4}}

/* Homepage publishing-style layout */
.page-home{--home-paper:#f5f2eb;--home-card:#fffdfa;--home-ink:#17212b;--home-muted:#6f7479;--home-line:#e3ddd2;--home-blue:#2f628f;--home-blue-deep:#214b70;--home-gold:#b7833f;background:var(--home-paper)}
[data-theme="dark"] .page-home{--home-paper:#15191c;--home-card:#1c2226;--home-ink:#edf0f2;--home-muted:#a8b0b6;--home-line:#323a40;--home-blue:#78a8cf;--home-blue-deep:#a8cee9;--home-gold:#d5aa6c}
.page-home .home-main{padding:28px 0 55px;color:var(--home-ink)}
.home-showcase{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.7fr);gap:22px;margin-bottom:18px}
.home-showcase__lead{position:relative;display:grid;grid-template-columns:220px minmax(0,1fr);gap:34px;min-height:360px;padding:34px;overflow:hidden;border:1px solid var(--home-line);border-radius:22px;background:linear-gradient(125deg,var(--home-card) 0%,var(--home-card) 65%,rgba(47,98,143,.1) 100%);box-shadow:0 18px 45px rgba(45,42,35,.07)}
.home-showcase__lead:after{content:"";position:absolute;right:-110px;bottom:-180px;width:360px;height:360px;border:1px solid rgba(47,98,143,.12);border-radius:50%}
.home-showcase__cover{position:relative;z-index:1;align-self:start}.home-showcase__cover img{display:block;width:220px;height:300px;border-radius:7px 13px 13px 7px;object-fit:cover;box-shadow:0 18px 36px rgba(26,33,40,.2)}
.home-showcase__copy{position:relative;z-index:1;display:flex;align-self:start;flex-direction:column;min-width:0;height:300px;overflow:hidden}.home-showcase__eyebrow{color:var(--home-gold);font-size:12px;font-weight:700;letter-spacing:.12em}.home-showcase__title{margin:0 0 11px;font:700 35px/1.28 Georgia,"Noto Serif TC","Microsoft JhengHei",serif}.home-showcase__title a{color:var(--home-ink)}
.home-showcase__byline{display:flex;flex-wrap:wrap;gap:7px 14px;margin:0;color:var(--home-muted);font-size:13px}.home-showcase__byline a{color:var(--home-blue-deep);font-weight:700}.home-showcase__intro{display:block;min-height:0;flex:1 1 auto;overflow:hidden;margin:22px 0 25px;color:var(--home-muted);font-size:15px;line-height:1.9}
.home-showcase__actions{display:flex;gap:12px;margin-top:auto}.home-showcase__actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:8px;font-size:14px;font-weight:700}.home-showcase__read{background:var(--home-blue);color:#fff}.home-showcase__latest{border:1px solid var(--home-line);background:var(--home-card);color:var(--home-blue-deep)}
.home-showcase__aside{padding:25px 22px;border:1px solid var(--home-line);border-radius:22px;background:var(--home-card);box-shadow:0 18px 45px rgba(45,42,35,.05)}.home-showcase__aside-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px;padding-bottom:13px;border-bottom:1px solid var(--home-line)}.home-showcase__aside-head strong{font:700 19px Georgia,"Noto Serif TC",serif}.home-showcase__aside-head span{color:var(--home-muted);font-size:11px}
.home-showcase-mini{display:grid;grid-template-columns:67px minmax(0,1fr);gap:13px;align-items:start;padding:12px 0;border-bottom:1px solid var(--home-line)}.home-showcase-mini:last-child{border-bottom:0}.home-showcase-mini img{width:67px;height:92px;border-radius:5px;object-fit:cover}.home-showcase-mini>span{display:flex;min-width:0;min-height:92px;flex-direction:column}.home-showcase-mini strong{display:-webkit-box;overflow:hidden;color:var(--home-ink);font-size:15px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.home-showcase-mini small{display:block;overflow:hidden;margin-top:6px;color:var(--home-muted);font-size:11px;line-height:1.4;white-space:nowrap;text-overflow:ellipsis}.home-showcase-mini small.home-showcase-mini__meta{margin-top:auto}
.home-category-rail{display:grid;grid-template-columns:repeat(6,1fr);width:calc(100% - 32px);max-width:1088px;margin:0 auto 26px;padding:7px;border:1px solid var(--home-line);border-radius:14px;background:var(--home-card)}.home-category-rail a{display:grid;gap:3px;padding:13px 16px;border-right:1px solid var(--home-line);color:var(--home-ink)}.home-category-rail a:last-child{border-right:0}.home-category-rail strong{font-size:14px}.home-category-rail span{color:var(--home-muted);font-size:11px}
.home-flow{display:grid;gap:24px}.home-panel{padding:28px 30px;border:1px solid var(--home-line);border-radius:18px;background:var(--home-card);box-shadow:0 12px 32px rgba(43,40,34,.045)}.home-panel__header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:21px;padding-bottom:15px;border-bottom:1px solid var(--home-line)}.home-panel__header h2{margin:0;color:var(--home-ink);font:700 23px/1.3 Georgia,"Noto Serif TC","Microsoft JhengHei",serif}.home-panel__header h2:before{display:none}.home-panel__header p{margin:5px 0 0;color:var(--home-muted);font-size:12px}.home-panel__empty{margin:0;padding:38px 0;color:var(--home-muted);text-align:center}
.page-home .home-editorial__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.page-home .home-editorial-card{border-color:var(--home-line);border-radius:11px;background:var(--home-paper);box-shadow:none}.page-home .home-editorial-card__covers{flex-basis:125px;padding:7px;background:#e7e1d6}.page-home .home-editorial-card__covers img{height:76px}.page-home .home-editorial-card__body strong{color:var(--home-ink)}.page-home .home-editorial-card__body>span{color:var(--home-muted)}
.page-home .card-grid--featured{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.page-home .book-card--featured{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;min-width:0;padding:0;border:0;background:transparent}.page-home .book-card--featured .book-card__cover{width:112px;height:156px;border-radius:6px;object-fit:cover;box-shadow:0 10px 22px rgba(26,33,40,.14)}.page-home .book-card--featured .book-card__info{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-width:0;height:156px;overflow:hidden}.page-home .book-card--featured .book-card__title{display:-webkit-box;overflow:hidden;font-size:16px;line-height:22px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.page-home .book-card--featured .book-card__meta{margin-top:4px;line-height:18px}.page-home .book-card--featured .book-card__desc{display:block;min-height:0;max-height:none;margin:6px 0 0;overflow:hidden;font-size:13px;line-height:22px}.page-home .book-card--featured .book-card__footer{align-self:end;line-height:18px}
.home-ranking__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.home-ranking-column{padding:0 24px;border-right:1px solid var(--home-line)}.home-ranking-column:first-child{padding-left:0}.home-ranking-column:last-child{padding-right:0;border-right:0}.home-ranking-column h3{margin:0 0 12px;color:var(--home-blue-deep);font-size:15px}.home-ranking-column ol{margin:0;padding:0;list-style:none}.home-ranking-column li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:38px;border-bottom:1px solid var(--home-line);font-size:13px}.home-ranking-column li:last-child{border-bottom:0}.home-ranking-column li>a{overflow-wrap:anywhere;color:var(--home-ink);white-space:normal}.home-ranking-column li small{max-width:70px;overflow:hidden;color:var(--home-muted);white-space:nowrap;text-overflow:ellipsis}.home-ranking__index{color:var(--home-muted);font:700 12px Georgia,serif}.home-ranking__index.is-top{color:var(--home-gold);font-size:16px}
.home-dual-shelves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.home-compact-books{margin:0;padding:0;list-style:none}.home-compact-books li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;align-items:center;min-height:48px;border-bottom:1px solid var(--home-line)}.home-compact-books li:last-child{border-bottom:0}.home-compact-books li>a{display:grid;min-width:0;gap:3px}.home-compact-books strong{overflow:hidden;color:var(--home-ink);font-size:14px;white-space:nowrap;text-overflow:ellipsis}.home-compact-books span,.home-compact-books time{color:var(--home-muted);font-size:11px;white-space:nowrap}
.home-community-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:24px;align-items:stretch}.home-community-grid>.home-panel{min-width:0;height:100%}.page-home .forum-feed__item{gap:16px;padding:11px 0}.page-home .forum-feed__title{font-size:14px}.page-home .forum-feed__excerpt{font-size:12px}.page-home .home-voices__list{grid-template-columns:1fr}.page-home .home-voice{grid-template-columns:36px minmax(0,1fr);padding:15px 0}.page-home .home-voice__avatar{width:36px;height:36px}.page-home .home-voice:nth-last-child(2){border-bottom:1px solid var(--home-line)}
.page-home .card-block--links{border-color:var(--home-line);background:var(--home-card)}
@media(max-width:1100px){.home-showcase{grid-template-columns:1fr}.home-showcase__aside{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.home-showcase__aside-head{grid-column:1/-1;margin:0}.home-showcase-mini{border:0}.home-category-rail{grid-template-columns:repeat(3,1fr)}.home-category-rail a:nth-child(3){border-right:0}.home-category-rail a:nth-child(-n+3){border-bottom:1px solid var(--home-line)}.page-home .card-grid--featured{grid-template-columns:repeat(2,minmax(0,1fr))}.home-community-grid{grid-template-columns:1fr}}
@media(max-width:700px){.page-home .home-main{padding-top:14px}.home-showcase{gap:12px;margin-bottom:12px}.home-showcase__lead{grid-template-columns:105px minmax(0,1fr);gap:16px;min-height:0;padding:18px 15px;border-radius:15px}.home-showcase__cover img{width:105px;height:145px}.home-showcase__title{display:-webkit-box;overflow:hidden;margin:6px 0 8px;font-size:22px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.home-showcase__eyebrow{font-size:10px}.home-showcase__intro{grid-column:1/-1;margin:14px 0 0;font-size:13px;line-height:1.75}.home-showcase__actions{grid-column:1/-1}.home-showcase__actions a{flex:1;min-height:40px;padding:0 8px}.home-showcase__aside{display:none}.home-category-rail{grid-template-columns:repeat(3,1fr);margin-bottom:14px;padding:2px;border-radius:10px}.home-category-rail a{padding:10px 7px;text-align:center}.home-category-rail a:nth-child(3n){border-right:0}.home-category-rail a:nth-child(-n+3){border-bottom:1px solid var(--home-line)}.home-category-rail strong{font-size:12px}.home-category-rail span{font-size:10px}.home-flow{gap:10px}.home-panel{padding:18px 14px;border-radius:10px;box-shadow:none}.home-panel__header{align-items:flex-start;margin-bottom:12px;padding-bottom:10px}.home-panel__header h2{font-size:19px}.home-panel__header p{display:none}.page-home .home-section-heading{gap:6px}.page-home .home-section-heading__link{font-size:12px}.page-home .home-editorial__grid{grid-template-columns:1fr;gap:0}.page-home .home-editorial-card{border:0;border-bottom:1px solid var(--home-line);border-radius:0;background:transparent}.page-home .home-editorial-card:last-child{border-bottom:0}.page-home .home-editorial-card__covers{flex-basis:102px;margin:11px 0;padding:5px;border-radius:7px}.page-home .home-editorial-card__covers img{height:62px}.page-home .home-editorial-card__body{padding:12px 10px}.page-home .card-grid--featured{grid-template-columns:1fr;gap:0}.page-home .book-card--featured{grid-template-columns:88px minmax(0,1fr);gap:13px;padding:14px 0;border-bottom:1px solid var(--home-line)}.page-home .book-card--featured:first-child{padding-top:0}.page-home .book-card--featured:last-child{padding-bottom:0;border-bottom:0}.page-home .book-card--featured .book-card__cover{width:88px;height:122px;box-shadow:0 7px 16px rgba(26,33,40,.12)}.page-home .book-card--featured .book-card__info{height:122px}.page-home .book-card--featured .book-card__title{font-size:15px;line-height:19px}.page-home .book-card--featured .book-card__meta{margin-top:4px;font-size:12px;line-height:18px}.page-home .book-card--featured .book-card__desc{display:block;margin-top:6px;font-size:12px;line-height:19px}.page-home .book-card--featured .book-card__footer{gap:7px;font-size:11px;line-height:18px}.home-ranking__grid{display:block}.home-ranking-column{padding:15px 0;border-right:0;border-bottom:1px solid var(--home-line)}.home-ranking-column:first-child{padding-top:0}.home-ranking-column:last-child{padding-bottom:0;border-bottom:0}.home-dual-shelves{grid-template-columns:1fr;gap:10px}.home-community-grid{grid-template-columns:1fr;gap:10px}.home-community-grid>.home-panel{height:auto}.page-home .forum-feed__item{display:block;padding:12px 0}.page-home .forum-feed__title{display:-webkit-box;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.page-home .forum-feed__excerpt{display:none}.page-home .forum-feed__meta{justify-content:flex-start;margin-top:5px}.page-home .home-voice{padding:14px 0}.page-home .home-voice__meta time{width:auto;margin-left:auto}.page-home .card-block--links{border-radius:10px;box-shadow:none}}
@media(max-width:700px){.page-home .home-section-heading{align-items:center;flex-direction:row;justify-content:space-between;gap:10px}}
@media(max-width:700px){.page-home .home-category-rail{width:100%;max-width:none;margin-bottom:0;border-right:0;border-left:0;border-radius:0;background:var(--home-card)}.page-home .home-flow{width:100%;max-width:none;gap:0;padding:0 16px;border-top:1px solid var(--home-line);border-bottom:1px solid var(--home-line);background:var(--home-card)}.page-home .home-flow>.home-panel,.page-home .home-dual-shelves>.home-panel,.page-home .home-community-grid>.home-panel{padding:24px 0;border:0;border-bottom:1px solid var(--home-line);border-radius:0;background:transparent;box-shadow:none}.page-home .home-dual-shelves,.page-home .home-community-grid{gap:0}.page-home .home-community-grid>.home-panel:last-child{border-bottom:0}.page-home .card-block--links{margin-top:10px;border-right:0;border-left:0;border-radius:0;background:var(--home-card)}}
@media(max-width:700px){.page-home .home-showcase__lead{grid-template-columns:105px minmax(0,1fr);grid-template-rows:auto 1fr auto auto;column-gap:16px;row-gap:7px}.page-home .home-showcase__cover{grid-column:1;grid-row:1/3;align-self:start}.page-home .home-showcase__copy{display:contents}.page-home .home-showcase__title{grid-column:2;grid-row:1;align-self:start;margin:0;font-size:21px}.page-home .home-showcase__byline{display:grid;grid-column:2;grid-row:2;grid-template-columns:max-content max-content;grid-template-rows:auto 1fr auto;align-self:stretch;justify-content:start;column-gap:8px;row-gap:0}.page-home .home-showcase__byline a{grid-column:1/-1;grid-row:1}.page-home .home-showcase__byline span{grid-row:3;padding:3px 9px;border:1px solid var(--home-line);border-radius:999px;background:var(--home-paper);font-size:11px;line-height:1.4}.page-home .home-showcase__intro{display:-webkit-box;grid-column:1/-1;grid-row:3;overflow:hidden;margin:10px 0 0;-webkit-box-orient:vertical;-webkit-line-clamp:3}.page-home .home-showcase__actions{grid-column:1/-1;grid-row:4;margin-top:4px}.page-home .home-showcase__actions a{min-width:0}}
@media(max-width:700px){.page-home .site-actions{justify-content:stretch}.page-home .header-search-form{display:flex;gap:8px;margin:14px 0 2px}.page-home .header-search-form__input{height:42px;padding:0 14px;border-radius:9px;background:var(--color-bg-elevated);font-size:14px}.page-home .header-search-form__button{min-width:70px;height:42px;padding:0 15px;border-radius:9px;background:var(--home-blue);font-size:14px}.page-home .home-main{padding-top:0}.page-home .home-showcase{width:100%;max-width:none;margin:0;padding:0 16px;border-top:1px solid var(--home-line);background:var(--home-card)}.page-home .home-showcase__lead{padding:24px 0 20px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.page-home .home-showcase__lead:after{display:none}}
@media(max-width:700px){.booklist-create-page .main>.container{width:100%;max-width:none;padding:0}.booklist-create-page .booklist-editor{margin:0 0 24px;border:0;border-radius:0;background:var(--bl-card);box-shadow:none}.booklist-create-page .booklist-editor>header{padding:24px 20px 22px;border-bottom:0;background:transparent}.booklist-create-page .booklist-editor__back{margin-bottom:18px}.booklist-create-page .booklist-editor h1{font-size:28px}.booklist-create-page .booklist-editor__steps{margin:0 20px;padding:13px 0;background:transparent}.booklist-create-page .booklist-editor__steps span{gap:6px;font-size:12px}.booklist-create-page .booklist-editor__steps b{width:24px;height:24px}.booklist-create-page .booklist-editor__section{padding:26px 20px;background:transparent}.booklist-create-page .booklist-editor__section-title{margin-bottom:20px}.booklist-create-page .booklist-editor__submit{margin:0;padding:20px;background:transparent}}
.rank-page{--rank-bg:#f4f5f7;--rank-card:#fff;--rank-ink:#152231;--rank-muted:#687483;--rank-line:#e1e5e9;--rank-blue:#326b9b;--rank-blue-deep:#204f78;--rank-gold:#b97820;background:var(--rank-bg)}[data-theme="dark"] .rank-page{--rank-bg:#15191d;--rank-card:#1c2227;--rank-ink:#edf1f4;--rank-muted:#a8b1b9;--rank-line:#333b42;--rank-blue:#77a9d0;--rank-blue-deep:#9bc6e7;--rank-gold:#d8a85e}.rank-main{color:var(--rank-ink)}.rank-hero{display:flex;align-items:flex-end;justify-content:space-between;margin:18px 0 0;padding:34px 38px;border:1px solid var(--rank-line);border-radius:18px 18px 0 0;background:var(--rank-card)}.rank-hero h1{margin:0 0 9px;font:700 34px Georgia,"Noto Serif TC",serif}.rank-hero p{margin:0;color:var(--rank-muted);font-size:14px}.rank-switcher{display:grid;grid-template-columns:repeat(4,1fr);padding:0 22px;border:1px solid var(--rank-line);border-top:0;background:var(--rank-card)}.rank-switcher a{position:relative;padding:17px 12px;color:var(--rank-muted);text-align:center}.rank-switcher a:after{position:absolute;right:20%;bottom:0;left:20%;height:3px;border-radius:3px 3px 0 0;background:transparent;content:""}.rank-switcher a.is-active{color:var(--rank-blue-deep);font-weight:700}.rank-switcher a.is-active:after{background:var(--rank-blue)}.rank-featured{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:30px 28px;border-right:1px solid var(--rank-line);border-left:1px solid var(--rank-line);background:var(--rank-card)}.rank-featured article{position:relative;display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px;min-width:0;padding:18px;border:1px solid var(--rank-line);border-radius:13px;background:var(--rank-bg)}.rank-featured__number{position:absolute;top:12px;right:14px;color:rgba(185,120,32,.22);font:700 34px Georgia,serif}.rank-featured__cover img{display:block;width:90px;height:126px;border-radius:7px;object-fit:cover;box-shadow:0 8px 18px rgba(24,34,44,.13)}.rank-featured article>div{align-self:center;min-width:0;padding-right:18px}.rank-featured h2{margin:0 0 10px;font-size:18px;line-height:1.45}.rank-featured h2 a{display:-webkit-box;overflow:hidden;color:var(--rank-ink);-webkit-box-orient:vertical;-webkit-line-clamp:2}.rank-featured p{display:flex;flex-wrap:wrap;gap:5px 9px;margin:0 0 9px;color:var(--rank-muted);font-size:12px}.rank-featured p a{color:var(--rank-blue-deep)}.rank-featured small{color:var(--rank-muted);font-size:12px}.rank-results{margin:0 0 46px;padding:0 28px 20px;border:1px solid var(--rank-line);border-top:0;border-radius:0 0 18px 18px;background:var(--rank-card);list-style:none}.rank-results li{display:grid;grid-template-columns:34px 54px minmax(0,1fr) minmax(200px,32%);align-items:center;gap:15px;min-height:112px;border-top:1px solid var(--rank-line)}.rank-results__number{color:var(--rank-muted);font:700 15px Georgia,serif;text-align:center}.rank-results__cover img{display:block;width:54px;height:76px;border-radius:5px;object-fit:cover}.rank-results__main{min-width:0}.rank-results__main h2{margin:0 0 8px;font-size:17px}.rank-results__main h2 a{display:block;overflow:hidden;color:var(--rank-ink);white-space:nowrap;text-overflow:ellipsis}.rank-results__main p{display:flex;flex-wrap:wrap;gap:6px 10px;margin:0;color:var(--rank-muted);font-size:12px}.rank-results__main p a{color:var(--rank-blue-deep)}.rank-results__latest{display:grid;justify-items:end;min-width:0;gap:7px}.rank-results__latest a{max-width:100%;overflow:hidden;color:var(--rank-ink);font-size:13px;white-space:nowrap;text-overflow:ellipsis}.rank-results__latest time{color:var(--rank-muted);font-size:12px}.rank-empty{margin:0 0 46px;padding:60px;border:1px solid var(--rank-line);border-top:0;border-radius:0 0 18px 18px;background:var(--rank-card);color:var(--rank-muted);text-align:center}
@media(max-width:700px){.rank-page .rank-main>.container{width:100%;max-width:none;padding:0}.rank-page .category-breadcrumb{margin:13px 20px}.rank-hero{margin:0;padding:25px 20px 20px;border:0;border-radius:0}.rank-hero h1{font-size:28px}.rank-hero p{font-size:13px;line-height:1.7}.rank-switcher{padding:0 8px;border-right:0;border-left:0}.rank-switcher a{padding:14px 4px;font-size:12px}.rank-switcher a:after{right:14%;left:14%}.rank-featured{display:block;padding:0 20px;border:0}.rank-featured article{grid-template-columns:72px minmax(0,1fr);gap:13px;padding:18px 0;border:0;border-bottom:1px solid var(--rank-line);border-radius:0;background:transparent}.rank-featured__number{top:17px;right:1px;font-size:25px}.rank-featured__cover img{width:72px;height:101px}.rank-featured article>div{padding-right:26px}.rank-featured h2{font-size:17px}.rank-results{margin:0 0 24px;padding:0 20px 14px;border:0;border-radius:0}.rank-results li{grid-template-columns:28px 50px minmax(0,1fr);gap:11px;min-height:103px}.rank-results__cover img{width:50px;height:70px}.rank-results__main h2{font-size:16px}.rank-results__main p span:last-child{display:none}.rank-results__latest{grid-column:3;justify-items:start;margin-top:-25px;padding-bottom:10px}.rank-results__latest a{font-size:12px}.rank-results__latest time{display:none}.rank-empty{margin:0;padding:50px 20px;border:0;border-radius:0}}

.rank-featured__number{z-index:2;top:9px;right:auto;left:9px;display:grid;place-items:center;width:38px;height:38px;border:2px solid rgba(255,255,255,.88);border-radius:50%;background:linear-gradient(145deg,#d99d32,#a96912);box-shadow:0 6px 14px rgba(44,34,20,.24);color:#fff;font:700 18px Georgia,serif}.rank-featured article:nth-child(2) .rank-featured__number{background:linear-gradient(145deg,#aeb8c1,#6d7a86)}.rank-featured article:nth-child(3) .rank-featured__number{background:linear-gradient(145deg,#c17b4d,#844a2d)}.rank-featured article>div{padding-right:0}@media(max-width:700px){.rank-featured__number{top:11px;right:auto;left:-6px;width:34px;height:34px;font-size:16px}.rank-featured article>div{padding-right:0}}
.rank-featured article>div{align-self:start}.rank-featured__latest{display:flex;align-items:baseline;gap:8px;min-width:0;color:var(--rank-muted);font-size:12px;line-height:1.6}.rank-featured__latest a{min-width:0;overflow:hidden;color:var(--rank-blue-deep);white-space:nowrap;text-overflow:ellipsis}.rank-featured__latest a span{color:var(--rank-muted)}.rank-featured__latest a:hover{color:var(--rank-blue)}.rank-featured__latest time{flex:0 0 auto;color:var(--rank-muted);white-space:nowrap}[data-theme="dark"] .rank-featured__latest a{color:var(--rank-blue-deep)}[data-theme="dark"] .rank-featured__latest a:hover{color:#c2def2}.rank-results__main{align-self:start;padding-top:18px}.rank-results__latest{display:flex;align-items:baseline;justify-content:flex-end;gap:8px}.rank-results__latest a{min-width:0}.rank-results__latest a span{color:var(--rank-muted)}.rank-results__latest time{flex:0 0 auto;white-space:nowrap}
@media(max-width:700px){.rank-featured article>div{align-self:start}.rank-featured__latest{gap:6px}.rank-results__main{padding-top:16px}.rank-results__latest{justify-content:flex-start;gap:6px}.rank-results__latest time{display:block}}
@media(max-width:700px){.rank-results__cover{transform:translateY(10px)}}
@media(min-width:701px){.rank-featured{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:normal;gap:18px;padding-right:52px;padding-left:52px}}
.rank-results__number{color:var(--rank-muted);font-weight:700}.rank-results li:nth-child(1) .rank-results__number{color:#2f6f9f}.rank-results li:nth-child(2) .rank-results__number{color:#5184aa}.rank-results li:nth-child(3) .rank-results__number{color:#7699b3}[data-theme="dark"] .rank-results li:nth-child(1) .rank-results__number{color:#91c2e7}[data-theme="dark"] .rank-results li:nth-child(2) .rank-results__number{color:#7ca9cb}[data-theme="dark"] .rank-results li:nth-child(3) .rank-results__number{color:#6f91aa}
@media(max-width:700px){.rank-featured article{grid-template-columns:28px 72px minmax(0,1fr);gap:11px}.rank-featured__number{position:static;grid-column:1;align-self:center;justify-self:center;width:42px;height:42px;font-size:19px}.rank-featured__cover{grid-column:2}.rank-featured article>div{grid-column:3}.rank-featured__cover img{width:72px;height:101px}}

/* Book info tabs: emphasized segmented navigation */
.info-detail-page .info-breadcrumb{display:flex;align-items:center;gap:8px;min-width:0;margin:18px 3px 12px;color:var(--color-text-soft);font-size:13px;line-height:1.5}.info-detail-page .info-breadcrumb a{flex:0 0 auto;color:#315e8c;transition:color .18s ease}.info-detail-page .info-breadcrumb a:hover{color:#214b70}.info-detail-page .info-breadcrumb>span[aria-hidden="true"]{flex:0 0 auto;color:var(--color-border-strong)}.info-detail-page .info-breadcrumb__current{min-width:0;overflow:hidden;color:var(--color-text-soft);white-space:nowrap;text-overflow:ellipsis}[data-theme="dark"] .info-detail-page .info-breadcrumb a{color:#86afd1}[data-theme="dark"] .info-detail-page .info-breadcrumb a:hover{color:#b4d2e8}@media(max-width:768px){.info-detail-page .info-breadcrumb{gap:6px;margin:12px 2px 8px;font-size:12px}}
.info-detail-page .info-page .info-actions__btn--primary{border-color:#4777a3;background:#4777a3;box-shadow:0 7px 16px rgba(49,94,140,.14)}.info-detail-page .info-page .info-actions__btn--primary:hover{background:#3c698f}.info-detail-page .info-page .info-tabs{gap:4px;padding:5px;border:1px solid var(--color-border-subtle);border-radius:14px;background:#eef0f2;box-shadow:0 7px 18px rgba(31,50,68,.06);backdrop-filter:blur(14px)}.info-detail-page .info-tab{min-height:44px;border-radius:10px}.info-detail-page .info-tab.act{background:#fff;color:#244f76;box-shadow:inset 0 0 0 1px #82a5c2,inset 0 -4px 0 #315e8c,0 5px 13px rgba(49,94,140,.13)}.info-detail-page .info-tab.act span{background:#e1ebf3;color:#315e8c}.info-detail-page .info-tab:hover{color:#274e73}[data-theme="dark"] .info-detail-page .info-page .info-actions__btn--primary{border-color:#5f8db5;background:#5f8db5;box-shadow:0 7px 18px rgba(0,0,0,.2)}[data-theme="dark"] .info-detail-page .info-page .info-actions__btn--primary:hover{background:#6c99bf}[data-theme="dark"] .info-detail-page .info-page .info-tabs{border-color:#303b43;background:#171b1e;box-shadow:0 8px 20px rgba(0,0,0,.2)}[data-theme="dark"] .info-detail-page .info-tab.act{background:#253541;color:#d8e9f6;box-shadow:inset 0 0 0 1px #628db3,inset 0 -4px 0 #78a6d1,0 6px 15px rgba(0,0,0,.24)}[data-theme="dark"] .info-detail-page .info-tab.act span{background:#344d60;color:#d2e5f3}@media(max-width:768px){.info-detail-page .info-page .info-tabs{margin-right:-4px;margin-left:-4px;padding:4px}.info-detail-page .info-tab{min-height:42px;padding:7px 5px}}
