/* TXT 阅读器 · 页面专属样式 */
.reader-page {
  min-height: 56vh;
  max-height: 72vh;
  overflow-y: auto;
  padding: 24px 26px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  font-size: 18px;
  line-height: 2;
  white-space: pre-wrap;
  word-break: break-word;
  text-align: justify;
  transition: background .2s, color .2s;
  -webkit-overflow-scrolling: touch;
}
.reader-page.skin-paper { background: #f7f1e3; color: #3a3226; }
.reader-page.skin-plain { background: var(--bg-elev); color: var(--text); }
.reader-page.skin-green { background: #cce8cf; color: #24402a; }
.reader-page.skin-night { background: #1a1c20; color: #b9bec7; }

.reader-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
}
.reader-bar input[type="range"] { flex: 1; }

.toc-box {
  max-height: 260px;
  overflow-y: auto;
  padding: 8px;
  margin-bottom: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-soft);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 2px;
}
.toc-box a {
  display: block;
  padding: 5px 9px;
  border-radius: 7px;
  font-size: 13.5px;
  color: var(--text-soft);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.toc-box a:hover { background: var(--accent-soft); color: var(--accent); text-decoration: none; }

@media (max-width: 720px) {
  .reader-page { padding: 16px 14px; font-size: 17px; max-height: 66vh; }
  .toc-box { grid-template-columns: 1fr; }
  .reader-bar .btn { padding: 0 10px; }
}
