.docs-prose .expressive-code{margin-block:1.5rem}.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{position:absolute;inset-block-start:.625rem;inset-inline-start:.75rem;inset-inline-end:3rem;z-index:2;display:flex;align-items:center;min-height:1.5rem;padding:0;background:transparent;border:0;box-shadow:none;pointer-events: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{content:none}.docs-prose .expressive-code .frame.has-title:not(.is-terminal) .title{display:inline-flex;align-items:center;gap:.4rem;max-inline-size:100%;min-width:0;margin:0;padding:.25rem .5rem;overflow:hidden;color:var(--muted-foreground);font-family:var(--font-sans);font-size:.75rem;font-weight:500;line-height:1;letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;background:color-mix(in srgb,var(--background) 86%,transparent);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);box-shadow:none;backdrop-filter:blur(8px);pointer-events:auto}.docs-prose .expressive-code .frame.has-title:not(.is-terminal) .title:after{content:none}.docs-prose .expressive-code .frame.has-title:not(.is-terminal) pre{padding-block-start:2.75rem!important}.docs-prose .expressive-code .copy{position:absolute;inset-block-start:.625rem;inset-inline-end:.75rem;z-index:3;display:inline-flex;margin:0}.docs-prose .expressive-code .copy button{display:inline-flex;align-items:center;justify-content:center;inline-size:1.5rem;block-size:1.5rem;min-inline-size:1.5rem;min-block-size:1.5rem;padding:0;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:color-mix(in srgb,var(--background) 86%,transparent);color:var(--muted-foreground);opacity:.86;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(--background);border-color:color-mix(in srgb,var(--foreground) 18%,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.has-title:not(.is-terminal) .title:before,.docs-prose .expressive-code:has(pre[data-language=mts]) .frame.has-title:not(.is-terminal) .title:before,.docs-prose .expressive-code:has(pre[data-language=cts]) .frame.has-title:not(.is-terminal) .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.has-title:not(.is-terminal) .title:before,.docs-prose .expressive-code:has(pre[data-language=jsx]) .frame.has-title:not(.is-terminal) .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.has-title:not(.is-terminal) .title:before,.docs-prose .expressive-code:has(pre[data-language=mjs]) .frame.has-title:not(.is-terminal) .title:before,.docs-prose .expressive-code:has(pre[data-language=cjs]) .frame.has-title:not(.is-terminal) .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.has-title:not(.is-terminal) .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.has-title:not(.is-terminal) .title:before,.docs-prose .expressive-code:has(pre[data-language=sh]) .frame.has-title:not(.is-terminal) .title:before,.docs-prose .expressive-code:has(pre[data-language=shell]) .frame.has-title:not(.is-terminal) .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}@media(max-width:640px){.docs-prose .expressive-code .frame.has-title:not(.is-terminal) .header{inset-inline-end:2.75rem}}
