/* =========================================================
 * fyfish code 文档页样式（浅色主题，与社区页 community-light.css 一致）
 * 三栏布局：左侧导航 + 中间内容 + 右侧 TOC
 * ========================================================= */

.docs-body{
  background:#f6f8fb;
  color:#1e293b;
  min-height:100vh;
}

/* ===== 主体三栏布局 ===== */
.docs-layout{
  display:grid;
  grid-template-columns:280px minmax(0,1fr) 240px;
  gap:0;
  max-width:1440px;
  margin:0 auto;
  padding-top:64px; /* navbar 高度 */
  min-height:calc(100vh - 64px);
}

/* ===== 左侧导航 ===== */
.docs-sidebar{
  position:sticky;
  top:64px;
  height:calc(100vh - 64px);
  overflow-y:auto;
  border-right:1px solid rgba(15,23,42,.08);
  background:rgba(255,255,255,.6);
  padding:24px 0 60px;
  scrollbar-width:thin;
  scrollbar-color:rgba(15,23,42,.12) transparent;
}
.docs-sidebar::-webkit-scrollbar{width:6px}
.docs-sidebar::-webkit-scrollbar-thumb{background:rgba(15,23,42,.1);border-radius:3px}

.docs-sidebar-search{
  padding:0 16px 16px;
}
.docs-sidebar-search input{
  width:100%;
  background:#fff;
  border:1px solid rgba(15,23,42,.12);
  border-radius:8px;
  color:#1e293b;
  font-size:13px;
  padding:8px 12px 8px 34px;
  transition:border-color .2s,background .2s,box-shadow .2s;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'><circle cx='11' cy='11' r='7' stroke='%2394a3b8' stroke-width='1.6'/><path d='M21 21l-4-4' stroke='%2394a3b8' stroke-width='1.6' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;
  background-position:12px center;
}
.docs-sidebar-search input::placeholder{color:#94a3b8}
.docs-sidebar-search input:focus{
  outline:none;
  border-color:rgba(59,130,246,.4);
  background-color:#fff;
  box-shadow:0 0 0 3px rgba(59,130,246,.1);
}

/* 分组 */
.docs-nav-group{margin-bottom:4px}
.docs-nav-group-head{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  padding:10px 16px;
  background:none;
  border:none;
  cursor:pointer;
  color:#475569;
  font-size:13px;
  font-weight:600;
  letter-spacing:.02em;
  text-align:left;
  transition:color .2s,background .2s;
}
.docs-nav-group-head:hover{color:#0f172a;background:rgba(15,23,42,.04)}
.docs-nav-group-icon{
  width:18px;height:18px;
  display:inline-flex;align-items:center;justify-content:center;
  color:#2563eb;
}
.docs-nav-group-icon svg{width:18px;height:18px}
.docs-nav-group-title{flex:1;min-width:0}
.docs-nav-group-arrow{
  color:#94a3b8;
  transition:transform .25s;
  display:inline-flex;
}
.docs-nav-group.open .docs-nav-group-arrow{transform:rotate(180deg)}

.docs-nav-group-list{
  list-style:none;
  margin:0;
  padding:0;
  max-height:0;
  overflow:hidden;
  transition:max-height .3s ease;
}
.docs-nav-group.open .docs-nav-group-list{max-height:600px}

.docs-nav-link{
  display:block;
  padding:7px 16px 7px 42px;
  font-size:13px;
  color:#475569;
  border-left:2px solid transparent;
  transition:all .2s;
  position:relative;
}
.docs-nav-link:hover{color:#0f172a;background:rgba(15,23,42,.04)}
.docs-nav-link.active{
  color:#0284c7;
  background:#e0f2fe;
  border-left-color:#0284c7;
  font-weight:600;
}

/* ===== 中间内容区 ===== */
.docs-content{
  min-width:0;
  padding:32px 48px 80px;
  overflow-y:auto;
  max-height:calc(100vh - 64px);
  scrollbar-width:thin;
  scrollbar-color:rgba(15,23,42,.12) transparent;
}
.docs-content::-webkit-scrollbar{width:8px}
.docs-content::-webkit-scrollbar-thumb{background:rgba(15,23,42,.1);border-radius:4px}

.docs-content-inner{
  max-width:820px;
  margin:0 auto;
}

/* 面包屑 */
.docs-breadcrumb{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:#64748b;
  margin-bottom:24px;
  font-family:'JetBrains Mono',monospace;
}
.docs-crumb-home{color:#475569;transition:color .2s}
.docs-crumb-home:hover{color:#2563eb}
.docs-crumb-sep{color:#cbd5e1}
.docs-crumb-group{color:#475569}

/* 文章头 */
.docs-article-title{
  font-size:32px;
  font-weight:800;
  color:#0f172a;
  line-height:1.2;
  margin-bottom:12px;
  letter-spacing:-.02em;
}
.docs-article-summary{
  font-size:15px;
  color:#64748b;
  line-height:1.6;
  margin-bottom:24px;
  padding-bottom:24px;
  border-bottom:1px solid rgba(15,23,42,.08);
}

/* ===== Markdown 元素渲染 ===== */
.docs-article{font-size:15px;line-height:1.75;color:#334155}
.docs-article .md-h{color:#0f172a;font-weight:700;line-height:1.3;margin-top:32px;margin-bottom:14px}
.docs-article .md-h1{font-size:26px;padding-bottom:10px;border-bottom:1px solid rgba(15,23,42,.08)}
.docs-article .md-h2{font-size:21px}
.docs-article .md-h3{font-size:17px}
.docs-article .md-h:first-child{margin-top:0}

.docs-article .md-p{margin:14px 0;color:#334155}
.docs-article .md-p code,.docs-article code.md-code{
  font-family:'JetBrains Mono','Fira Code',monospace;
  background:rgba(59,130,246,.08);
  color:#2563eb;
  padding:2px 6px;
  border-radius:4px;
  font-size:.9em;
  border:1px solid rgba(59,130,246,.18);
}

.docs-article .md-pre{
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.1);
  border-radius:10px;
  padding:18px 20px;
  overflow-x:auto;
  margin:18px 0;
  position:relative;
  scrollbar-width:thin;
  scrollbar-color:rgba(15,23,42,.15) transparent;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.04);
}
.docs-article .md-pre::-webkit-scrollbar{height:8px}
.docs-article .md-pre::-webkit-scrollbar-thumb{background:rgba(15,23,42,.12);border-radius:4px}
.docs-article .md-pre .md-block{
  font-family:'JetBrains Mono','Fira Code',monospace;
  font-size:13px;
  line-height:1.65;
  color:#0f172a;
  white-space:pre;
}
.docs-article .md-pre .lang-bash{color:#0f172a}
.docs-article .md-pre .lang-toml{color:#92400e}
.docs-article .md-pre .lang-c{color:#0369a1}

/* 代码块逐行渲染 + 复制按钮 */
.docs-article .md-code-block{
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.1);
  border-radius:10px;
  padding:14px 0;
  overflow-x:auto;
  margin:18px 0;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.04);
}
.docs-article .md-code-line{
  display:flex;align-items:center;
  padding:1px 20px;
  position:relative;
}
.docs-article .md-code-line:hover{background:rgba(59,130,246,.05)}
.docs-article .md-code-text{
  flex:1;
  font-family:'JetBrains Mono','Fira Code',monospace;
  font-size:13px;line-height:1.7;
  color:#0f172a;
  white-space:pre;
}
.docs-article .md-code-comment{
  font-family:'JetBrains Mono','Fira Code',monospace;
  font-size:13px;line-height:1.7;
  color:#94a3b8;
  white-space:pre;
  padding:1px 20px;
}
.docs-article .md-copy-btn{
  display:inline-flex;align-items:center;gap:3px;
  padding:2px 8px;margin-left:16px;
  font-size:12px;font-family:inherit;
  color:#64748b;background:rgba(255,255,255,.85);
  border:1px solid rgba(15,23,42,.12);border-radius:6px;
  cursor:pointer;opacity:.7;transition:color .15s ease,background .15s ease,opacity .15s ease;
  flex-shrink:0;
}
.docs-article .md-copy-btn:hover{opacity:1;color:#2563eb;background:#fff;border-color:rgba(37,99,235,.3)}
.docs-article .md-copy-btn.copied{color:#16a34a;background:#f0fdf4;border-color:rgba(22,163,74,.3)}
.docs-article .md-copy-btn svg{flex-shrink:0}
.docs-article .md-code-hint{
  margin-left:16px;
  font-size:12px;font-family:inherit;
  color:#94a3b8;
  white-space:nowrap;
}

.docs-article .md-quote{
  border-left:3px solid #2563eb;
  background:rgba(59,130,246,.05);
  padding:12px 16px;
  margin:16px 0;
  color:#334155;
  border-radius:0 6px 6px 0;
  font-size:14px;
}
.docs-article .md-quote code{background:rgba(59,130,246,.14)}

.docs-article .md-ul,.docs-article .md-ol{
  margin:14px 0;
  padding-left:24px;
}
.docs-article .md-ul li{list-style:disc;color:#334155;margin:4px 0}
.docs-article .md-ol li{list-style:decimal;color:#334155;margin:4px 0}
.docs-article .md-ul li code,.docs-article .md-ol li code{font-size:.9em}

.docs-article .md-table-wrap{
  margin:20px 0;
  overflow-x:auto;
  border-radius:10px;
  border:1px solid rgba(15,23,42,.1);
  box-shadow:0 1px 2px rgba(15,23,42,.04);
  scrollbar-width:thin;
}
.docs-article .md-table-wrap::-webkit-scrollbar{height:8px}
.docs-article .md-table-wrap::-webkit-scrollbar-thumb{background:rgba(15,23,42,.12);border-radius:4px}
.docs-article .md-table{
  width:100%;
  border-collapse:collapse;
  font-size:13.5px;
  background:#fff;
}
.docs-article .md-table th{
  background:#f8fafc;
  color:#0f172a;
  font-weight:600;
  text-align:left;
  padding:10px 14px;
  border-bottom:1px solid rgba(15,23,42,.1);
  white-space:nowrap;
}
.docs-article .md-table td{
  padding:10px 14px;
  border-bottom:1px solid rgba(15,23,42,.05);
  color:#334155;
  vertical-align:top;
}
.docs-article .md-table tbody tr:hover{background:#f0f7ff}
.docs-article .md-table td code{font-size:.9em}
.docs-article .md-table tr:last-child td{border-bottom:none}

/* Figure containers for SVG diagrams */
.docs-article .md-figure{
  background:#fff;
  border:1px solid rgba(15,23,42,.1);
  border-radius:12px;
  padding:20px;
  margin:20px 0;
  overflow-x:auto;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.docs-article .md-figure svg{
  display:block;
  max-width:100%;
  height:auto;
  margin:0 auto;
}
.docs-article .md-figure .md-figure-caption{
  text-align:center;
  color:#64748b;
  font-size:12px;
  margin-top:10px;
}

.docs-article .md-hr{
  border:none;
  border-top:1px solid rgba(15,23,42,.08);
  margin:32px 0;
}
.docs-article strong{color:#0f172a;font-weight:600}
.docs-article em{color:#0369a1;font-style:italic}
.docs-article a{color:#2563eb;text-decoration:none;border-bottom:1px solid rgba(37,99,235,.3)}
.docs-article a:hover{color:#1d4ed8;border-bottom-color:#1d4ed8}

/* 文档尾部提示 */
.docs-edit-hint{
  margin-top:48px;
  padding:14px 18px;
  border:1px dashed rgba(15,23,42,.15);
  border-radius:8px;
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:#64748b;
  background:#f8fafc;
}
.docs-edit-hint svg{flex-shrink:0;color:#94a3b8}

/* ===== 右侧 TOC ===== */
.docs-toc{
  position:sticky;
  top:64px;
  height:calc(100vh - 64px);
  overflow-y:auto;
  padding:32px 16px 60px;
  scrollbar-width:thin;
  scrollbar-color:rgba(15,23,42,.12) transparent;
}
.docs-toc::-webkit-scrollbar{width:6px}
.docs-toc::-webkit-scrollbar-thumb{background:rgba(15,23,42,.1);border-radius:3px}

.docs-toc-head{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:#94a3b8;
  font-weight:600;
  margin-bottom:14px;
  padding-left:12px;
}
.docs-toc-list{
  list-style:none;
  margin:0;
  padding:0;
  border-left:2px solid rgba(15,23,42,.08);
}
.docs-toc-item{margin:0}
.docs-toc-item a{
  display:block;
  font-size:12.5px;
  color:#64748b;
  padding:5px 12px;
  border-left:2px solid transparent;
  margin-left:-2px;
  transition:all .2s;
  line-height:1.4;
}
.docs-toc-item a:hover{color:#0f172a}
.docs-toc-item a.active{
  color:#0284c7;
  border-left-color:#0284c7;
  background:#e0f2fe;
  font-weight:500;
}
.docs-toc-l1{font-weight:600}
.docs-toc-l2 a{padding-left:24px;font-size:12px}
.docs-toc-l3 a{padding-left:36px;font-size:11.5px;color:#94a3b8}

/* ===== 文档首页（overview） ===== */
.docs-overview{padding:8px 0 40px}
.docs-overview-hero{
  text-align:center;
  padding:32px 0 40px;
  margin-bottom:32px;
  border-bottom:1px solid rgba(15,23,42,.08);
}
.docs-overview-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:5px 14px;
  background:rgba(59,130,246,.08);
  border:1px solid rgba(59,130,246,.18);
  border-radius:100px;
  font-size:12px;
  color:#2563eb;
  font-weight:500;
  letter-spacing:.04em;
  margin-bottom:18px;
}
.eyebrow-dot{
  width:6px;height:6px;
  background:#2563eb;
  border-radius:50%;
  animation:docs-pulse 2s ease infinite;
}
@keyframes docs-pulse{
  0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(37,99,235,.6)}
  50%{opacity:.6;box-shadow:0 0 0 6px rgba(37,99,235,0)}
}
.docs-overview-title{
  font-size:clamp(32px,5vw,44px);
  font-weight:800;
  color:#0f172a;
  margin-bottom:14px;
  letter-spacing:-.02em;
}
.docs-overview-subtitle{
  font-size:16px;
  color:#64748b;
  margin-bottom:32px;
  line-height:1.7;
}
.docs-overview-search{
  display:flex;
  align-items:center;
  max-width:520px;
  margin:0 auto;
  position:relative;
}
.docs-overview-search svg{
  position:absolute;
  left:14px;
  color:#94a3b8;
  pointer-events:none;
}
.docs-overview-search input{
  width:100%;
  background:#fff;
  border:1px solid rgba(15,23,42,.12);
  border-radius:10px;
  color:#1e293b;
  font-size:14px;
  padding:12px 14px 12px 40px;
  transition:border-color .2s,box-shadow .2s;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.docs-overview-search input::placeholder{color:#94a3b8}
.docs-overview-search input:focus{
  outline:none;
  border-color:rgba(59,130,246,.4);
  box-shadow:0 0 0 3px rgba(59,130,246,.1);
}

.docs-overview-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:16px;
}
.docs-overview-card{
  display:flex;
  gap:14px;
  padding:20px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:12px;
  transition:all .25s ease;
  text-decoration:none;
  color:inherit;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.docs-overview-card:hover{
  background:#fff;
  border-color:rgba(59,130,246,.3);
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(15,23,42,.08);
}
.docs-overview-card-icon{
  width:40px;height:40px;
  flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(59,130,246,.1);
  border-radius:10px;
  color:#2563eb;
}
.docs-overview-card-icon svg{width:22px;height:22px}
.docs-overview-card-body h3{
  font-size:16px;
  font-weight:700;
  color:#0f172a;
  margin-bottom:4px;
}
.docs-overview-card-body p{
  font-size:12px;
  color:#94a3b8;
  margin-bottom:10px;
}
.docs-overview-card-list{
  list-style:none;
  padding:0;
  margin:0;
  font-size:12.5px;
  color:#64748b;
}
.docs-overview-card-list li{
  padding:3px 0;
  border-bottom:1px dashed rgba(15,23,42,.06);
}
.docs-overview-card-list li:last-child{border-bottom:none}
.docs-overview-card-list li.more{
  color:#2563eb;
  font-size:11.5px;
  font-weight:600;
  padding-top:6px;
}

/* ===== 移动端 ===== */
.docs-sidebar-toggle{
  display:none;
  position:fixed;
  bottom:24px;
  right:24px;
  width:48px;
  height:48px;
  border-radius:50%;
  background:#2563eb;
  color:#fff;
  border:none;
  cursor:pointer;
  z-index:1001;
  box-shadow:0 8px 24px rgba(37,99,235,.4);
  align-items:center;
  justify-content:center;
}
.docs-sidebar-toggle svg{width:22px;height:22px}

.docs-mask{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.45);
  backdrop-filter:blur(2px);
  z-index:998;
}
.docs-mask.show{display:block}

@media (max-width: 1100px){
  .docs-layout{grid-template-columns:240px minmax(0,1fr)}
  .docs-toc{display:none}
  .docs-content{padding:24px 32px 80px}
}
@media (max-width: 768px){
  .docs-layout{grid-template-columns:1fr;padding-top:56px}
  .docs-sidebar{
    position:fixed;
    top:56px;
    left:0;
    width:280px;
    height:calc(100vh - 56px);
    transform:translateX(-100%);
    transition:transform .3s ease;
    z-index:999;
    background:#fff;
    box-shadow:4px 0 24px rgba(15,23,42,.12);
  }
  .docs-sidebar.open{transform:translateX(0)}
  .docs-sidebar-toggle{display:flex}
  .docs-content{padding:20px 16px 80px;max-height:none;overflow:visible}
  .docs-content-inner{max-width:100%}
  .docs-article-title{font-size:24px}
  .docs-article .md-h1{font-size:22px}
  .docs-article .md-h2{font-size:18px}
  .docs-overview-grid{grid-template-columns:1fr}
  .docs-overview-search{max-width:100%}
}

/* ===== 与社区页一致的导航 active 状态 ===== */
.nav-links a.docs-nav-active{
  color:#0f172a;
}
.nav-links a.docs-nav-active::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:-6px;
  height:2px;
  background:linear-gradient(90deg,#2563eb,#0284c7);
  border-radius:2px;
}

/* ============================================================
   移植组件样式（对齐源文档 fyfish-text-only-architecture.html
   / fyfish-memory-system-slides(1).html 的视觉格式）
   ============================================================ */
.docs-article .subtitle{
  font-size:16px;
  color:#64748b;
  margin:0 0 32px;
  line-height:1.6;
  border-left:3px solid #2563eb;
  padding-left:16px;
}
.docs-article .card{
  background:#ffffff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:12px;
  padding:20px 24px;
  margin:0 0 24px;
}
.docs-article .card .card-title{
  font-size:15px;
  font-weight:700;
  color:#0f172a;
  margin:0 0 12px;
  display:flex;
  align-items:center;
  gap:8px;
  border-bottom:none;
}
.docs-article .card p{font-size:14px;margin:0 0 8px;line-height:1.7}
.docs-article .card p:last-child{margin:0}
.docs-article .tag{
  display:inline-block;
  font-size:11px;
  font-weight:700;
  padding:2px 10px;
  border-radius:100px;
  letter-spacing:.02em;
  text-transform:uppercase;
  white-space:nowrap;
}
.docs-article .tag-blue{background:rgba(59,130,246,.12);color:#2563eb}
.docs-article .tag-green{background:rgba(16,185,129,.12);color:#059669}
.docs-article .tag-amber{background:rgba(245,158,11,.12);color:#d97706}
.docs-article .tag-purple{background:rgba(139,92,246,.12);color:#7c3aed}
.docs-article .tag-red{background:rgba(239,68,68,.12);color:#dc2626}
.docs-article .step-list{
  list-style:none;
  padding:0;
  margin:0 0 24px;
  counter-reset:step;
}
.docs-article .step-list li{
  counter-increment:step;
  position:relative;
  padding:0 0 24px 44px;
  border-left:2px solid rgba(15,23,42,.08);
  margin-left:20px;
  font-size:15px;
  line-height:1.7;
  color:#334155;
}
.docs-article .step-list li:last-child{border-color:transparent;padding-bottom:0}
.docs-article .step-list li::before{
  content:counter(step);
  position:absolute;
  left:-22px;
  top:0;
  width:36px;
  height:36px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#2563eb,#0284c7);
  color:#fff;
  font-size:14px;
  font-weight:700;
  box-shadow:0 2px 6px rgba(37,99,235,.25);
}
.docs-article .figure-container{
  background:#ffffff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:12px;
  padding:24px;
  margin:0 0 24px;
  overflow-x:auto;
}
.docs-article .figure-container svg{
  display:block;
  margin:0 auto;
  max-width:100%;
  height:auto;
}
.docs-article .figure-container .fig-caption{
  text-align:center;
  font-size:13px;
  color:#64748b;
  margin-top:12px;
}
.docs-article .figure{
  background:#ffffff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:12px;
  padding:24px;
  margin:0 0 24px;
  overflow-x:auto;
}
.docs-article .figure svg{
  display:block;
  margin:0 auto;
  max-width:100%;
  height:auto;
}
/* html-block 内原生 pre/blockquote（源文档移植，.md-pre/.md-quote 特异性更高优先） */
.docs-article pre{
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
  border-radius:10px;
  padding:16px 20px;
  overflow-x:auto;
  margin:0 0 20px;
  position:relative;
  line-height:1.65;
}
.docs-article pre code{
  background:none;
  color:#1e293b;
  padding:0;
  font-size:13px;
  line-height:1.65;
  font-family:"JetBrains Mono","SF Mono",ui-monospace,monospace;
}
.docs-article blockquote{
  margin:0 0 20px;
  padding:12px 16px;
  border-left:3px solid #2563eb;
  background:rgba(59,130,246,.04);
  border-radius:0 8px 8px 0;
  color:#334155;
  font-size:14px;
  line-height:1.65;
}
.docs-article blockquote strong{color:#2563eb}

/* 并列要点卡片（对齐源文档记忆系统 doc-cards/doc-card） */
.docs-article .doc-cards{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:14px;
  margin:16px 0;
}
.docs-article .doc-card{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:12px;
  padding:14px 16px;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.docs-article .doc-card h4{
  margin:0 0 6px;
  font-size:14px;
  color:#0284c7;
  font-weight:700;
}
.docs-article .doc-card p{
  margin:0;
  font-size:13px;
  color:#64748b;
  line-height:1.6;
}
.docs-article .doc-card ul{margin:6px 0 0;padding-left:18px}
.docs-article .doc-card li{font-size:13px;color:#64748b;margin:3px 0}

/* 标签 pill（对齐源文档记忆系统） */
.docs-article .pill{
  display:inline-block;
  padding:2px 10px;
  border-radius:999px;
  font-size:12px;
  margin:2px 4px 2px 0;
  font-weight:500;
}
.docs-article .pill-info{background:rgba(59,130,246,.12);color:#2563eb;border:1px solid rgba(59,130,246,.25)}
.docs-article .pill-good{background:rgba(22,163,74,.12);color:#16a34a;border:1px solid rgba(22,163,74,.25)}
.docs-article .pill-warn{background:rgba(234,88,12,.12);color:#ea580c;border:1px solid rgba(234,88,12,.25)}
.docs-article .pill-bad{background:rgba(220,38,38,.12);color:#dc2626;border:1px solid rgba(220,38,38,.25)}
.docs-article .pill-purple{background:rgba(124,58,237,.12);color:#7c3aed;border:1px solid rgba(124,58,237,.25)}

/* 步骤列表 steps（对齐源文档记忆系统端到端案例） */
.docs-article .steps{
  counter-reset:step;
  list-style:none;
  margin:14px 0;
  padding:0;
}
.docs-article .steps li{
  position:relative;
  padding:8px 0 8px 44px;
  border-bottom:1px dashed rgba(15,23,42,.08);
  font-size:14px;
  color:#334155;
}
.docs-article .steps li:last-child{border-bottom:none}
.docs-article .steps li::before{
  counter-increment:step;
  content:counter(step);
  position:absolute;
  left:0;
  top:8px;
  width:28px;
  height:28px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#2563eb,#0284c7);
  color:#fff;
  font-weight:700;
  font-size:13px;
  box-shadow:0 2px 6px rgba(37,99,235,.25);
}
