@keyframes ft-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes ft-blurIn{0%{opacity:0;filter:blur(5px)}to{opacity:1;filter:blur(0)}}@keyframes ft-typewriter{0%{width:0;overflow:hidden}to{width:fit-content}}@keyframes ft-slideInFromLeft{0%{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes ft-fadeAndScale{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes ft-colorTransition{0%{color:red}to{color:black}}@keyframes ft-rotateIn{0%{transform:rotate(-1turn);opacity:0}to{transform:rotate(0deg);opacity:1}}@keyframes ft-bounceIn{0%,40%,80%,to{transform:translateY(0)}20%{transform:translateY(-10%)}60%{transform:translateY(-5%)}}@keyframes ft-elastic{0%,to{transform:scale(1)}10%{transform:scale(1.2)}}@keyframes ft-highlight{0%{background-color:yellow}to{background-color:transparent}}@keyframes ft-blurAndSharpen{0%{filter:blur(5px);opacity:0}to{filter:blur(0);opacity:1}}@keyframes ft-dropIn{0%{transform:translateY(-10%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes ft-slideUp{0%{transform:translateY(10%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes ft-wave{0%{transform:translateY(0)}50%{transform:translateY(-10%)}to{transform:translateY(0)}}:root{--ft-marker-animation:none;--animation-duration:0.6s;--fade-animation-function:ease-out}.pending{opacity:0;animation-name:pending-pulse;animation-duration:.1s;animation-fill-mode:forwards}.animating{animation-name:fade-in-text;animation-duration:var(--animation-duration);animation-timing-function:var(--fade-animation-function);animation-fill-mode:forwards}@keyframes pending-pulse{0%{opacity:0}to{opacity:0}}@keyframes fade-in-text{0%{opacity:0}to{opacity:1}}.ft-custom-li::marker{animation:var(--ft-marker-animation)}.ft-code-block{animation:var(--ft-marker-animation)}.prose .rounded-b-xl{overflow:visible!important;border-radius:0 0 .75rem .75rem!important}.prose blockquote p:after,.prose blockquote p:before,.prose code:after,.prose code:before{content:none!important}html:not(.dark){--rsh-bg:hsl(300 50% 100%);--rsh-text:hsl(210,12%,16%);--rsh-comment:hsl(212,8%,45%);--rsh-keyword:hsl(354,66%,54%);--rsh-string:hsl(212,94%,20%);--rsh-constant:hsl(212,100%,39%);--rsh-function:hsl(261,51%,51%);--rsh-variable:hsl(24,92%,46%);--rsh-operator:hsl(24,92%,46%);--rsh-punctuation:hsl(210,12%,16%);--rsh-tag:hsl(134,60%,33%);--rsh-property:hsl(212,100%,39%);--rsh-url:hsl(212,94%,20%)}html.dark{--rsh-bg:hsl(240.02 6% 10%);--rsh-text:hsl(214,13%,90%);--rsh-comment:hsl(212,8%,45%);--rsh-keyword:hsl(354,92%,72%);--rsh-string:hsl(212,100%,81%);--rsh-constant:hsl(212,100%,74%);--rsh-function:hsl(261,76%,76%);--rsh-variable:hsl(25,100%,72%);--rsh-operator:hsl(25,100%,72%);--rsh-punctuation:hsl(214,13%,90%);--rsh-tag:hsl(135,68%,72%);--rsh-property:hsl(212,100%,74%);--rsh-url:hsl(210,100%,93%)}.prose .rsh-container,.rsh-container{background:var(--rsh-bg)!important;color:var(--rsh-text)!important}.prose code[class*=language-],.prose pre[class*=language-],code[class*=language-],pre[class*=language-]{background:var(--rsh-bg)!important;color:var(--rsh-text)!important;text-shadow:none!important;font-family:JetBrains Mono,SF Mono,ui-monospace,Menlo,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace!important}.prose code[class*=language-] *,.prose pre[class*=language-] *,code[class*=language-] *,pre[class*=language-] *{color:inherit!important}.cdata,.comment,.prolog,.prose .cdata,.prose .comment,.prose .prolog,.prose .token.cdata,.prose .token.comment,.prose .token.prolog,.prose code .cdata,.prose code .comment,.prose code .prolog,.prose code .token.cdata,.prose code .token.comment,.prose code .token.prolog,.token.cdata,.token.comment,.token.prolog{color:var(--rsh-comment)!important;font-style:italic!important}.keyword,.module,.prose .keyword,.prose .module,.prose .token.keyword,.prose .token.module,.prose code .keyword,.prose code .module,.prose code .token.keyword,.prose code .token.module,.token.keyword,.token.module{color:var(--rsh-keyword)!important}.attr-value,.builtin,.char,.imports,.inserted,.prose .attr-value,.prose .builtin,.prose .char,.prose .imports,.prose .inserted,.prose .regex,.prose .selector,.prose .string,.prose .token.imports,.prose .token.string,.prose code .attr-value,.prose code .builtin,.prose code .char,.prose code .imports,.prose code .inserted,.prose code .regex,.prose code .selector,.prose code .string,.prose code .token.imports,.prose code .token.string,.regex,.selector,.string,.token.imports,.token.string{color:var(--rsh-string)!important}.atrule,.attr-name,.boolean,.class-name,.constant,.maybe-class-name,.number,.prose .atrule,.prose .attr-name,.prose .boolean,.prose .class-name,.prose .constant,.prose .maybe-class-name,.prose .number,.prose .token.atrule,.prose .token.attr-name,.prose .token.boolean,.prose .token.class-name,.prose .token.constant,.prose .token.maybe-class-name,.prose .token.number,.prose code .atrule,.prose code .attr-name,.prose code .boolean,.prose code .class-name,.prose code .constant,.prose code .maybe-class-name,.prose code .number,.prose code .token.atrule,.prose code .token.attr-name,.prose code .token.boolean,.prose code .token.class-name,.prose code .token.constant,.prose code .token.maybe-class-name,.prose code .token.number,.token.atrule,.token.attr-name,.token.boolean,.token.class-name,.token.constant,.token.maybe-class-name,.token.number{color:var(--rsh-constant)!important}.function,.method,.operator,.prose .function,.prose .method,.prose .operator,.prose .token.function,.prose .token.method,.prose .token.operator,.prose .token.variable,.prose .variable,.prose code .function,.prose code .method,.prose code .operator,.prose code .token.function,.prose code .token.method,.prose code .token.operator,.prose code .token.variable,.prose code .variable,.token.function,.token.method,.token.operator,.token.variable,.variable{color:var(--rsh-function)!important}.deleted,.important,.literal-property,.property,.property-access,.prose .deleted,.prose .important,.prose .literal-property,.prose .property,.prose .property-access,.prose .symbol,.prose .tag,.prose .token.deleted,.prose .token.important,.prose .token.literal-property,.prose .token.property,.prose .token.property-access,.prose .token.symbol,.prose .token.tag,.prose code .deleted,.prose code .important,.prose code .literal-property,.prose code .property,.prose code .property-access,.prose code .symbol,.prose code .tag,.prose code .token.deleted,.prose code .token.important,.prose code .token.literal-property,.prose code .token.property,.prose code .token.property-access,.prose code .token.symbol,.prose code .token.tag,.symbol,.tag,.token.deleted,.token.important,.token.literal-property,.token.property,.token.property-access,.token.symbol,.token.tag{color:var(--rsh-tag)!important}.prose .punctuation,.prose .token.punctuation,.prose code .punctuation,.prose code .token.punctuation,.punctuation,.token.punctuation{color:var(--rsh-punctuation)!important}.prose .token.url,.prose .url,.prose code .token.url,.prose code .url,.token.url,.url{color:var(--rsh-url)!important}html:not(.dark) ::-webkit-scrollbar{width:8px;height:8px}html:not(.dark) ::-webkit-scrollbar-track{background:hsl(210,25%,98%);border-radius:4px}html:not(.dark) ::-webkit-scrollbar-thumb{background:hsl(212,8%,45%);border-radius:4px;transition:background-color .2s ease}html:not(.dark) ::-webkit-scrollbar-thumb:hover{background:hsl(210,12%,30%)}html:not(.dark) ::-webkit-scrollbar-corner{background:hsl(210,25%,98%)}html.dark ::-webkit-scrollbar{width:8px;height:8px}html.dark ::-webkit-scrollbar-track{background:hsl(210,12%,16%);border-radius:4px}html.dark ::-webkit-scrollbar-thumb{background:hsl(212,8%,45%);border-radius:4px;transition:background-color .2s ease}html.dark ::-webkit-scrollbar-thumb:hover{background:hsl(214,13%,60%)}html.dark ::-webkit-scrollbar-corner{background:hsl(210,12%,16%)}html{scrollbar-width:thin}html:not(.dark){scrollbar-color:hsl(212,8%,45%) hsl(210,25%,98%)}html.dark{scrollbar-color:hsl(212,8%,45%) hsl(210,12%,16%)}.ft-inline-code{font-size:.75rem;font-weight:400;background-color:#f4f4f5;padding:.125rem .25rem;border-radius:.375rem}html.dark .ft-inline-code{background-color:#27272a}.ft-code-container{position:relative;margin:.5rem 0}.ft-code-header{display:flex;justify-content:space-between;align-items:center;background-color:#f4f4f5;padding:.25rem;border-radius:.75rem .75rem 0 0;border:1px solid #e4e4e7;border-bottom:none}html.dark .ft-code-header{background-color:#27272a;border-color:#3f3f46}.ft-code-language{font-size:.75rem;color:#18181b}html.dark .ft-code-language{color:#fafafa}.ft-copy-button{display:flex;align-items:center;gap:.25rem;font-size:.75rem;padding:.375rem;border-radius:.5rem;border:none;background-color:transparent;cursor:pointer;transition:background-color .3s}.ft-copy-button:hover{background-color:#e4e4e7}html.dark .ft-copy-button:hover{background-color:#3f3f46}.ft-copy-icon{width:.75rem;height:.75rem;transition:all .3s}.ft-copy-icon-default{color:#71717a}html.dark .ft-copy-icon-default{color:#a1a1aa}.ft-copy-icon-success{color:#22c55e}.ft-code-content{border:1px solid #e4e4e7;border-radius:0 0 .75rem .75rem;overflow:visible}html.dark .ft-code-content{border-color:#3f3f46;background-color:#0c0a09}