.prose pre{position:relative;overflow-x:auto}.prose pre code{display:block;padding:1rem;font-size:.875rem;line-height:1.25rem;font-family:var(--font-geist-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;line-height:1.6}.prose :not(pre)>code{position:relative;border-radius:.25rem;padding:.2em .4em;font-size:.875rem;line-height:1.25rem;font-weight:600;font-family:inherit}.mdxeditor{border-width:0;background-color:transparent}.mdxeditor-root-contenteditable{outline:2px solid transparent;outline-offset:2px}.mdxeditor-popup-container{display:none}.code-block-readonly{margin-top:1.5rem;margin-bottom:1.5rem}.code-block-readonly__label{margin-bottom:.5rem;display:block;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);border-width:1px 1px 0;border-color:hsl(var(--border));background-color:hsl(var(--muted)/.8);padding:.375rem 1rem;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em;color:hsl(var(--muted-foreground))}.code-block-readonly pre{margin:0;overflow-x:auto;border-radius:var(--radius);border-width:1px;border-color:hsl(var(--border));background-color:rgb(10 10 10/.9);padding:1rem}.code-block-readonly:has(.code-block-readonly__label) pre{border-top-left-radius:0;border-top-right-radius:0;border-top-width:0}.code-block-readonly code{display:block;background-color:transparent;padding:0;font-size:.875rem;line-height:1.25rem;font-weight:400;color:hsl(var(--foreground)/.9);font-family:var(--font-geist-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;line-height:1.65;white-space:pre;tab-size:2}.article-markdown .code-block-readonly pre.hljs{margin:0;overflow-x:auto;border-radius:var(--radius);border-width:1px;border-color:hsl(var(--border));padding:1rem;background:hsl(220 13% 9%/.95)!important}.article-markdown .code-block-readonly:has(.code-block-readonly__label) pre.hljs{border-top-left-radius:0;border-top-right-radius:0;border-top-width:0}.article-markdown .code-block-readonly pre.hljs code.hljs{display:block;background-color:transparent;padding:0;font-family:DM Mono,monospace;font-size:.875rem;line-height:1.25rem;line-height:1.625;font-family:var(--font-geist-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;white-space:pre;tab-size:2}.article-markdown .hljs{background:transparent}.article-mdx-editor .mdxeditor,.article-mdx-editor .mdxeditor [class*=_contentEditable_],.article-mdx-editor .mdxeditor [class*=_editorRoot_]{--font-body:var(--font-geist-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--font-mono:var(--font-geist-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-family:var(--font-geist-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.article-mdx-editor .mdxeditor{min-height:0}.article-mdx-editor .mdxeditor [class*=_contentEditable_],.article-mdx-editor .mdxeditor-root-contenteditable{color:hsl(var(--foreground)/.9)}.article-mdx-editor .mdxeditor [class*=_contentEditable_] :not(pre)>code,.article-mdx-editor .mdxeditor-root-contenteditable :not(pre)>code{background-color:hsl(var(--muted))!important;color:hsl(var(--foreground))!important;border:1px solid hsl(var(--border))}.language-javascript .token.keyword,.language-js .token.keyword,.language-tsx .token.keyword,.language-typescript .token.keyword{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.language-javascript .token.keyword:is(.dark *),.language-js .token.keyword:is(.dark *),.language-tsx .token.keyword:is(.dark *),.language-typescript .token.keyword:is(.dark *){--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.language-javascript .token.string,.language-js .token.string,.language-tsx .token.string,.language-typescript .token.string{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.language-javascript .token.string:is(.dark *),.language-js .token.string:is(.dark *),.language-tsx .token.string:is(.dark *),.language-typescript .token.string:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.language-javascript .token.function,.language-js .token.function,.language-tsx .token.function,.language-typescript .token.function{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.language-javascript .token.function:is(.dark *),.language-js .token.function:is(.dark *),.language-tsx .token.function:is(.dark *),.language-typescript .token.function:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.language-javascript .token.comment,.language-js .token.comment,.language-tsx .token.comment,.language-typescript .token.comment{font-style:italic;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.language-javascript .token.comment:is(.dark *),.language-js .token.comment:is(.dark *),.language-tsx .token.comment:is(.dark *),.language-typescript .token.comment:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.prose table{width:100%;border-collapse:collapse}.prose thead{border-bottom-width:2px;border-color:hsl(var(--border))}.prose th{background-color:hsl(var(--muted)/.5);padding:.75rem;text-align:left;font-weight:600}.prose td{border-bottom-width:1px;border-color:hsl(var(--border));padding:.75rem}.prose tbody tr:hover{background-color:hsl(var(--muted)/.3)}.prose blockquote{position:relative}.prose blockquote:before{content:'"';position:absolute;left:-.5rem;top:-.5rem;font-size:2.25rem;line-height:2.5rem;color:hsl(var(--brand-accent));opacity:.3}.prose img+em{margin-top:.5rem;display:block;text-align:center;font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}html{scroll-behavior:smooth;scroll-padding-top:6rem}::selection{background-color:hsl(var(--brand-accent)/.2);color:hsl(var(--foreground))}:focus-visible{outline-width:2px;outline-offset:2px;outline-color:hsl(var(--brand-accent))}.prose hr{margin-top:3rem;margin-bottom:3rem;border-top-width:2px;border-style:dashed;border-color:hsl(var(--border))}.prose ul li::marker{color:hsl(var(--brand-accent))}.prose ol li::marker{font-weight:600;color:hsl(var(--brand-accent))}.prose h2:hover .anchor-link,.prose h3:hover .anchor-link,.prose h4:hover .anchor-link{opacity:1}.anchor-link{margin-left:.5rem;color:hsl(var(--muted-foreground));opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.anchor-link:hover{color:hsl(var(--brand-accent))}@keyframes pulse{50%{opacity:.5}}.skeleton{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;border-radius:.25rem;background-color:hsl(var(--muted))}@keyframes slideInFromRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-slide-in{animation:slideInFromRight .3s ease-out}.animate-fade-in{animation:fadeIn .5s ease-out}@media print{.no-print{display:none!important}.prose{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.prose code{border-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}}