/* 民法典学习 · 子站样式（浅色主题，无外部依赖） */
:root{
  --bg:#f5f6f8; --card:#fff; --line:#e6e8ec; --line2:#eef0f3;
  --txt:#1f2329; --txt2:#5c636e; --txt3:#8a9099;
  --red:#0a2e5c; --red2:#07203f; --blue:#1a4a7c; --green:#1f9254;
  --head:#0a2e5c;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg); color:var(--txt);
  font:15px/1.75 -apple-system,"Segoe UI","Microsoft YaHei",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}

/* 顶部 */
.hd{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1px 3px rgba(0,0,0,.04)}
.hd-in{max-width:1440px;margin:0 auto;padding:8px 16px;display:flex;align-items:center;gap:16px}
.brand{display:flex;align-items:center;gap:9px;color:var(--txt)}
.brand:hover{text-decoration:none}
.logo{font-size:22px;line-height:1}
.bt{display:flex;flex-direction:column;line-height:1.25}
.bt b{font-size:14px;font-weight:700}
.bt i{font-size:12px;color:var(--head);font-style:normal;font-weight:600}
.tabs{display:flex;gap:2px;flex:1}
.tab{border:0;background:transparent;padding:7px 13px;border-radius:7px;cursor:pointer;font-size:14px;color:var(--txt2);font-family:inherit}
.tab:hover{background:#f2f4f7;color:var(--txt)}
.tab.on{background:#eef3f9;color:var(--head);font-weight:600}
.hd-r{display:flex;align-items:center;gap:10px}
.q{width:290px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;font-size:13.5px;font-family:inherit;outline:none;background:#fafbfc}
.q:focus{border-color:var(--head);background:#fff;box-shadow:0 0 0 3px rgba(10, 46, 92, .08)}
.back{font-size:13px;color:var(--txt2);white-space:nowrap}

/* 布局 */
.wrap{max-width:1440px;margin:0 auto;display:flex;gap:16px;padding:16px;align-items:flex-start}
.side{width:280px;flex:0 0 280px;position:sticky;top:70px;max-height:calc(100vh - 90px);overflow:auto;
  background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 8px}
.side-t{font-size:12px;color:var(--txt3);padding:4px 10px 8px;letter-spacing:.5px}
.main{flex:1;min-width:0}

.tree{font-size:13.5px}
.tn{padding:6px 10px;border-radius:7px;cursor:pointer;color:var(--txt2);display:flex;justify-content:space-between;gap:6px;align-items:center}
.tn:hover{background:#f4f6f9;color:var(--txt)}
.tn.on{background:#eef3f9;color:var(--head);font-weight:600}
.part>.tn{font-weight:700;color:var(--txt);margin-top:4px}
.sub>.tn{color:var(--txt2);font-weight:600}
.tc{color:var(--txt3);font-size:11.5px;flex:0 0 auto}
.tk{padding:5px 10px 5px 22px;border-radius:7px;cursor:pointer;color:var(--txt2);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk:hover{background:#f4f6f9;color:var(--txt)}
.tk.on{background:#eef3f9;color:var(--head);font-weight:600}
.hide{display:none}

/* 卡片 */
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin-bottom:16px}
.card h1{margin:0 0 6px;font-size:22px;letter-spacing:.5px}
.card h2{margin:22px 0 10px;font-size:17px;padding-left:10px;border-left:3px solid var(--head)}
.card h3{margin:16px 0 8px;font-size:15px;color:var(--txt)}
.sub{color:var(--txt2);font-size:13.5px;margin:0 0 4px}
.muted{color:var(--txt3);font-size:12.5px}

/* 统计 */
.stats{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 4px}
.stat{flex:1 1 130px;background:#fafbfc;border:1px solid var(--line2);border-radius:10px;padding:12px 14px}
.stat b{display:block;font-size:22px;color:var(--head);line-height:1.2}
.stat span{font-size:12.5px;color:var(--txt2)}

/* 编卡片 */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:12px}
.pcard{border:1px solid var(--line);border-radius:11px;padding:14px 16px;background:#fff;cursor:pointer;transition:.15s}
.pcard:hover{border-color:#c6d7e8;box-shadow:0 3px 12px rgba(10, 46, 92, .07);transform:translateY(-1px)}
.pcard h4{margin:0 0 6px;font-size:15px;color:var(--head)}
.pcard p{margin:0;font-size:12.5px;color:var(--txt2);line-height:1.6}
.pcard .n{float:right;font-size:12px;color:var(--txt3);font-weight:400}

/* 条文 */
.art{border-bottom:1px dashed var(--line);padding:13px 0}
.art:last-child{border-bottom:0}
.art .no{color:var(--head);font-weight:700;margin-right:6px;cursor:pointer}
.art .no:hover{text-decoration:underline}
.art .tx{white-space:pre-wrap;font-size:15px;line-height:1.85}
.art.hl{background:#fff9e6;border-radius:8px;padding:13px 12px;margin:0 -12px}
.art .act{margin-top:6px;font-size:12px;color:var(--txt3)}
.art .act a{margin-right:10px}
.chap{font-size:16px;font-weight:700;color:var(--txt);margin:22px 0 6px;padding:6px 0 6px 12px;border-left:3px solid var(--head);background:#fafbfc;border-radius:0 8px 8px 0}
.sec{font-size:14px;font-weight:700;color:var(--txt2);margin:16px 0 4px;padding-left:10px}

/* 法规列表 */
.rlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px;margin-top:10px}
.ritem{border:1px solid var(--line);border-radius:10px;padding:11px 14px;background:#fff;cursor:pointer}
.ritem:hover{border-color:#c9dcf5;background:#f8fbff}
.ritem b{display:block;font-size:13.5px;color:var(--txt);line-height:1.5;font-weight:600}
.ritem span{font-size:12px;color:var(--txt3)}

/* 工具 */
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:10px 0}
.f{display:flex;flex-direction:column;gap:4px}
.f label{font-size:12.5px;color:var(--txt2)}
.f input,.f select{padding:7px 10px;border:1px solid var(--line);border-radius:7px;font-size:14px;font-family:inherit;background:#fff}
.btn{padding:8px 16px;border:0;border-radius:8px;background:var(--head);color:#fff;font-size:14px;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--red2)}
.btn.g{background:#f2f4f7;color:var(--txt2)}
.out{margin-top:12px;background:#fafbfc;border:1px solid var(--line2);border-radius:10px;padding:12px 14px;font-size:14px;white-space:pre-wrap;min-height:20px}
.kv{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line2);font-size:14px}
.kv:last-child{border-bottom:0}
.kv b{color:var(--head)}

/* 检索 */
.res{border-bottom:1px solid var(--line2);padding:11px 0}
.res:last-child{border-bottom:0}
.res .t{font-size:14px;font-weight:600;color:var(--txt)}
.res .t em{color:var(--head);font-style:normal;background:#fff2b8}
.res .c{font-size:13.5px;color:var(--txt2);margin-top:3px}
.res .c em{color:var(--head);font-style:normal;background:#fff2b8}
mark{background:#fff2b8;color:inherit;padding:0 1px}

.crumb{font-size:12.5px;color:var(--txt3);margin-bottom:10px}
.crumb a{color:var(--txt2)}
.chip{display:inline-block;padding:2px 9px;border-radius:20px;background:#f2f4f7;color:var(--txt2);font-size:12px;margin:0 6px 6px 0}
.chip.r{background:#eef3f9;color:var(--head)}
.chip.g{background:#e8f6ee;color:var(--green)}

.ft{max-width:1440px;margin:0 auto;padding:18px 16px 34px;color:var(--txt3);font-size:12.5px;line-height:1.8;text-align:center}

@media (max-width:1000px){
  .wrap{flex-direction:column;align-items:stretch;padding:12px}
  .side{position:static;width:100%;flex:auto;max-height:300px}
  .hd-in{flex-wrap:wrap;gap:8px}
  .q{width:100%}
  .tabs{overflow:auto}
}

/* ===== v2.39.0 新增：法条交叉引用索引 / 目录折叠 / 回到顶部 ===== */
.cref{color:var(--blue);background:rgba(47,111,208,.07);border-bottom:1px dashed #9dc0ee;
  padding:0 2px;border-radius:3px;cursor:pointer;text-decoration:none;transition:background .15s}
.cref:hover{background:#e3eefc;text-decoration:none}
.cref.miss{color:var(--txt3);background:#f2f4f7;border-bottom:1px dotted #c9ccd1;cursor:help}
.cref.miss:hover{background:#eef0f3}
.cref-doc{color:inherit;background:transparent;border:0;padding:0;cursor:default}
.chip.r .cref{background:rgba(10, 46, 92, .06);border-bottom-color:#aac2db;color:#0d3161}
.chip.r .cref:hover{background:rgba(10, 46, 92, .14)}

.citeidx{border:1px solid var(--line);border-radius:10px;background:#fafbfc;margin:12px 0 6px}
.citeidx>summary{cursor:pointer;padding:10px 14px;font-weight:600;color:var(--txt);font-size:13.5px;list-style:none}
.citeidx>summary::-webkit-details-marker{display:none}
.citeidx>summary::before{content:'▸ ';color:var(--head)}
.citeidx[open]>summary::before{content:'▾ '}
.citeidx[open]>summary{border-bottom:1px solid var(--line2)}
.citeidx-body{padding:10px 14px;max-height:330px;overflow:auto}
.ci-group{margin-bottom:10px}
.ci-group>b{font-size:13px;color:var(--txt);font-weight:600}
.ci-arts{margin-top:5px;display:flex;flex-wrap:wrap;gap:6px}
.ci-arts .cref{font-size:12.5px}

.tree-foot{text-align:center;font-size:12px;color:var(--txt3);padding:10px 0 4px;border-top:1px dashed var(--line2);margin-top:9px}
.tree-foot span{cursor:pointer}
.tree-foot span:hover{color:var(--head);text-decoration:underline}
.gname{display:flex;align-items:center;gap:4px}
.caret{font-style:normal;font-size:10px;color:var(--txt3);width:10px;display:inline-block}
.part>.tn.on{background:#eef3f9;color:var(--head)}
.part>.tn.open{color:var(--txt)}
.card h3.gh{margin:20px 0 2px;font-size:14.5px;color:var(--head);padding-left:0;border-left:0}

#toTop{position:fixed;right:22px;bottom:26px;width:42px;height:42px;border-radius:50%;
  border:1px solid var(--line);background:#fff;color:var(--head);font-size:18px;cursor:pointer;
  box-shadow:0 3px 10px rgba(0,0,0,.12);opacity:0;visibility:hidden;transition:.2s;z-index:60;font-family:inherit}
#toTop.show{opacity:1;visibility:visible}
#toTop:hover{background:#eef3f9}

/* v2.40.0：外部法规引用（回退全站统一索引 2375 部）样式 */
.cref.gone{color:#a6853d;background:rgba(138,109,31,.07);border-bottom:1px dotted #cbb77a}
.cref.gone:hover{background:#faf3dc}
.ci-group>b a{color:var(--head)}
.citeidx .cimark{display:inline-block;margin:2px 4px 2px 0;padding:1px 7px;border-radius:9px;
  font-size:12px;color:var(--muted,#6b7280);background:rgba(140,140,140,.09)}

/* v2.44.0：条文 ↔ 权威案例关联卡片 */
.act.caselink{display:block;margin-top:9px;padding:10px 12px;background:#f8fafc;
  border:1px solid var(--line);border-left:3px solid #1f5fa8;border-radius:8px}
.act.caselink .cl-t{display:block;font-weight:600;color:var(--head);font-size:13px;margin-bottom:6px}
.act.caselink .cl-list{margin:0 0 6px;padding-left:18px}
.act.caselink .cl-list li{margin:7px 0;line-height:1.62;font-size:13px}
.act.caselink .cl-list li>a{color:#1f5fa8;text-decoration:none;font-weight:600}
.act.caselink .cl-list li>a:hover{text-decoration:underline}
.act.caselink .cl-meta{display:block;color:#8a8f98;font-size:12px;margin-top:1px}
.act.caselink .cl-meta i{font-style:normal;color:#b0651f;background:#fdf3e7;border-radius:4px;padding:0 5px}
.act.caselink .cl-g{display:block;color:#5b6470;font-size:12.5px;margin-top:2px;
  padding-left:8px;border-left:2px solid #e2e8f0}
.act.caselink .cl-note{display:block;font-size:11.5px;color:#98a0ab;margin-top:4px;line-height:1.6}
.act.caselink .cl-more{display:block;margin-top:3px;font-size:12px}

/* v4.4.17：窄屏下网格最小列宽（300/340/310px）超出 320px 视口，改单列铺满。
   实测残量：civil-code +55 / civil-company +55 / understand +23 / understand-company +23 */
@media (max-width:520px){
  .pgrid,.rlist,.bgrid{grid-template-columns:1fr}
}
