.cbh-code-block-wrapper{--cbh-code-font-size:14px;--cbh-code-font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--cbh-code-border-radius:8px;border-radius:var(--cbh-code-border-radius);box-shadow:0 4px 20px rgba(0,0,0,.15);font-family:var(--cbh-code-font-family);font-size:var(--cbh-code-font-size);line-height:1.6;margin:1.5em 0;overflow:hidden;position:relative;transition:box-shadow .2s ease}.cbh-code-block-wrapper:hover{box-shadow:0 6px 24px rgba(0,0,0,.22)}.cbh-code-block-wrapper .cbh-code-header{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.08);display:flex;font-size:13px;justify-content:space-between;padding:10px 16px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cbh-code-block-wrapper .cbh-code-header .cbh-code-header-left{align-items:center;display:flex;gap:12px;min-width:0}.cbh-code-block-wrapper .cbh-code-header .cbh-code-header-left .cbh-code-dots{align-items:center;display:flex;gap:6px}.cbh-code-block-wrapper .cbh-code-header .cbh-code-header-left .cbh-code-dots .cbh-dot{border-radius:50%;display:inline-block;height:11px;width:11px}.cbh-code-block-wrapper .cbh-code-header .cbh-code-header-left .cbh-code-dots .cbh-dot.red{background-color:#ff5f56}.cbh-code-block-wrapper .cbh-code-header .cbh-code-header-left .cbh-code-dots .cbh-dot.yellow{background-color:#ffbd2e}.cbh-code-block-wrapper .cbh-code-header .cbh-code-header-left .cbh-code-dots .cbh-dot.green{background-color:#27c93f}.cbh-code-block-wrapper .cbh-code-header .cbh-code-header-left .cbh-code-title{font-size:12px;font-weight:500;letter-spacing:.3px;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cbh-code-block-wrapper .cbh-code-header .cbh-code-header-right{align-items:center;display:flex;gap:10px;margin-left:auto}.cbh-code-block-wrapper .cbh-code-header .cbh-code-header-right .cbh-code-badge{background:hsla(0,0%,100%,.1);border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.8px;opacity:.85;padding:2px 8px;text-transform:uppercase}.cbh-code-block-wrapper .cbh-code-header .cbh-code-header-right .cbh-code-copy-btn{align-items:center;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.15);border-radius:6px;color:inherit;cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;font-weight:500;gap:6px;outline:none;padding:4px 10px;transition:all .2s cubic-bezier(.4,0,.2,1)}.cbh-code-block-wrapper .cbh-code-header .cbh-code-header-right .cbh-code-copy-btn:hover{background:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.3);transform:translateY(-1px)}.cbh-code-block-wrapper .cbh-code-header .cbh-code-header-right .cbh-code-copy-btn:active{transform:translateY(0)}.cbh-code-block-wrapper .cbh-code-header .cbh-code-header-right .cbh-code-copy-btn .cbh-copy-icon{align-items:center;display:inline-flex;height:14px;justify-content:center;width:14px}.cbh-code-block-wrapper .cbh-code-header .cbh-code-header-right .cbh-code-copy-btn .cbh-copy-icon .cbh-icon-clipboard{display:block}.cbh-code-block-wrapper .cbh-code-header .cbh-code-header-right .cbh-code-copy-btn .cbh-copy-icon .cbh-icon-check{color:#27c93f;display:none}.cbh-code-block-wrapper .cbh-code-header .cbh-code-header-right .cbh-code-copy-btn.is-copied{background:rgba(39,201,63,.2);border-color:#27c93f;color:#27c93f}.cbh-code-block-wrapper .cbh-code-header .cbh-code-header-right .cbh-code-copy-btn.is-copied .cbh-icon-clipboard{display:none}.cbh-code-block-wrapper .cbh-code-header .cbh-code-header-right .cbh-code-copy-btn.is-copied .cbh-icon-check{display:block}.cbh-code-block-wrapper .cbh-code-content-container{overflow:hidden;position:relative}.cbh-code-block-wrapper .cbh-code-content-container pre.cbh-code-pre{background:0 0;border:none;font-family:var(--cbh-code-font-family);font-size:var(--cbh-code-font-size);line-height:1.6;margin:0;overflow-x:auto;padding:16px 20px;-moz-tab-size:4;-o-tab-size:4;tab-size:4;white-space:pre}.cbh-code-block-wrapper .cbh-code-content-container pre.cbh-code-pre code{background:0 0;border:none;color:inherit;display:block;font-family:inherit;font-size:inherit;padding:0}.cbh-code-block-wrapper .cbh-code-content-container pre.cbh-code-pre::-webkit-scrollbar{background-color:transparent;height:8px}.cbh-code-block-wrapper .cbh-code-content-container pre.cbh-code-pre::-webkit-scrollbar-thumb{background-color:hsla(0,0%,100%,.15);border-radius:4px}.cbh-code-block-wrapper .cbh-code-content-container pre.cbh-code-pre::-webkit-scrollbar-thumb:hover{background-color:hsla(0,0%,100%,.3)}.cbh-code-block-wrapper.has-word-wrap .cbh-code-content-container pre.cbh-code-pre{overflow-x:hidden;white-space:pre-wrap;word-break:break-word}.cbh-code-block-wrapper.has-line-numbers .cbh-code-content-container{display:flex}.cbh-code-block-wrapper.has-line-numbers .cbh-code-content-container .cbh-line-numbers-gutter{background:rgba(0,0,0,.1);border-right:1px solid hsla(0,0%,100%,.08);font-family:var(--cbh-code-font-family);font-size:var(--cbh-code-font-size);line-height:1.6;opacity:.35;padding:16px 12px 16px 16px;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cbh-code-block-wrapper.has-line-numbers .cbh-code-content-container .cbh-line-numbers-gutter span{display:block}.cbh-code-block-wrapper.has-line-numbers .cbh-code-content-container pre.cbh-code-pre{flex:1;padding-left:16px}.cbh-theme-dark-plus{background-color:#1e1e1e;color:#d4d4d4}.cbh-theme-dark-plus .cbh-code-header{background-color:#252526;color:#ccc}.cbh-theme-dark-plus .token.cdata,.cbh-theme-dark-plus .token.comment,.cbh-theme-dark-plus .token.doctype,.cbh-theme-dark-plus .token.prolog{color:#6a9955;font-style:italic}.cbh-theme-dark-plus .token.punctuation{color:#d4d4d4}.cbh-theme-dark-plus .token.boolean,.cbh-theme-dark-plus .token.constant,.cbh-theme-dark-plus .token.number,.cbh-theme-dark-plus .token.property,.cbh-theme-dark-plus .token.symbol,.cbh-theme-dark-plus .token.tag{color:#b5cea8}.cbh-theme-dark-plus .token.attr-name,.cbh-theme-dark-plus .token.builtin,.cbh-theme-dark-plus .token.char,.cbh-theme-dark-plus .token.selector,.cbh-theme-dark-plus .token.string{color:#ce9178}.cbh-theme-dark-plus .token.entity,.cbh-theme-dark-plus .token.operator,.cbh-theme-dark-plus .token.url{color:#d4d4d4}.cbh-theme-dark-plus .token.atrule,.cbh-theme-dark-plus .token.attr-value,.cbh-theme-dark-plus .token.keyword{color:#569cd6;font-weight:500}.cbh-theme-dark-plus .token.class-name,.cbh-theme-dark-plus .token.function{color:#dcdcaa}.cbh-theme-dark-plus .token.variable{color:#9cdcfe}.cbh-theme-dark-plus .token.important,.cbh-theme-dark-plus .token.regex{color:#d16969}.cbh-theme-dracula{background-color:#282a36;color:#f8f8f2}.cbh-theme-dracula .cbh-code-header{background-color:#1e1f29;color:#6272a4}.cbh-theme-dracula .token.cdata,.cbh-theme-dracula .token.comment,.cbh-theme-dracula .token.doctype,.cbh-theme-dracula .token.prolog{color:#6272a4;font-style:italic}.cbh-theme-dracula .token.punctuation{color:#f8f8f2}.cbh-theme-dracula .token.constant,.cbh-theme-dracula .token.property,.cbh-theme-dracula .token.symbol,.cbh-theme-dracula .token.tag{color:#ff79c6}.cbh-theme-dracula .token.boolean,.cbh-theme-dracula .token.number{color:#bd93f9}.cbh-theme-dracula .token.attr-name,.cbh-theme-dracula .token.builtin,.cbh-theme-dracula .token.char,.cbh-theme-dracula .token.selector,.cbh-theme-dracula .token.string{color:#f1fa8c}.cbh-theme-dracula .token.entity,.cbh-theme-dracula .token.operator,.cbh-theme-dracula .token.url{color:#ff79c6}.cbh-theme-dracula .token.atrule,.cbh-theme-dracula .token.attr-value,.cbh-theme-dracula .token.keyword{color:#ff79c6;font-weight:500}.cbh-theme-dracula .token.class-name,.cbh-theme-dracula .token.function{color:#50fa7b}.cbh-theme-dracula .token.variable{color:#8be9fd}.cbh-theme-github-dark{background-color:#0d1117;color:#c9d1d9}.cbh-theme-github-dark .cbh-code-header{background-color:#161b22;color:#8b949e}.cbh-theme-github-dark .token.cdata,.cbh-theme-github-dark .token.comment,.cbh-theme-github-dark .token.doctype,.cbh-theme-github-dark .token.prolog{color:#8b949e;font-style:italic}.cbh-theme-github-dark .token.punctuation{color:#c9d1d9}.cbh-theme-github-dark .token.constant,.cbh-theme-github-dark .token.property,.cbh-theme-github-dark .token.symbol,.cbh-theme-github-dark .token.tag{color:#7ee787}.cbh-theme-github-dark .token.boolean,.cbh-theme-github-dark .token.number{color:#79c0ff}.cbh-theme-github-dark .token.attr-name,.cbh-theme-github-dark .token.builtin,.cbh-theme-github-dark .token.char,.cbh-theme-github-dark .token.selector,.cbh-theme-github-dark .token.string{color:#a5d6ff}.cbh-theme-github-dark .token.entity,.cbh-theme-github-dark .token.operator,.cbh-theme-github-dark .token.url{color:#ff7b72}.cbh-theme-github-dark .token.atrule,.cbh-theme-github-dark .token.attr-value,.cbh-theme-github-dark .token.keyword{color:#ff7b72;font-weight:500}.cbh-theme-github-dark .token.class-name,.cbh-theme-github-dark .token.function{color:#d2a8ff}.cbh-theme-github-dark .token.variable{color:#ffa657}.cbh-theme-github-light{background-color:#fff;border:1px solid #d0d7de;color:#24292f}.cbh-theme-github-light .cbh-code-header{background-color:#f6f8fa;border-bottom:1px solid #d0d7de;color:#57606a}.cbh-theme-github-light .cbh-code-header .cbh-code-header-right .cbh-code-badge{background:#eaeef2;color:#24292f}.cbh-theme-github-light .cbh-code-header .cbh-code-header-right .cbh-code-copy-btn{background:#fff;border-color:#d0d7de;color:#24292f}.cbh-theme-github-light .cbh-code-header .cbh-code-header-right .cbh-code-copy-btn:hover{background:#f3f4f6;border-color:#afb8c1}.cbh-theme-github-light.has-line-numbers .cbh-line-numbers-gutter{background:#f6f8fa;border-right:1px solid #d0d7de;color:#57606a;opacity:.7}.cbh-theme-github-light .token.cdata,.cbh-theme-github-light .token.comment,.cbh-theme-github-light .token.doctype,.cbh-theme-github-light .token.prolog{color:#6e7781;font-style:italic}.cbh-theme-github-light .token.punctuation{color:#24292f}.cbh-theme-github-light .token.constant,.cbh-theme-github-light .token.property,.cbh-theme-github-light .token.symbol,.cbh-theme-github-light .token.tag{color:#116329}.cbh-theme-github-light .token.boolean,.cbh-theme-github-light .token.number{color:#0550ae}.cbh-theme-github-light .token.attr-name,.cbh-theme-github-light .token.builtin,.cbh-theme-github-light .token.char,.cbh-theme-github-light .token.selector,.cbh-theme-github-light .token.string{color:#0a3069}.cbh-theme-github-light .token.entity,.cbh-theme-github-light .token.operator,.cbh-theme-github-light .token.url{color:#cf222e}.cbh-theme-github-light .token.atrule,.cbh-theme-github-light .token.attr-value,.cbh-theme-github-light .token.keyword{color:#cf222e;font-weight:500}.cbh-theme-github-light .token.class-name,.cbh-theme-github-light .token.function{color:#8250df}.cbh-theme-github-light .token.variable{color:#953800}.cbh-theme-monokai{background-color:#272822;color:#f8f8f2}.cbh-theme-monokai .cbh-code-header{background-color:#1e1f1c;color:#75715e}.cbh-theme-monokai .token.cdata,.cbh-theme-monokai .token.comment,.cbh-theme-monokai .token.doctype,.cbh-theme-monokai .token.prolog{color:#75715e;font-style:italic}.cbh-theme-monokai .token.punctuation{color:#f8f8f2}.cbh-theme-monokai .token.constant,.cbh-theme-monokai .token.property,.cbh-theme-monokai .token.symbol,.cbh-theme-monokai .token.tag{color:#f92672}.cbh-theme-monokai .token.boolean,.cbh-theme-monokai .token.number{color:#ae81ff}.cbh-theme-monokai .token.attr-name,.cbh-theme-monokai .token.builtin,.cbh-theme-monokai .token.char,.cbh-theme-monokai .token.selector,.cbh-theme-monokai .token.string{color:#e6db74}.cbh-theme-monokai .token.entity,.cbh-theme-monokai .token.operator,.cbh-theme-monokai .token.url{color:#f92672}.cbh-theme-monokai .token.atrule,.cbh-theme-monokai .token.attr-value,.cbh-theme-monokai .token.keyword{color:#66d9ef;font-weight:500}.cbh-theme-monokai .token.class-name,.cbh-theme-monokai .token.function{color:#a6e22e}.cbh-theme-monokai .token.variable{color:#fd971f}.cbh-theme-nord{background-color:#2e3440;color:#d8dee9}.cbh-theme-nord .cbh-code-header{background-color:#242933;color:#4c566a}.cbh-theme-nord .token.cdata,.cbh-theme-nord .token.comment,.cbh-theme-nord .token.doctype,.cbh-theme-nord .token.prolog{color:#4c566a;font-style:italic}.cbh-theme-nord .token.punctuation{color:#eceff4}.cbh-theme-nord .token.constant,.cbh-theme-nord .token.property,.cbh-theme-nord .token.symbol,.cbh-theme-nord .token.tag{color:#81a1c1}.cbh-theme-nord .token.boolean,.cbh-theme-nord .token.number{color:#b48ead}.cbh-theme-nord .token.attr-name,.cbh-theme-nord .token.builtin,.cbh-theme-nord .token.char,.cbh-theme-nord .token.selector,.cbh-theme-nord .token.string{color:#a3be8c}.cbh-theme-nord .token.entity,.cbh-theme-nord .token.operator,.cbh-theme-nord .token.url{color:#81a1c1}.cbh-theme-nord .token.atrule,.cbh-theme-nord .token.attr-value,.cbh-theme-nord .token.keyword{color:#81a1c1;font-weight:500}.cbh-theme-nord .token.class-name,.cbh-theme-nord .token.function{color:#88c0d0}.cbh-theme-nord .token.variable{color:#d8dee9}.cbh-theme-night-owl{background-color:#011627;color:#d6deeb}.cbh-theme-night-owl .cbh-code-header{background-color:#0b2942;color:#5f7e97}.cbh-theme-night-owl .token.cdata,.cbh-theme-night-owl .token.comment,.cbh-theme-night-owl .token.doctype,.cbh-theme-night-owl .token.prolog{color:#637777;font-style:italic}.cbh-theme-night-owl .token.punctuation{color:#c792ea}.cbh-theme-night-owl .token.constant,.cbh-theme-night-owl .token.property,.cbh-theme-night-owl .token.symbol,.cbh-theme-night-owl .token.tag{color:#7fdbca}.cbh-theme-night-owl .token.boolean,.cbh-theme-night-owl .token.number{color:#f78c6c}.cbh-theme-night-owl .token.attr-name,.cbh-theme-night-owl .token.builtin,.cbh-theme-night-owl .token.char,.cbh-theme-night-owl .token.selector,.cbh-theme-night-owl .token.string{color:#ecc48d}.cbh-theme-night-owl .token.entity,.cbh-theme-night-owl .token.operator,.cbh-theme-night-owl .token.url{color:#c792ea}.cbh-theme-night-owl .token.atrule,.cbh-theme-night-owl .token.attr-value,.cbh-theme-night-owl .token.keyword{color:#c792ea;font-weight:500}.cbh-theme-night-owl .token.class-name,.cbh-theme-night-owl .token.function{color:#82aaff}.cbh-theme-night-owl .token.variable{color:#addb67}.cbh-theme-one-dark{background-color:#282c34;color:#abb2bf}.cbh-theme-one-dark .cbh-code-header{background-color:#21252b;color:#5c6370}.cbh-theme-one-dark .token.cdata,.cbh-theme-one-dark .token.comment,.cbh-theme-one-dark .token.doctype,.cbh-theme-one-dark .token.prolog{color:#5c6370;font-style:italic}.cbh-theme-one-dark .token.punctuation{color:#abb2bf}.cbh-theme-one-dark .token.constant,.cbh-theme-one-dark .token.property,.cbh-theme-one-dark .token.symbol,.cbh-theme-one-dark .token.tag{color:#e06c75}.cbh-theme-one-dark .token.boolean,.cbh-theme-one-dark .token.number{color:#d19a66}.cbh-theme-one-dark .token.attr-name,.cbh-theme-one-dark .token.builtin,.cbh-theme-one-dark .token.char,.cbh-theme-one-dark .token.selector,.cbh-theme-one-dark .token.string{color:#98c379}.cbh-theme-one-dark .token.entity,.cbh-theme-one-dark .token.operator,.cbh-theme-one-dark .token.url{color:#56b6c2}.cbh-theme-one-dark .token.atrule,.cbh-theme-one-dark .token.attr-value,.cbh-theme-one-dark .token.keyword{color:#c678dd;font-weight:500}.cbh-theme-one-dark .token.class-name,.cbh-theme-one-dark .token.function{color:#61afef}.cbh-theme-one-dark .token.variable{color:#e5c07b}