.docs-prose .expressive-code{margin-block:1.5rem}.docs-prose .expressive-code pre,.docs-prose code{font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0}.docs-prose .expressive-code .frame{border:1px solid var(--border);background:var(--card);box-shadow:none;border-radius:.75rem;position:relative;overflow:hidden}.docs-prose .expressive-code .frame.has-title:not(.is-terminal) .header,.docs-prose .expressive-code .frame.is-terminal .header{background:color-mix(in srgb, var(--muted) 45%, transparent);border:0;border-bottom:1px solid var(--border);min-height:2.5rem;box-shadow:none;border-radius:0;justify-content:flex-start;align-items:center;padding:0 3rem 0 1rem;display:flex;position:relative}.docs-prose .expressive-code .frame.has-title:not(.is-terminal) .header:before,.docs-prose .expressive-code .frame.has-title:not(.is-terminal) .header:after,.docs-prose .expressive-code .frame.is-terminal .header:before,.docs-prose .expressive-code .frame.is-terminal .header:after{content:none}.docs-prose .expressive-code .frame.has-title:not(.is-terminal) .title,.docs-prose .expressive-code .frame.is-terminal .title{max-inline-size:100%;min-width:0;color:var(--muted-foreground);font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;box-shadow:none;background:0 0;border:0;border-radius:0;align-items:center;gap:.5rem;margin:0;padding:0;font-size:.75rem;font-weight:400;line-height:1;display:inline-flex;overflow:hidden}.docs-prose .expressive-code .frame.has-title:not(.is-terminal) .title:after,.docs-prose .expressive-code .frame.is-terminal .title:after{content:none}.docs-prose .expressive-code .frame.is-terminal .title{text-align:start;justify-content:flex-start;margin-inline:0}.docs-prose .expressive-code .frame.is-terminal .title:empty:before{content:"Terminal"}.docs-prose .expressive-code .copy{z-index:3;margin:0;display:inline-flex;position:absolute;inset-block-start:.625rem;inset-inline-end:.625rem}.docs-prose .expressive-code .frame.has-title .copy,.docs-prose .expressive-code .frame.is-terminal .copy{inset-block-start:.375rem}.docs-prose .expressive-code .copy button{border-radius:calc(var(--radius) - 2px);background:color-mix(in srgb, var(--card) 70%, transparent);block-size:1.75rem;min-block-size:1.75rem;inline-size:1.75rem;min-inline-size:1.75rem;color:var(--muted-foreground);opacity:.9;box-shadow:none;backdrop-filter:blur(8px);border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:opacity .15s,background-color .15s,color .15s,border-color .15s;display:inline-flex}.docs-prose .expressive-code .copy button:hover,.docs-prose .expressive-code .copy button:focus-visible{color:var(--foreground);background:var(--muted);border-color:var(--border);opacity:1}.docs-prose .expressive-code .copy button svg{block-size:.875rem;inline-size:.875rem}.docs-prose .expressive-code:has(pre[data-language=ts]) .frame .title:before,.docs-prose .expressive-code:has(pre[data-language=mts]) .frame .title:before,.docs-prose .expressive-code:has(pre[data-language=cts]) .frame .title:before{content:"";opacity:.82;block-size:.875rem;inline-size:.875rem;-webkit-mask:var(--ec-icon-typescript) center / contain no-repeat;mask:var(--ec-icon-typescript) center / contain no-repeat;background-color:currentColor;flex:none}.docs-prose .expressive-code:has(pre[data-language=tsx]) .frame .title:before,.docs-prose .expressive-code:has(pre[data-language=jsx]) .frame .title:before{content:"";opacity:.82;block-size:.875rem;inline-size:.875rem;-webkit-mask:var(--ec-icon-react) center / contain no-repeat;mask:var(--ec-icon-react) center / contain no-repeat;background-color:currentColor;flex:none}.docs-prose .expressive-code:has(pre[data-language=js]) .frame .title:before,.docs-prose .expressive-code:has(pre[data-language=mjs]) .frame .title:before,.docs-prose .expressive-code:has(pre[data-language=cjs]) .frame .title:before{content:"";opacity:.82;block-size:.875rem;inline-size:.875rem;-webkit-mask:var(--ec-icon-javascript) center / contain no-repeat;mask:var(--ec-icon-javascript) center / contain no-repeat;background-color:currentColor;flex:none}.docs-prose .expressive-code:has(pre[data-language=json]) .frame .title:before{content:"";opacity:.82;block-size:.875rem;inline-size:.875rem;-webkit-mask:var(--ec-icon-json) center / contain no-repeat;mask:var(--ec-icon-json) center / contain no-repeat;background-color:currentColor;flex:none}.docs-prose .expressive-code:has(pre[data-language=bash]) .frame .title:before,.docs-prose .expressive-code:has(pre[data-language=sh]) .frame .title:before,.docs-prose .expressive-code:has(pre[data-language=shell]) .frame .title:before{content:"";opacity:.82;block-size:.875rem;inline-size:.875rem;-webkit-mask:var(--ec-icon-terminal) center / contain no-repeat;mask:var(--ec-icon-terminal) center / contain no-repeat;background-color:currentColor;flex:none}.docs-prose .expressive-code .frame pre{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--foreground) 18%, transparent) transparent}.docs-prose .expressive-code .frame pre::-webkit-scrollbar{block-size:.7rem;inline-size:.7rem}.docs-prose .expressive-code .frame pre::-webkit-scrollbar-track{background:0 0}.docs-prose .expressive-code .frame pre::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--foreground) 18%, transparent);background-clip:padding-box;border:3px solid #0000;border-radius:999px}.docs-prose .expressive-code .frame pre::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--foreground) 28%, transparent);background-clip:padding-box}
