/* ---- 乾隆大藏经读书站 · 阅读器样式 ---- */
:root{
  --bg:#f5f1e8; --panel:#fffdf8; --text:#2b2620; --muted:#8a7f6e;
  --accent:#9c6b3f; --line:#e7ddca; --hl:#fbe7a0; --hl-strong:#f6cf6b;
  --read-font:19px; --read-lh:2.0;
}
body[data-theme="sepia"]{--bg:#efe2c4;--panel:#f8efd6;--text:#574229;--muted:#9a8462;--accent:#8a5526;--line:#e3d2a9;--hl:#f4d58f;}
body[data-theme="dark"]{--bg:#191a1c;--panel:#212327;--text:#d8d1c2;--muted:#8b857a;--accent:#c89a5c;--line:#34353b;--hl:#5a4d23;--hl-strong:#7a6a32;}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--bg);color:var(--text);font-family:"Noto Serif SC","Source Han Serif SC","Songti SC","SimSun",serif;-webkit-font-smoothing:antialiased;}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}

/* topbar */
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;
  padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line);}
.brand{font-weight:700;font-size:17px;letter-spacing:.04em;color:var(--text);}
.topbar-actions{margin-left:auto;display:flex;gap:6px;}
.icon-btn{background:transparent;border:1px solid var(--line);color:var(--text);
  border-radius:8px;padding:5px 9px;cursor:pointer;font-size:14px;line-height:1;}
.icon-btn:hover{background:var(--line);}

/* layout */
.layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 53px);}
.sidebar{background:var(--panel);border-right:1px solid var(--line);overflow-y:auto;
  max-height:calc(100vh - 53px);position:sticky;top:53px;}
.sidebar-head{padding:12px;position:sticky;top:0;background:var(--panel);border-bottom:1px solid var(--line);z-index:2;}
#searchInput{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;
  background:var(--bg);color:var(--text);font-size:14px;font-family:inherit;}
.search-results{margin-top:6px;max-height:50vh;overflow:auto;}
.sr-item{display:block;padding:7px 9px;border-radius:6px;font-size:13px;}
.sr-item:hover{background:var(--line);text-decoration:none;}
.sr-sub{display:block;color:var(--muted);font-size:11px;margin-top:2px;}
.sr-empty{padding:8px;color:var(--muted);font-size:13px;}

/* tree */
.tree{padding:8px 6px 40px;}
.bu{border-bottom:1px solid var(--line);}
.bu-h{width:100%;text-align:left;background:none;border:none;color:var(--text);
  font-family:inherit;font-size:15px;font-weight:700;padding:10px 10px;cursor:pointer;}
.bu-body,.sub-body{display:none;padding-left:8px;}
.bu.open>.bu-body{display:block;}
.sub{border-left:2px solid var(--line);margin:2px 0 2px 6px;}
.sub-h{width:100%;text-align:left;background:none;border:none;color:var(--muted);
  font-family:inherit;font-size:13px;padding:6px 8px;cursor:pointer;}
.sub.open>.sub-body{display:block;}
.sutra-link{display:block;padding:5px 10px;font-size:13px;color:var(--text);border-radius:6px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sutra-link:hover{background:var(--line);text-decoration:none;}
.sutra-link.active{background:var(--accent);color:#fff;}

/* reader */
.reader{padding:28px 26px 80px;display:flex;flex-direction:column;align-items:center;}
.sutra-head{width:100%;max-width:780px;margin-bottom:18px;}
.crumbs{color:var(--muted);font-size:13px;margin-bottom:6px;}
.crumbs span{color:var(--text);}
.sutra-title{font-size:25px;margin:.1em 0;line-height:1.4;}
.sutra-meta{color:var(--muted);font-size:14px;margin-bottom:12px;}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--muted);}
.tool-group{display:inline-flex;align-items:center;gap:4px;}
.tool-group .icon-btn{padding:3px 8px;}

.scripture{width:100%;max-width:780px;font-size:var(--read-font);line-height:var(--read-lh);
  text-align:justify;letter-spacing:.01em;}
.scripture p{margin:.55em 0;text-indent:2em;}
.scripture .sutra-title{text-align:center;font-weight:700;color:var(--accent);
  margin:1em 0 .8em;line-height:1.4;}
.scripture h2.sutra-title{font-size:1.25em;}
.scripture h3.sutra-title{font-size:1.08em;color:var(--fg);}
.scripture.home-body{font-size:16px;line-height:1.9;}
.home-body h2{font-size:20px;margin:1.1em 0 .5em;border-left:4px solid var(--accent);padding-left:10px;}
.home-body ul{padding-left:1.4em;}
.home-body li{margin:.4em 0;}
.home-body .hint{color:var(--muted);font-size:14px;margin-top:1.4em;}
.bu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px;}
.bu-card{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px;cursor:pointer;}
.bu-card b{display:block;font-size:16px;margin-bottom:4px;}
.bu-card span{color:var(--muted);font-size:12px;}

/* highlights / notes */
.dzj-hl{background:var(--hl);color:inherit;border-radius:3px;padding:0 1px;cursor:pointer;}
.dzj-hl.flash{background:var(--hl-strong);}
.note-card{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px;margin-bottom:8px;cursor:pointer;}
.note-quote{font-size:13px;color:var(--text);border-left:3px solid var(--accent);padding-left:8px;}
.note-text{font-size:13px;margin-top:6px;}
.note-foot{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:11px;color:var(--muted);}
.note-time{margin-right:auto;}
.note-src{font-size:11px;color:var(--muted);}
.note-del{background:none;border:1px solid var(--line);border-radius:6px;color:var(--muted);
  cursor:pointer;padding:2px 7px;font-size:11px;}
.notes-empty{color:var(--muted);font-size:13px;padding:10px;}

/* pager */
.pager{width:100%;max-width:780px;display:flex;justify-content:space-between;gap:12px;margin-top:30px;}
.pager-link{flex:1;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:14px;
  background:var(--panel);}
.pager-link.next{text-align:right;}

/* notes drawer */
.notes-drawer{position:fixed;top:0;right:0;height:100vh;width:340px;background:var(--panel);
  border-left:1px solid var(--line);transform:translateX(100%);transition:transform .2s;z-index:40;
  display:flex;flex-direction:column;}
.notes-drawer.open{transform:translateX(0);}
.notes-head{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);}
.notes-head strong{font-size:16px;}
.notes-head .icon-btn{margin-left:auto;}
.notes-tools{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.notes-tools button{background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:5px 10px;
  cursor:pointer;color:var(--text);font-family:inherit;font-size:13px;}
.notes-list{padding:12px;overflow-y:auto;flex:1;}

/* selection popover */
.sel-pop{position:absolute;z-index:50;width:260px;background:var(--panel);border:1px solid var(--line);
  border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.18);padding:10px;}
.sel-pop textarea{width:100%;height:70px;resize:vertical;border:1px solid var(--line);border-radius:8px;
  padding:8px;font-family:inherit;font-size:13px;background:var(--bg);color:var(--text);}
.sel-pop-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px;}
.sel-pop-actions button{border:none;border-radius:7px;padding:6px 12px;cursor:pointer;font-size:13px;}
#selSave{background:var(--accent);color:#fff;}
#selCancel{background:var(--line);color:var(--text);}

.overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:35;}

/* responsive */
@media(max-width:900px){
  .layout{grid-template-columns:1fr;}
  .sidebar{position:fixed;top:53px;left:0;width:280px;height:calc(100vh - 53px);z-index:38;
    transform:translateX(-100%);transition:transform .2s;}
  .sidebar.open{transform:translateX(0);}
  .reader{padding:20px 16px 70px;}
  .sutra-title{font-size:21px;}
  .notes-drawer{width:88vw;}
}
