.docs{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:236px 1fr 200px;gap:0}
  /* left nav */
  .d-side{border-right:1px solid var(--line-2);padding:28px 20px 60px;position:sticky;top:58px;height:calc(100vh - 58px);overflow-y:auto}
  .d-side .grp{font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--tx-3);margin:20px 8px 8px}
  .d-side .grp:first-child{margin-top:0}
  .d-side a{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:8px;font-size:13px;color:var(--tx-2);text-decoration:none;transition:all 130ms}
  .d-side a:hover{background:var(--raise);color:var(--tx-1)}
  .d-side a.on{background:var(--raise);color:var(--tx-1);font-weight:600}
  .d-side a .pill{font-family:var(--font-mono);font-size:9px;color:var(--tx-3);border:1px solid var(--line);border-radius:5px;padding:1px 5px}
  /* content */
  .d-main{padding:40px 48px 80px;min-width:0}
  .d-crumb{font-family:var(--font-mono);font-size:11px;color:var(--tx-3);margin-bottom:18px}
  .d-crumb b{color:var(--tx-2);font-weight:500}
  .d-main h1{font-family:var(--font-display);font-weight:600;font-size:38px;letter-spacing:-0.03em;margin:0 0 14px}
  .d-lede{font-size:16px;color:var(--tx-2);line-height:1.6;margin:0 0 28px;max-width:640px}
  .d-main h2{font-family:var(--font-display);font-weight:600;font-size:22px;letter-spacing:-0.02em;margin:40px 0 12px;scroll-margin-top:74px}
  .d-main h2::before{content:"";display:block;height:1px;background:var(--line-2);margin-bottom:22px}
  .d-main p{font-size:14.5px;line-height:1.7;color:var(--tx-2);margin:0 0 16px;max-width:640px}
  .d-main p code,.d-li code{font-family:var(--font-mono);font-size:12.5px;background:var(--raise);border:1px solid var(--line-2);border-radius:5px;padding:1px 6px;color:var(--tx-1)}
  .d-main a.lnk{color:var(--tx-1);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--tx-3)}
  .d-steps{display:flex;flex-direction:column;gap:0;margin:0 0 24px;max-width:640px}
  .d-step{display:grid;grid-template-columns:28px 1fr;gap:14px;padding-bottom:20px;position:relative}
  .d-step:not(:last-child)::before{content:"";position:absolute;left:13px;top:30px;bottom:0;width:1px;background:var(--line)}
  .d-step .n{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;color:var(--tx-1);background:var(--surface);z-index:1}
  .d-step .b h3{font-size:14px;font-weight:600;margin:4px 0 4px}
  .d-step .b p{font-size:13px;margin:0}
  .codeblock{margin:0 0 24px;max-width:640px}
  .codeblock .bar{display:flex;align-items:center;gap:8px;background:var(--raise);border:1px solid var(--line);border-bottom:none;border-radius:12px 12px 0 0;padding:9px 14px;font-family:var(--font-mono);font-size:11px;color:var(--tx-2)}
  .codeblock .bar .copy{margin-left:auto;font-size:10px;color:var(--tx-3);border:1px solid var(--line);border-radius:6px;padding:3px 8px;cursor:pointer}
  .codeblock pre{margin:0;padding:16px 18px;border-radius:0 0 12px 12px;white-space:pre;overflow-x:auto}
  .callout{display:flex;gap:12px;background:var(--raise);border:1px solid var(--line);border-radius:11px;padding:14px 16px;margin:0 0 24px;max-width:640px}
  .callout .ic{width:18px;height:18px;flex-shrink:0;color:var(--tx-2);margin-top:1px}
  .callout p{font-size:13px;margin:0;color:var(--tx-2)}
  .callout b{color:var(--tx-1)}
  /* right rail */
  .d-rail{padding:40px 20px;position:sticky;top:58px;height:calc(100vh - 58px);border-left:1px solid var(--line-2)}
  .d-rail .ttl{font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--tx-3);margin-bottom:14px}
  .d-rail a{display:block;font-size:12.5px;color:var(--tx-2);text-decoration:none;padding:5px 0 5px 12px;border-left:2px solid var(--line-2);transition:all 130ms}
  .d-rail a:hover{color:var(--tx-1)}
  .d-rail a.on{color:var(--tx-1);border-left-color:var(--tx-1)}
  @media (max-width:1080px){.docs{grid-template-columns:1fr}.d-side,.d-rail{display:none}}

  @media (max-width:760px){
    .d-main{padding:28px 20px 60px}
    .d-main h1{font-size:31px;line-height:1.08}
    .d-lede{font-size:15px}
    .d-main h2{font-size:20px;margin-top:34px}
    .codeblock pre{font-size:11px;padding:14px;line-height:1.65}
    .callout{align-items:flex-start}
  }
