#infinite-reader-container { padding: 0 20px; }
.reader-chapter-box { margin-bottom: 40px; border-top: 1px dashed rgba(0,0,0,0.08); padding-top: 30px;}
.reader-chapter-title { font-size: 24px; font-weight: bold; margin-bottom: 25px; color: #111; }
.reader-chapter-content { font-size: 20px; line-height: 1.9; color: #333; }
.reader-chapter-content p { text-indent: 2em; margin-bottom: 1.2em; text-align: justify; }

/* 左侧抽屉 */
#catalog-drawer-mask { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.4); z-index: 299; display: none; }
#catalog-drawer { position: fixed; top: 0; left: 50%; width: 85%; max-width: 400px; height: 100%; background: #f5f0e6; z-index: 300; transform: translateX(calc(-50vw - 100%)); transition: transform 0.3s ease-out; display: flex; flex-direction: column; box-shadow: 5px 0 15px rgba(0,0,0,0.1);}
#catalog-drawer.active { transform: translateX(-50vw); }

.catalog-drawer-top { padding: 40px 20px 20px; display: flex; gap: 15px; border-bottom: 1px solid rgba(0,0,0,0.05); }
.catalog-drawer-top img { width: 50px; height: 68px; border-radius: 4px; object-fit: cover; }
.catalog-info { display: flex; flex-direction: column; justify-content: center; gap: 5px;}
.catalog-title { font-size: 18px; font-weight: bold; color: #111; }
.catalog-author { font-size: 12px; color: #888; }

.catalog-header { padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; font-weight: bold; border-bottom: 1px solid rgba(0,0,0,0.05); }
.catalog-list { flex: 1; overflow-y: auto; padding: 0 20px; }
.catalog-item { padding: 18px 0; border-bottom: 1px solid rgba(0,0,0,0.04); font-size: 15px; color: #444; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}