:root{--cb-bg:#f6f8fa;--cb-fg:#24292f;--cb-comment:#6e7781;--cb-keyword:#cf222e;--cb-string:#0a3069;--cb-number:#0550ae;--cb-title:#8250df;--cb-attr:#116329;--cb-meta:#953800;--cb-ln:#8c959f;--cb-add:#116329;--cb-add-bg:rgba(46, 160, 67, .15);--cb-del:#82071e;--cb-del-bg:rgba(248, 81, 73, .15)}.codeblock,[data-bs-theme=dark]{--cb-bg:#0d1117;--cb-fg:#e6edf3;--cb-comment:#8b949e;--cb-keyword:#ff7b72;--cb-string:#a5d6ff;--cb-number:#79c0ff;--cb-title:#d2a8ff;--cb-attr:#7ee787;--cb-meta:#ffa657;--cb-ln:#6e7681;--cb-add:#7ee787;--cb-add-bg:rgba(46, 160, 67, .2);--cb-del:#ffa198;--cb-del-bg:rgba(248, 81, 73, .2)}.codeblock{--cb-line:#30363d;margin:0 0 1rem;overflow:hidden;border:1px solid var(--cb-line);border-radius:.5rem;background:var(--cb-bg);color:var(--cb-fg)}.codeblock-head{display:flex;align-items:center;gap:.55rem;padding:.45rem .9rem;font:500 .8rem/1.4 system-ui,sans-serif;color:var(--cb-comment);background:#161b22;border-bottom:1px solid var(--cb-line)}.codeblock-head .cb-icon{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--cb-keyword)}.codeblock pre,.codeblock-head .cb-lang{color:var(--cb-fg)}.codeblock-head .cb-file::before{content:"·";margin-right:.55rem;color:var(--cb-ln)}.codeblock-head~.codeblock-copy{top:.3rem}.codeblock>.codeblock-caption,.codeblock>figcaption{padding:.4rem .9rem;font-size:.8rem;color:var(--cb-comment);border-bottom:1px solid var(--cb-line)}.codeblock pre{margin:0;padding:.9rem 1rem;overflow:auto;background:var(--cb-bg);font-size:.875rem;line-height:1.55;tab-size:2;border:0;border-radius:0}.codeblock pre code{padding:0;font:inherit;color:inherit;background:0 0}.codeblock pre.wrap{white-space:pre-wrap;word-break:break-word}.codeblock pre.line-numbers code{counter-reset:ln}.codeblock pre.line-numbers .line::before{counter-increment:ln;content:counter(ln);display:inline-block;width:2.2em;margin-right:1em;text-align:right;color:var(--cb-ln);user-select:none}.hljs-comment,.hljs-quote{color:var(--cb-comment);font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-literal,.hljs-selector-tag,.hljs-tag,.hljs-type{color:var(--cb-keyword)}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:var(--cb-string)}.hljs-bullet,.hljs-link,.hljs-number,.hljs-symbol{color:var(--cb-number)}.hljs-name,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-title{color:var(--cb-title)}.hljs-attr,.hljs-attribute,.hljs-property,.hljs-template-variable,.hljs-variable{color:var(--cb-attr)}.hljs-built_in,.hljs-meta,.hljs-params,.hljs-subst{color:var(--cb-meta)}.hljs-addition{color:var(--cb-add);background:var(--cb-add-bg)}.hljs-deletion{color:var(--cb-del);background:var(--cb-del-bg)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.md-body>:last-child{margin-bottom:0}.md-body .md-anchor{margin-left:.35em;font-weight:400;text-decoration:none;opacity:0;transition:opacity .12s}.md-body .md-anchor:focus-visible,.md-body :is(h1,h2,h3,h4,h5,h6):hover>.md-anchor{opacity:.55}.md-body .md-anchor:hover{opacity:1!important}@media (hover:none){.md-body .md-anchor{opacity:.35}}.md-body img{max-width:100%;height:auto}.md-body .table-responsive{margin-bottom:1rem}.md-body .table-responsive>table{margin-bottom:0}.md-body table{width:100%}.md-body .table>thead>tr>th{background:var(--bs-tertiary-bg, #f8f9fa);white-space:nowrap}.md-body .table>:not(caption)>*>*{padding:.55rem .8rem}.md-body hr{margin:1.5rem 0}.md-body :not(pre)>code{padding:.1em .35em;font-size:.875em;color:var(--cb-title);background:var(--cb-bg);border-radius:.25rem}.md-body input[type=checkbox]{margin-right:.4em}.codeblock{position:relative}.codeblock-copy{position:absolute;top:.5rem;right:.5rem;z-index:1;display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;font:500 .75rem/1.4 system-ui,sans-serif;color:var(--cb-fg);cursor:pointer;background:var(--cb-bg);border:1px solid var(--cb-line);border-radius:.375rem;box-shadow:0 1px 4px rgba(0,0,0,.25);opacity:0;transform:translateX(14px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,background-color .15s}.codeblock-copy.copied,.codeblock-copy:focus-visible,.codeblock:hover .codeblock-copy{opacity:1;transform:none;pointer-events:auto}.codeblock-copy:hover{background:#21262d}.codeblock-copy.copied{color:var(--cb-add)}.codeblock-copy.copied span{display:none}.codeblock-copy.copied::after{content:attr(data-copied)}@media (hover:none){.codeblock-copy{opacity:.85;transform:none;pointer-events:auto}}@media (prefers-reduced-motion:reduce){.codeblock-copy{transition:none}}