.article-body{color:#404040}.article-body h2,.article-body h3,.article-body h4{color:#0a0a0a;font-weight:600;letter-spacing:-.01em;line-height:1.25;scroll-margin-top:7rem}.article-body h2{font-size:1.6em;margin:1.8em 0 .6em}.article-body h3{font-size:1.25em;margin:1.5em 0 .5em}.article-body p{margin:0 0 1.15em}.article-body a{color:#0a0a0a;text-decoration:underline;text-decoration-color:rgba(0,0,0,.25);text-underline-offset:2px}.article-body a:hover{text-decoration-color:#0a0a0a}.article-body strong{font-weight:600;color:#0a0a0a}.article-body ol,.article-body ul{margin:0 0 1.15em;padding-left:1.4em}.article-body ul{list-style:disc}.article-body ol{list-style:decimal}.article-body li{margin:.35em 0}.article-body blockquote{margin:1.4em 0;padding:.5em 1.2em;border-left:3px solid rgba(0,0,0,.12);color:#525252;font-style:italic}.article-body img{max-width:100%;height:auto;border-radius:12px;margin:1.6em 0}.article-body table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:.95em}.article-body td,.article-body th{border:1px solid rgba(0,0,0,.1);padding:.55em .8em;text-align:left}.article-body th{background:#fafafa;font-weight:600;color:#0a0a0a}.article-body :not(pre)>code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;background:#f1f1f1;padding:.15em .4em;border-radius:4px;color:#0a0a0a}.article-body pre.hljs{position:relative;background:#0d1117;color:#c9d1d9;border-radius:12px;padding:1.1em 1.2em;margin:1.6em 0;overflow-x:auto;font-size:.85em;line-height:1.6}.article-body pre.hljs code{background:none;padding:0;font-size:inherit;color:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.article-body .code-copy-btn{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;color:#8b949e;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);cursor:pointer;opacity:0;transition:opacity .15s,color .15s}.article-body pre.hljs:hover .code-copy-btn{opacity:1}.article-body .code-copy-btn:hover{color:#c9d1d9}.article-body .code-copy-btn.copied{color:#3fb950;opacity:1}.article-body .hljs-built_in,.article-body .hljs-keyword,.article-body .hljs-literal{color:#ff7b72}.article-body .hljs-attr,.article-body .hljs-string{color:#a5d6ff}.article-body .hljs-comment{color:#8b949e;font-style:italic}.article-body .hljs-number,.article-body .hljs-symbol{color:#79c0ff}.article-body .hljs-title,.article-body .hljs-title.function_{color:#d2a8ff}.article-body .hljs-type{color:#ffa657}.article-body .hljs-name,.article-body .hljs-tag{color:#7ee787}.article-body .hljs-meta{color:#8b949e}.article-body .hljs-params,.article-body .hljs-variable{color:#c9d1d9}