/* ===== abcISO 在线阅读器样式 ===== */
:root {
  --sidebar-w: 280px;
  --sidebar-bg: #f7f7f7;
  --sidebar-border: #e5e5e5;
  --text-main: #1a1a1a;
  --text-secondary: #666;
  --text-muted: #999;
  --accent: #1a73e8;
  --accent-light: #e8f0fe;
  --reading-width: 700px;
  --font-serif: "Noto Serif SC", "Source Han Serif SC", "STSong", "SimSun", serif;
  --font-sans: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-sans);color:var(--text-main);background:#fff;line-height:1.7;overflow-x:hidden}

/* ===== 侧边栏 ===== */
.sidebar{
  position:fixed;top:0;left:0;width:var(--sidebar-w);height:100vh;
  background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);
  overflow-y:auto;z-index:100;transition:transform 0.3s ease;
  display:flex;flex-direction:column;
}
.sidebar-header{
  padding:24px 20px 16px;border-bottom:1px solid var(--sidebar-border);
}
.sidebar-header .book-icon{font-size:24px;margin-bottom:4px}
.sidebar-header h2{
  font-size:15px;font-weight:600;line-height:1.4;color:var(--text-main);
}
.sidebar-header .book-subtitle{
  font-size:12px;color:var(--text-secondary);margin-top:2px;
}
.sidebar-nav{padding:12px 0;flex:1}
.toc-section{margin-bottom:4px}
.toc-part{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 20px;cursor:pointer;font-size:13px;font-weight:500;
  color:var(--text-main);transition:background 0.15s;
  user-select:none;
}
.toc-part:hover{background:#eee}
.toc-part .toggle-icon{font-size:10px;color:var(--text-muted);transition:transform 0.2s}
.toc-part.open .toggle-icon{transform:rotate(90deg)}
.toc-chapters{display:none}
.toc-chapters.open{display:block}
.toc-chapter{
  display:block;padding:6px 20px 6px 36px;font-size:13px;
  color:var(--text-secondary);text-decoration:none;transition:all 0.15s;
  border-left:2px solid transparent;
}
.toc-chapter:hover{color:var(--accent);background:var(--accent-light)}
.toc-chapter.active{
  color:var(--accent);border-left-color:var(--accent);font-weight:500;
  background:var(--accent-light);
}

/* ===== 主内容区 ===== */
.main-content{
  margin-left:var(--sidebar-w);min-height:100vh;
  display:flex;flex-direction:column;align-items:center;
}
.reader-header{
  width:100%;max-width:var(--reading-width);padding:40px 32px 0;
  display:flex;justify-content:space-between;align-items:center;
}
.reader-header .back-link{
  font-size:13px;color:var(--text-secondary);text-decoration:none;
  display:flex;align-items:center;gap:4px;
}
.reader-header .back-link:hover{color:var(--accent)}

/* ===== 阅读正文 ===== */
.reader-content{
  width:100%;max-width:var(--reading-width);padding:32px 32px 60px;
  font-family:var(--font-serif);font-size:17px;line-height:1.9;
  color:var(--text-main);
}
.reader-content h1{
  font-family:var(--font-sans);font-size:26px;font-weight:700;
  line-height:1.4;margin-bottom:8px;padding-bottom:16px;
  border-bottom:2px solid var(--text-main);
}
.reader-content h2{
  font-family:var(--font-sans);font-size:20px;font-weight:600;
  margin-top:40px;margin-bottom:16px;
}
.reader-content h3{
  font-family:var(--font-sans);font-size:18px;font-weight:600;
  margin-top:32px;margin-bottom:12px;
}
.reader-content p{margin-bottom:1.2em;text-indent:2em}
.reader-content p:first-of-type{text-indent:2em}
.reader-content p.no-indent{text-indent:0}
.reader-content strong{font-weight:600}
.reader-content em{font-style:italic}
.reader-content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.reader-content a:hover{color:#0d47a1}
.reader-content hr{
  border:none;border-top:1px solid var(--sidebar-border);
  margin:40px 0;width:60px;margin-left:auto;margin-right:auto;
}
.reader-content blockquote{
  border-left:3px solid var(--accent);margin:1.5em 0;
  padding:12px 20px;background:#f8f9fa;color:var(--text-secondary);
  font-style:italic;font-size:15px;
}
.reader-content blockquote p{text-indent:0}
.reader-content ul,.reader-content ol{
  margin:1em 0 1em 2em;padding:0;
}
.reader-content li{margin-bottom:0.5em}

/* ===== 章节导航 ===== */
.chapter-nav{
  width:100%;max-width:var(--reading-width);padding:0 32px 40px;
  display:flex;justify-content:space-between;gap:16px;
}
.chapter-nav a{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 20px;border:1px solid var(--sidebar-border);
  border-radius:6px;text-decoration:none;font-size:14px;
  color:var(--text-secondary);transition:all 0.15s;
}
.chapter-nav a:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}
.chapter-nav .nav-next{margin-left:auto}

/* ===== 书籍入口页 ===== */
.book-landing{min-height:100vh;display:flex;flex-direction:column;align-items:center}
.book-hero{
  width:100%;max-width:var(--reading-width);padding:80px 32px 40px;
  text-align:left;
}
.book-hero h1{
  font-family:var(--font-sans);font-size:32px;font-weight:700;
  line-height:1.3;margin-bottom:8px;
}
.book-hero .subtitle{
  font-size:18px;color:var(--text-secondary);margin-bottom:24px;
}
.book-hero .meta{
  font-size:13px;color:var(--text-muted);margin-bottom:32px;
}
.book-hero .book-desc{
  font-family:var(--font-serif);font-size:16px;line-height:1.8;
  color:var(--text-main);margin-bottom:40px;max-width:580px;
}
.book-hero .book-desc p{margin-bottom:1em}
.book-toc{width:100%;max-width:var(--reading-width);padding:0 32px 80px}
.book-toc h3{
  font-family:var(--font-sans);font-size:16px;font-weight:600;margin-bottom:20px;
  padding-bottom:12px;border-bottom:1px solid var(--sidebar-border);
}
.toc-list{list-style:none;padding:0}
.toc-list li{margin-bottom:2px}
.toc-list .toc-part-title{
  font-size:14px;font-weight:600;color:var(--text-main);
  padding:12px 0 6px;font-family:var(--font-sans);
}
.toc-list .toc-chapter-link{
  display:block;padding:8px 12px 8px 16px;font-size:14px;
  color:var(--text-secondary);text-decoration:none;
  border-left:2px solid transparent;transition:all 0.15s;
}
.toc-list .toc-chapter-link:hover{
  color:var(--accent);border-left-color:var(--accent);background:var(--accent-light);
}
.toc-list .toc-chapter-link .ch-num{
  color:var(--text-muted);margin-right:8px;font-size:12px;
}

/* ===== 移动端适应 ===== */
@media(max-width:768px){
  .sidebar{transform:translateX(-100%);width:100%;max-width:320px}
  .sidebar.open{transform:translateX(0)}
  .sidebar-overlay{
    display:none;position:fixed;inset:0;background:rgba(0,0,0,0.3);z-index:99;
  }
  .sidebar-overlay.show{display:block}
  .main-content{margin-left:0}
  .reader-header{padding:20px 20px 0}
  .reader-content{padding:20px 20px 40px;font-size:16px}
  .reader-content h1{font-size:22px}
  .chapter-nav{padding:0 20px 30px;flex-wrap:wrap}
  .book-hero{padding:40px 20px 20px}
  .book-hero h1{font-size:26px}
  .book-toc{padding:0 20px 40px}
  .mobile-menu-btn{
    display:flex!important;position:fixed;top:12px;left:12px;z-index:98;
    width:40px;height:40px;border-radius:8px;background:#fff;
    border:1px solid var(--sidebar-border);cursor:pointer;
    align-items:center;justify-content:center;font-size:20px;
    box-shadow:0 2px 8px rgba(0,0,0,0.08);
  }
}
@media(min-width:769px){
  .mobile-menu-btn{display:none}
}

/* ===== 返回网站导航 ===== */
.back-to-site{
  max-width:var(--reading-width);margin:0 auto;padding:12px 24px 0;
}
.back-to-site a{
  font-size:13px;color:var(--accent);text-decoration:none;
  line-height:1;
}
.back-to-site a:hover{text-decoration:underline}

.reader-header .back-link + .back-link{
  margin-left:16px;padding-left:16px;border-left:1px solid var(--sidebar-border);
}
