/* ============================================================
   detail.css · 详情页统一组件（kbdoc / case / gcase）
   ------------------------------------------------------------
   替代宣纸拟物（_readmode 的 rm-stage 仅保留给 laws/tool 使用）。
   设计语言与工作台一致：卡片 + token，深色模式自动跟随。
   结构：.dt > .dt-grid > (.dt-main > .dt-card*) + .dt-toc
   保留能力：字号调节（--dt-fs）· 复制 Markdown · 目录跳转
   ============================================================ */

.dt{--dt-fs:1;padding:6px 0 48px}
.dt-grid{max-width:1160px;margin:0 auto;display:flex;gap:20px;align-items:flex-start}
.dt-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}
.dt-card{background:var(--card);border:1px solid var(--line-3);border-radius:var(--r);box-shadow:var(--sh)}

/* ── 标题区 ── */
.dt-head{padding:22px 26px 20px}
.dt-crumb{display:flex;align-items:center;gap:8px;font-size:12.5px;margin-bottom:14px}
.dt-crumb a{color:var(--g1);text-decoration:none}
.dt-crumb a:hover{color:var(--orange)}
.dt-crumb .sep{color:#C9CDD4}
.dt-crumb b{color:var(--ink-2);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dt-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.dt-badge{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:var(--r-pill);
  font-size:11px;font-weight:500;color:var(--g1);background:var(--bg);border:1px solid var(--line)}
.dt-badge.b-cat{color:var(--orange);background:var(--orange-50);border-color:var(--orange-200)}
.dt-head h1{font-size:21px;font-weight:600;line-height:1.45;color:var(--ink);letter-spacing:.2px;margin:2px 0 14px}
.dt-meta{display:flex;flex-wrap:wrap;gap:6px 0;padding:10px 14px;background:var(--bg);
  border:1px solid var(--line-2);border-radius:var(--r-sm);font-size:12px;color:var(--g1)}
.dt-meta span{display:inline-flex;align-items:center;gap:6px;padding:0 14px;border-right:1px solid var(--line)}
.dt-meta span:first-child{padding-left:0}
.dt-meta span:last-child{border-right:0}
.dt-meta i{font-style:normal;color:var(--g3)}
.dt-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.dt-tag{font-size:11px;color:var(--g1);background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:2px 9px}
.dt-tag.b-rule{color:var(--orange);background:var(--orange-50);border-color:var(--orange-200)}

/* ── 操作条 ── */
.dt-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--line-2)}
.kbtn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 13px;border-radius:8px;
  border:1px solid var(--line);background:var(--card);color:var(--ink-2);font-size:12.5px;cursor:pointer;
  transition:border-color .15s,background .15s,color .15s}
.kbtn:hover{border-color:var(--orange-200);color:var(--orange);background:var(--orange-50)}
.kbtn.on{color:var(--orange);border-color:var(--orange-200);background:var(--orange-50)}
.kbtn.pri{background:var(--orange);border-color:var(--orange);color:#fff}
.kbtn.pri:hover{background:var(--orange-d);border-color:var(--orange-d);color:#fff}
/* 字号调节组 */
.dt-fsgrp{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.dt-fsgrp .kbtn{border:0;border-radius:0;height:30px}
.dt-fsgrp .kbtn + .kbtn{border-left:1px solid var(--line-2)}
.dt-fsgrp .kbtn:hover{background:var(--orange-50)}
.dt-fsgrp .fs-cur{min-width:38px;text-align:center;font-size:11.5px;color:var(--g2);border-left:1px solid var(--line-2);
  display:inline-flex;align-items:center;justify-content:center;height:30px}

/* ── AI 速览 ── */
.ai-brief{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border-radius:var(--r);
  background:linear-gradient(135deg,var(--orange-50),var(--card) 55%);border:1px solid var(--orange-200)}
.ai-brief-h{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--orange);flex:none;padding-top:2px}
.ai-brief-b{font-size:12.5px;line-height:1.8;color:var(--ink-2)}

/* ── 正文 ── */
.dt-body{padding:26px 30px 30px;font-size:calc(15.5px * var(--dt-fs));color:var(--ink-2);line-height:1.9}
.dt-sec + .dt-sec{margin-top:26px;padding-top:22px;border-top:1px dashed var(--line)}
.dt-sec h2{display:flex;align-items:center;gap:10px;font-size:calc(16.5px * var(--dt-fs));font-weight:600;
  color:var(--ink);margin:0 0 14px;scroll-margin-top:70px}
.dt-sec h2::before{content:"";width:4px;height:calc(16px * var(--dt-fs));border-radius:2px;background:var(--orange);flex:none}
.dt-html{overflow-wrap:break-word}
.dt-html p{margin:0 0 12px}
.dt-html h3,.dt-html h4{font-size:calc(14.5px * var(--dt-fs));color:var(--ink);margin:18px 0 8px;font-weight:600}
.dt-html ul,.dt-html ol{margin:0 0 12px;padding-left:1.6em}
.dt-html li{margin:4px 0}
.dt-html blockquote{margin:12px 0;padding:10px 14px;border-left:3px solid var(--orange-200);
  background:var(--bg);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--g1)}
.dt-html table{width:100%;border-collapse:collapse;margin:12px 0;font-size:.92em;display:block;overflow-x:auto}
.dt-html th,.dt-html td{border:1px solid var(--line);padding:7px 11px;text-align:left}
.dt-html th{background:var(--bg);color:var(--ink);font-weight:600}
.dt-html img{max-width:100%;border-radius:var(--r-sm)}
.dt-html code{background:var(--bg);border:1px solid var(--line-2);border-radius:4px;padding:1px 5px;font-size:.9em}
.dt-key .dt-html{background:var(--orange-50);border:1px solid var(--orange-200);border-radius:var(--r-sm);padding:14px 16px}

/* ── 相关推荐 ── */
.dt-extra{padding:18px 24px 20px}
.dt-extra h4{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--ink);margin:0 0 12px}
.dt-extra h4::before{content:"";width:4px;height:13px;border-radius:2px;background:var(--orange)}
.dt-rel{display:flex;align-items:baseline;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer;
  font-size:13px;color:var(--ink-2);transition:background .15s}
.dt-rel:hover{background:var(--orange-50);color:var(--orange-d)}
.dt-rel + .dt-rel{margin-top:2px}
.dt-rel .sub{margin-left:auto;flex:none;font-size:11px;color:var(--g3)}

/* ── 页脚 ── */
.dt-foot{font-size:11.5px;color:var(--g3);text-align:center;padding:2px 0 0;line-height:1.7}

/* ── 右侧目录 ── */
.dt-toc{width:212px;flex:none;position:sticky;top:70px;background:var(--card);
  border:1px solid var(--line-3);border-radius:var(--r);padding:14px 6px 10px;box-shadow:var(--sh)}
.dt-toc-h{font-size:11px;letter-spacing:.08em;color:var(--g3);padding:0 12px 8px}
.dt-toc a{display:block;padding:7px 12px;border-radius:7px;font-size:12.5px;color:var(--g1);
  text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background .15s,color .15s}
.dt-toc a:hover{background:var(--bg);color:var(--ink)}
.dt-toc a.on{background:var(--orange-50);color:var(--orange-d);font-weight:500}

/* ── 深色 ── */
[data-theme="dark"] .dt-card{box-shadow:none}
[data-theme="dark"] .dt-meta,
[data-theme="dark"] .dt-html blockquote{background:rgba(255,255,255,.03)}
[data-theme="dark"] .dt-toc a:hover{background:rgba(255,255,255,.05)}
[data-theme="dark"] .dt-key .dt-html,
[data-theme="dark"] .ai-brief{background:rgba(242,101,34,.08)}

/* ── 响应式 ── */
@media (max-width:1100px){
  .dt-toc{display:none}
}
@media (max-width:720px){
  .dt-head{padding:18px 16px 16px}
  .dt-body{padding:20px 16px 24px;font-size:calc(15px * var(--dt-fs))}
  .dt-head h1{font-size:18px}
  .dt-meta span{padding:0 10px}
  .dt-extra{padding:16px 14px}
}
