:root{
  --bg:#f5f7fb; --card:#ffffff; --nav:#eef2f8; --border:#e2e8f0;
  --text:#1e293b; --muted:#64748b; --primary:#3a6ea5; --primary-d:#2d5580;
  --accent:#f0b429; --ok:#16a34a;
  --shadow:0 2px 10px rgba(40,60,90,.08);
}
@media (prefers-color-scheme: dark){ :root:not(.light){
  --bg:#0f172a; --card:#1e293b; --nav:#16213a; --border:#2c3a55;
  --text:#e2e8f0; --muted:#94a3b8; --primary:#6ea3dd; --primary-d:#4c82bb;
  --shadow:0 2px 12px rgba(0,0,0,.35);
}}
:root.dark{
  --bg:#0f172a; --card:#1e293b; --nav:#16213a; --border:#2c3a55;
  --text:#e2e8f0; --muted:#94a3b8; --primary:#6ea3dd; --primary-d:#4c82bb;
  --shadow:0 2px 12px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--text);
  font-family:"Microsoft YaHei","PingFang SC","Noto Sans SC",system-ui,sans-serif;
  line-height:1.65}
button{font-family:inherit}
/* ---- 顶栏 ---- */
#topbar{display:flex;align-items:center;gap:10px;padding:10px 14px;
  background:var(--card);border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:50}
#menuBtn{display:none;background:none;border:1px solid var(--border);
  border-radius:8px;font-size:18px;padding:4px 10px;color:var(--text)}
#brand{font-weight:700;font-size:18px;color:var(--primary);white-space:nowrap}
#searchBox{flex:1;max-width:420px;margin-left:auto;padding:8px 12px;
  border:1px solid var(--border);border-radius:10px;background:var(--bg);
  color:var(--text);font-size:14px;min-width:120px}
#themeBtn{background:none;border:1px solid var(--border);border-radius:8px;
  font-size:16px;padding:4px 8px;color:var(--text)}
/* ---- 学段 chips ---- */
#stageChips{display:flex;gap:8px;padding:8px 14px 0;flex-wrap:wrap}
#stageChips button{border:1px solid var(--border);background:var(--card);
  color:var(--muted);border-radius:999px;padding:4px 14px;font-size:13px;
  cursor:pointer}
#stageChips button.on{background:var(--primary);border-color:var(--primary);
  color:#fff;font-weight:600}
/* ---- 布局 ---- */
#layout{display:flex;min-height:calc(100vh - 120px)}
#sidebar{width:280px;flex:0 0 280px;background:var(--nav);
  border-right:1px solid var(--border);padding:12px 10px 30px;
  overflow-y:auto;max-height:calc(100vh - 110px);position:sticky;top:100px}
#main{flex:1;padding:18px 22px 60px;max-width:980px;margin:0 auto;min-width:0}
#foot{padding:14px;text-align:center;color:var(--muted);font-size:12px;
  border-top:1px solid var(--border)}
/* ---- 导航树 ---- */
.menuTop{font-weight:700;font-size:15px;margin:10px 4px 4px;cursor:default}
.treeCh{margin:2px 0}
.treeCh>.chHead{cursor:pointer;padding:6px 8px;border-radius:8px;font-weight:600}
.treeCh>.chHead:hover{background:rgba(58,110,165,.10)}
.treeSec{margin-left:14px;border-left:2px solid var(--border);padding-left:8px}
.treeSec>.secHead{cursor:pointer;padding:4px 6px;color:var(--muted);font-size:14px}
.treeSec>.secHead:hover{color:var(--primary)}
.treeUnit{display:flex;gap:6px;align-items:baseline;padding:5px 8px;margin:2px 0;
  border-radius:8px;cursor:pointer;font-size:14px}
.treeUnit:hover{background:rgba(58,110,165,.10)}
.treeUnit.active{background:var(--primary);color:#fff}
.treeUnit .no{color:var(--muted);font-size:12px;flex:0 0 auto}
.treeUnit.active .no{color:rgba(255,255,255,.8)}
.cwCard{border:1px solid var(--border);border-radius:10px;background:var(--card);
  padding:10px 12px;margin:8px 0;cursor:pointer}
.cwCard:hover{border-color:var(--primary)}
.cwCard .t{font-weight:600}
.cwCard .m{color:var(--muted);font-size:12px;margin-top:2px}
/* ---- 文章 ---- */
#main h1{font-size:22px;border-bottom:2px solid var(--primary);
  padding-bottom:8px}
#main h2{font-size:18px;color:var(--primary);margin-top:1.4em}
#main h3{font-size:16px}
#main blockquote{margin:1em 0;padding:10px 16px;background:rgba(240,180,41,.10);
  border-left:4px solid var(--accent);border-radius:0 8px 8px 0}
#main img{max-width:100%;border-radius:8px;box-shadow:var(--shadow)}
a.wikilink{color:var(--primary);font-weight:600;
  text-decoration:underline dotted;cursor:pointer}
.wikilink-missing{color:#b0651a;border-bottom:1px dashed #b0651a;cursor:help}
.crumbs{color:var(--muted);font-size:13px;margin-bottom:6px}
.backlinks{margin-top:26px;padding:12px 14px;background:var(--nav);
  border:1px dashed var(--border);border-radius:10px}
.backlinks .cap{font-size:13px;color:var(--muted);margin-bottom:6px}
.backlinks a{margin:2px 8px 2px 0;color:var(--primary);cursor:pointer}
/* ---- GGB 播放 ---- */
#ggbBox{width:100%;border:1px solid var(--border);border-radius:12px;
  background:#fff;overflow:hidden;box-shadow:var(--shadow);min-height:340px}
.ggbTip{color:var(--muted);font-size:13px;margin-top:8px}
/* ---- 搜索面板 ---- */
#searchPanel{position:fixed;inset:60px 14px auto;max-width:640px;margin:0 auto;
  background:var(--card);border:1px solid var(--border);border-radius:14px;
  box-shadow:0 10px 40px rgba(0,0,0,.18);z-index:99;max-height:65vh;
  overflow:auto;padding:10px}
.srItem{padding:8px 10px;border-radius:8px;cursor:pointer}
.srItem:hover{background:rgba(58,110,165,.10)}
.srItem .t{font-weight:600}
.srItem .m{color:var(--muted);font-size:12px}
/* ---- 移动端 ---- */
@media (max-width: 860px){
  #menuBtn{display:block}
  #brand{font-size:16px}
  #layout{flex-direction:column}
  #sidebar{position:fixed;left:0;top:56px;bottom:0;z-index:80;width:78vw;
    max-width:320px;transform:translateX(-102%);transition:transform .25s ease;
    max-height:none;height:calc(100vh - 56px)}
  #sidebar.open{transform:translateX(0)}
  #main{padding:14px 14px 60px}
  .crumbs{font-size:12px}
  mjx-container{max-width:100% !important;overflow-x:auto}
}
