.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{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:.75rem;background:var(--card);box-shadow:none}.docs-prose .expressive-code .frame.has-title:not(.is-terminal) .header,.docs-prose .expressive-code .frame.is-terminal .header{position:relative;display:flex;align-items:center;justify-content:flex-start;min-height:2.5rem;padding:0 3rem 0 1rem;background:color-mix(in srgb,var(--muted) 45%,transparent);border:0;border-bottom:1px solid var(--border);border-radius:0;box-shadow:none}.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{display:inline-flex;align-items:center;gap:.5rem;max-inline-size:100%;min-width:0;margin:0;padding:0;overflow:hidden;color:var(--muted-foreground);font-family:var(--font-mono, ui-monospace, monospace);font-size:.75rem;font-weight:400;line-height:1;letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;background:transparent;border:0;border-radius:0;box-shadow:none}.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{margin-inline:0;justify-content:flex-start;text-align:start}.docs-prose .expressive-code .frame.is-terminal .title:empty:before{content:"Terminal"}.docs-prose .expressive-code .copy{position:absolute;inset-block-start:.625rem;inset-inline-end:.625rem;z-index:3;display:inline-flex;margin:0}.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{display:inline-flex;align-items:center;justify-content:center;inline-size:1.75rem;block-size:1.75rem;min-inline-size:1.75rem;min-block-size:1.75rem;padding:0;border:1px solid transparent;border-radius:calc(var(--radius) - 2px);background:color-mix(in srgb,var(--card) 70%,transparent);color:var(--muted-foreground);opacity:.9;box-shadow:none;backdrop-filter:blur(8px);transition:opacity .15s ease,background-color .15s ease,color .15s ease,border-color .15s ease}.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{inline-size:.875rem;block-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:"";inline-size:.875rem;block-size:.875rem;flex:0 0 auto;background-color:currentColor;opacity:.82;-webkit-mask:var(--ec-icon-typescript) center / contain no-repeat;mask:var(--ec-icon-typescript) center / contain no-repeat}.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:"";inline-size:.875rem;block-size:.875rem;flex:0 0 auto;background-color:currentColor;opacity:.82;-webkit-mask:var(--ec-icon-react) center / contain no-repeat;mask:var(--ec-icon-react) center / contain no-repeat}.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:"";inline-size:.875rem;block-size:.875rem;flex:0 0 auto;background-color:currentColor;opacity:.82;-webkit-mask:var(--ec-icon-javascript) center / contain no-repeat;mask:var(--ec-icon-javascript) center / contain no-repeat}.docs-prose .expressive-code:has(pre[data-language=json]) .frame .title:before{content:"";inline-size:.875rem;block-size:.875rem;flex:0 0 auto;background-color:currentColor;opacity:.82;-webkit-mask:var(--ec-icon-json) center / contain no-repeat;mask:var(--ec-icon-json) center / contain no-repeat}.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:"";inline-size:.875rem;block-size:.875rem;flex:0 0 auto;background-color:currentColor;opacity:.82;-webkit-mask:var(--ec-icon-terminal) center / contain no-repeat;mask:var(--ec-icon-terminal) center / contain no-repeat}.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:transparent}.docs-prose .expressive-code .frame pre::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:color-mix(in srgb,var(--foreground) 18%,transparent);background-clip:padding-box}.docs-prose .expressive-code .frame pre::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--foreground) 28%,transparent);background-clip:padding-box}
