:root{
  --navy:#0d1b3e; --blue:#2b6ef0; --blue-d:#1b54c8; --ink:#16223d; --muted:#5b6b88;
  --line:#e6ebf3; --bg:#f6f8fc; --code:#0f2147; --ok:#16a34a; --warn:#b45309;
  --sidebar:280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}

/* top bar */
.topbar{position:sticky;top:0;z-index:40;background:rgba(13,27,62,.95);backdrop-filter:blur(8px);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.topbar .in{display:flex;align-items:center;gap:12px;height:58px;padding:0 18px;max-width:1180px;margin:0 auto}
.topbar .brand{display:flex;align-items:center;gap:9px}
.topbar .brand img{height:34px;display:block}
.topbar .brand .wm{display:flex;flex-direction:column;line-height:1.04}
.topbar .brand .wm b{font-size:18px;font-weight:850;color:#fff}
.topbar .brand .wm b i{color:#6ea8ff;font-style:normal}
.topbar .brand .wm em{font-size:9px;font-style:normal;font-weight:600;color:#dbe6ff;margin-top:2px}
@media(max-width:560px){.topbar .brand .wm em{display:none}}
.topbar .sp{flex:1}
.topbar a.lnk{color:#cdd8ee;font-size:14px;font-weight:600}
.topbar a.lnk:hover{color:#fff;text-decoration:none}
.burger{display:none;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;width:38px;height:34px;font-size:18px;cursor:pointer}

.layout{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:var(--sidebar) 1fr;gap:34px;padding:0 18px}

/* sidebar */
aside.nav{position:sticky;top:58px;align-self:start;height:calc(100vh - 58px);overflow-y:auto;padding:24px 10px 60px}
aside.nav .grp{font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:800;margin:18px 10px 6px}
aside.nav a{display:block;padding:7px 12px;border-radius:8px;color:#33445f;font-size:14px;font-weight:500;border-left:2px solid transparent}
aside.nav a:hover{background:var(--bg);text-decoration:none}
aside.nav a.active{background:#eef3ff;color:var(--blue-d);font-weight:700;border-left-color:var(--blue)}
.navback{display:none}

/* content */
main.doc{padding:30px 0 90px;min-width:0;max-width:760px}
main.doc h1{font-size:34px;font-weight:850;letter-spacing:-.5px;margin:6px 0 6px}
main.doc .lede{color:var(--muted);font-size:17px;margin:0 0 26px}
main.doc section{padding-top:26px;margin-top:18px;border-top:1px solid var(--line);scroll-margin-top:74px}
main.doc section:first-of-type{border-top:none}
main.doc h2{font-size:24px;font-weight:800;margin:8px 0 10px;letter-spacing:-.3px}
main.doc h3{font-size:17.5px;font-weight:750;margin:22px 0 6px}
main.doc p{margin:10px 0}
main.doc ul,main.doc ol{margin:10px 0;padding-left:22px}
main.doc li{margin:6px 0}
main.doc ol.steps{counter-reset:s;list-style:none;padding-left:0}
main.doc ol.steps>li{position:relative;padding:4px 0 14px 44px;margin:0}
main.doc ol.steps>li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:2px;width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}
main.doc ol.steps>li:not(:last-child)::after{content:"";position:absolute;left:13px;top:32px;bottom:0;width:2px;background:var(--line)}

code{background:#eef2fa;color:var(--code);padding:2px 7px;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px;font-weight:600;word-break:break-all}
.copybox{display:flex;align-items:center;gap:10px;background:#0f2147;color:#dce6ff;border-radius:10px;padding:12px 14px;margin:12px 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px;overflow:auto}
.copybox b{color:#7fd3a3}

.note{border-radius:12px;padding:14px 16px;margin:16px 0;font-size:14.5px;border:1px solid}
.note.tip{background:#f0f9ff;border-color:#bae6fd;color:#0c4a6e}
.note.warn{background:#fff7ed;border-color:#fed7aa;color:#7c2d12}
.note.info{background:var(--bg);border-color:var(--line);color:#33445f}
.note b{font-weight:800}

table.t{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}
table.t th,table.t td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
table.t th{background:var(--bg);font-weight:700}
table.t code{font-size:12.5px}

.pillrow{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.pillrow span{background:#eef3ff;color:var(--blue-d);border:1px solid #d7e3ff;border-radius:999px;padding:4px 11px;font-size:12.5px;font-weight:700}

footer.foot{border-top:1px solid var(--line);color:var(--muted);font-size:13.5px;padding:26px 0;margin-top:30px}

@media(max-width:900px){
  .layout{grid-template-columns:1fr}
  .burger{display:block}
  aside.nav{position:fixed;top:0;left:0;bottom:0;height:100vh;width:280px;background:#fff;z-index:60;box-shadow:0 0 40px rgba(0,0,0,.18);transform:translateX(-100%);transition:transform .22s;padding-top:18px}
  aside.nav.open{transform:none}
  .navback{display:none;position:fixed;inset:0;background:rgba(8,16,38,.5);z-index:55}
  .navback.show{display:block}
  main.doc h1{font-size:27px}
}
