:root{
  --bg:#f7f9fc;
  --surface:#ffffff;
  --surface-soft:#f8fafc;
  --surface-blue:#f3f7ff;
  --text:#151821;
  --muted:#6f7787;
  --muted-2:#98a1b2;
  --line:#e4e8f0;
  --line-strong:#d7deea;
  --brand:#2368ff;
  --brand-2:#625bff;
  --brand-soft:#edf4ff;
  --ok:#13a867;
  --ok-bg:#eefbf5;
  --ok-line:#cdf1df;
  --warn:#f59e0b;
  --danger:#e84b5b;
  --danger-bg:#fff1f3;
  --danger-line:#ffd6dc;
  --shadow:0 14px 40px rgba(32,50,91,.07);
  --shadow-soft:0 8px 24px rgba(32,50,91,.05);
  --radius-lg:22px;
  --radius-md:16px;
  --radius-sm:12px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(circle at 16% -8%, rgba(72,126,255,.08), transparent 28%),
    radial-gradient(circle at 92% 8%, rgba(120,91,255,.06), transparent 24%),
    var(--bg);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",
    Roboto,"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  line-height:1.7;
}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.hidden{display:none!important}

/* ---------- Topbar ---------- */
.topbar{
  position:sticky;top:0;z-index:20;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(228,232,240,.9);
}
.topbar-inner{
  max-width:1180px;margin:0 auto;padding:14px 24px;min-height:72px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.brand{display:flex;align-items:center;gap:12px;min-width:0;color:var(--text)}
.brand-mark{
  width:42px;height:42px;flex:0 0 auto;border-radius:12px;
  display:grid;place-items:center;color:#fff;
  background:#fff;
  box-shadow:0 9px 22px rgba(59,98,246,.25);overflow:hidden;
}
.brand-mark img{width:100%;height:100%;object-fit:contain;border-radius:10px}
.brand-name-row{display:flex;align-items:center;gap:8px;line-height:1}
.brand-name{font-weight:800;font-size:20px;letter-spacing:-.025em;white-space:nowrap}
.beta{
  display:inline-flex;align-items:center;height:24px;padding:0 9px;
  border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em;
  color:#9a6200;background:#fff3cf;border:1px solid #ffe6a4;
}
.brand-sub{margin-top:5px;font-size:12px;color:var(--muted);white-space:nowrap}

.lang-toggle{
  appearance:none;cursor:pointer;
  border:1px solid var(--line-strong);background:#fff;color:var(--text);
  font-weight:700;font-size:13px;letter-spacing:.03em;
  padding:8px 14px;border-radius:999px;min-width:54px;
  transition:all .15s ease;
}
.lang-toggle:hover{border-color:var(--brand);color:var(--brand);box-shadow:var(--shadow-soft)}

/* ---------- Doc layout ---------- */
.doc-shell{max-width:1180px;margin:0 auto;padding:30px 24px 16px}
.doc-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:start}

.doc-nav{
  position:sticky;top:96px;align-self:start;
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-md);box-shadow:var(--shadow-soft);
  padding:16px 14px;
}
.doc-nav h4{
  margin:0 0 10px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);
}
.doc-nav a{
  display:block;padding:7px 10px;border-radius:9px;color:var(--muted);
  font-size:13.5px;font-weight:600;margin-bottom:2px;
}
.doc-nav a:hover{background:var(--brand-soft);color:var(--brand);text-decoration:none}
.doc-nav a.active{background:var(--brand-soft);color:var(--brand)}

.doc-article{
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-lg);box-shadow:var(--shadow);
  padding:40px 44px;min-width:0;
}
.doc-article h1{font-size:30px;letter-spacing:-.03em;margin:0 0 6px;line-height:1.2}
.doc-article .lede{color:var(--muted);font-size:15px;margin:0 0 28px}
.doc-article section{scroll-margin-top:96px}
.doc-article h2{
  font-size:21px;letter-spacing:-.02em;margin:34px 0 12px;
  padding-top:10px;border-top:1px solid var(--line);scroll-margin-top:96px;
}
.doc-article h3{font-size:16.5px;margin:22px 0 8px}
.doc-article p{margin:10px 0;font-size:15px}
.doc-article ul,.doc-article ol{margin:10px 0;padding-left:22px;font-size:15px}
.doc-article li{margin:6px 0}
.doc-article code{
  background:var(--surface-blue);color:#1d4ed8;
  padding:2px 7px;border-radius:7px;font-size:13px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
.doc-article .steps{counter-reset:step;list-style:none;padding-left:0;margin:14px 0}
.doc-article .steps > li{
  position:relative;padding:6px 0 6px 44px;counter-increment:step;margin:0 0 10px;
}
.doc-article .steps > li::before{
  content:counter(step);position:absolute;left:0;top:6px;
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;
  font-weight:800;font-size:14px;
}
.callout{
  display:flex;gap:12px;padding:14px 16px;border-radius:var(--radius-md);
  font-size:14px;margin:18px 0;border:1px solid var(--line);background:var(--surface-soft);
}
.callout.warn{background:var(--danger-bg);border-color:var(--danger-line);color:#a32331}
.callout.info{background:var(--ok-bg);border-color:var(--ok-line);color:#0c6b45}
.callout strong{display:block;margin-bottom:2px}
.doc-meta{margin-top:30px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted-2);font-size:12.5px}

/* ---------- Footer ---------- */
.footer{
  margin-top:28px;padding:8px 4px 28px;
  display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;
  color:#8b94a3;font-size:12px;max-width:1180px;margin-left:auto;margin-right:auto;
}
.footer a{color:inherit;text-decoration:none;padding:4px 6px}
.footer a:hover{color:var(--brand)}
.footer .sep{opacity:.5}

/* ---------- Responsive ---------- */
@media (max-width:880px){
  .doc-layout{grid-template-columns:1fr}
  .doc-nav{position:static;top:auto}
  .doc-article{padding:26px 20px}
  .doc-article h1{font-size:25px}
}
