/* ===== mShell 文档样式（依赖 styles.css 的变量） ===== */
body.docs{padding-top:60px}

/* 双语：按 <html> 上的 lang-en 类切换显隐 */
html.lang-en .l-zh{display:none}
html:not(.lang-en) .l-en{display:none}

.dtop{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;gap:16px;
  padding:11px clamp(14px,3vw,28px);background:rgba(8,9,11,.82);backdrop-filter:saturate(160%) blur(16px);
  border-bottom:1px solid var(--line)}
.dtop .nav__brand{font-size:17px}
.dtop__docs{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--green);
  border:1px solid rgba(52,226,154,.3);background:rgba(52,226,154,.08);padding:1px 7px;border-radius:6px;margin-left:2px}
.dtop__actions{margin-left:auto;display:flex;align-items:center;gap:14px}
.dtop__home{color:var(--txt-dim);font-size:14px;font-weight:500;transition:color .2s}
.dtop__home:hover{color:var(--green)}
.dburger{display:none;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--txt);
  border-radius:9px;width:38px;height:34px;font-size:16px;cursor:pointer}

.dlayout{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:248px 1fr;gap:40px;padding:0 24px}

/* 侧栏 */
.dsb{position:sticky;top:60px;align-self:start;height:calc(100vh - 60px);overflow-y:auto;padding:30px 8px 40px}
.dsb__group{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-faint);
  margin:22px 12px 8px}
.dsb__group:first-child{margin-top:0}
.dsb__link{display:block;padding:8px 12px;border-radius:9px;color:var(--txt-dim);font-size:14.5px;font-weight:500;
  transition:background .15s,color .15s;border-left:2px solid transparent}
.dsb__link:hover{background:rgba(255,255,255,.04);color:var(--txt)}
.dsb__link.active{color:var(--green);background:rgba(52,226,154,.08);border-left-color:var(--green);font-weight:600}
.dsb__scrim{display:none}

/* 正文 */
.dmain{min-width:0;padding:40px 0 60px}
.doc h1{font-size:clamp(28px,4vw,40px);font-weight:800;letter-spacing:-.02em;margin:0 0 18px}
.doc .lead{font-size:19px;color:var(--txt-dim);line-height:1.6;margin:0 0 26px}
.doc h2{font-size:22px;font-weight:700;margin:38px 0 14px;padding-top:18px;border-top:1px solid var(--line)}
.doc h3{font-size:17px;font-weight:700;margin:24px 0 10px}
.doc p{color:var(--txt);font-size:16px;line-height:1.75;margin:0 0 14px}
.doc ul,.doc ol{color:var(--txt);font-size:16px;line-height:1.75;padding-left:22px;margin:0 0 16px}
.doc li{margin:6px 0}
.doc ul ul,.doc ol ul{margin:6px 0}
.doc a{color:var(--green);text-decoration:none;border-bottom:1px solid rgba(52,226,154,.35)}
.doc a:hover{border-bottom-color:var(--green)}
.doc strong{color:#fff;font-weight:700}
.doc code{font-family:var(--mono);font-size:.86em;background:rgba(52,226,154,.1);color:#8af0c4;
  border:1px solid rgba(52,226,154,.18);padding:1px 6px;border-radius:5px}
.doc kbd{font-family:var(--mono);font-size:.82em;background:#1b1f24;color:#e9ecef;border:1px solid var(--line-2);
  border-bottom-width:2px;padding:2px 7px;border-radius:6px;white-space:nowrap}

.doc-steps{list-style:none;counter-reset:s;padding-left:0}
.doc-steps>li{counter-increment:s;position:relative;padding-left:42px;margin:14px 0}
.doc-steps>li::before{content:counter(s);position:absolute;left:0;top:-2px;width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;font-size:13px;font-weight:800;color:var(--green);
  background:rgba(52,226,154,.1);border:1px solid rgba(52,226,154,.3)}

.doc-table{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:15px}
.doc-table th,.doc-table td{text-align:left;padding:10px 14px;border:1px solid var(--line)}
.doc-table th{background:rgba(255,255,255,.03);color:var(--txt-dim);font-weight:600;font-size:13px;
  text-transform:uppercase;letter-spacing:.04em}
.doc-table td{color:var(--txt)}

.doc-note{background:rgba(52,226,154,.06);border:1px solid rgba(52,226,154,.22);border-left:3px solid var(--green);
  border-radius:10px;padding:14px 16px;font-size:15px;color:var(--txt-dim);line-height:1.65;margin:18px 0}
.doc-note strong{color:var(--green)}
.doc-note--warn{background:rgba(243,178,74,.07);border-color:rgba(243,178,74,.28);border-left-color:#f3b24a}
.doc-note--warn strong{color:#f3b24a}

/* 上/下篇 */
.docnav-wrap{display:flex;justify-content:space-between;gap:16px;margin-top:46px;padding-top:24px;border-top:1px solid var(--line)}
.docnav{display:flex;flex-direction:column;gap:3px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;
  background:linear-gradient(180deg,var(--panel),var(--bg-soft));transition:border-color .2s,transform .2s;max-width:46%}
.docnav:hover{border-color:rgba(52,226,154,.4);transform:translateY(-2px)}
.docnav span{font-size:12px;color:var(--txt-faint)}
.docnav b{font-size:15px;color:var(--txt);font-weight:600}
.docnav--next{text-align:right;margin-left:auto}

.dfoot{display:flex;justify-content:space-between;color:var(--txt-faint);font-size:13px;
  margin-top:50px;padding-top:24px;border-top:1px solid var(--line)}
.dfoot a{color:var(--txt-faint)}
.dfoot a:hover{color:var(--green)}
.dfoot__links a{margin:0 2px}

/* ===== 法律页（用户协议 / 隐私政策） ===== */
.legal{max-width:800px;margin:0 auto;padding:44px 24px 40px}
.legal .doc h2{font-size:20px}
.legal__meta{color:var(--txt-faint);font-size:13.5px;font-family:var(--mono);margin:0 0 26px}
.legal__meta b{color:var(--txt-dim);font-weight:600}

/* 响应式 */
@media (max-width:860px){
  .dburger{display:grid;place-items:center}
  .dlayout{grid-template-columns:1fr;gap:0}
  .dsb{position:fixed;top:60px;left:0;bottom:0;width:270px;background:var(--bg-soft);border-right:1px solid var(--line);
    transform:translateX(-100%);transition:transform .25s;z-index:55;padding:20px 10px 40px;height:auto}
  body.dsb-open .dsb{transform:none}
  body.dsb-open .dsb__scrim{display:block;position:fixed;inset:60px 0 0;background:rgba(0,0,0,.5);z-index:54}
  .dmain{padding:24px 0 50px}
}
