pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#c678dd}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e06c75}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#98c379}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#d19a66}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}.markdown-content{--markdown-line-height: 1.7;--markdown-font-family: var(--font-sans, system-ui, sans-serif);--markdown-heading-font-family: var(--font-sans, system-ui, sans-serif);--markdown-heading-font-weight: 700;--markdown-heading-color: hsl(var(--foreground));--markdown-link-color: hsl(var(--primary));--markdown-link-hover-bg: hsl(var(--primary) / .1);--markdown-blockquote-border-color: hsl(var(--muted));--markdown-blockquote-bg: transparent;--markdown-blockquote-padding: 0 0 0 1rem;--markdown-code-font-family: "Geist Mono", monospace;--markdown-image-border-radius: .5rem;--markdown-image-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--markdown-image-margin: 1.5rem 0;line-height:var(--markdown-line-height);font-family:var(--markdown-font-family)}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{font-family:var(--markdown-heading-font-family);font-weight:var(--markdown-heading-font-weight);color:var(--markdown-heading-color);line-height:1.2}.markdown-content h1{font-size:2rem;margin-top:2rem;margin-bottom:1rem}.markdown-content h2{font-size:1.5rem;margin-top:1.75rem;margin-bottom:.75rem}.markdown-content h3{font-size:1.25rem;margin-top:1.5rem;margin-bottom:.5rem}.markdown-content p{margin-bottom:1rem}.markdown-content a{color:var(--markdown-link-color);text-decoration:underline;text-underline-offset:.2em;font-weight:500;border-radius:.2em;padding:.05em .2em;margin:0 -.2em;transition:all .2s ease;position:relative}.markdown-content a:not(:has(img)):after{content:"↗";font-size:.8em;display:inline-block;margin-left:.2em;opacity:.7;vertical-align:super;font-weight:700}.markdown-content a:hover{background-color:var(--markdown-link-hover-bg);text-decoration-thickness:2px}.markdown-content ul,.markdown-content ol{margin-bottom:1rem;padding-left:1.5rem}.markdown-content ul{list-style-type:disc}.markdown-content ol{list-style-type:decimal}.markdown-content li{margin-bottom:.5rem}.markdown-content blockquote{border-left:4px solid var(--markdown-blockquote-border-color);padding:var(--markdown-blockquote-padding);background-color:var(--markdown-blockquote-bg);margin-left:0;margin-right:0;margin-bottom:1rem;font-style:italic;color:hsl(var(--muted-foreground))}.markdown-content hr{margin:2rem 0;border:0;border-top:1px solid hsl(var(--border))}.markdown-content table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}.markdown-content th,.markdown-content td{border:1px solid hsl(var(--border));padding:.75rem;text-align:left}.markdown-content th{background-color:hsl(var(--muted));font-weight:600}.markdown-content tr:nth-child(2n){background-color:hsl(var(--muted) / .3)}.markdown-content img{max-width:100%;height:auto;border-radius:var(--markdown-image-border-radius);margin:var(--markdown-image-margin);box-shadow:var(--markdown-image-box-shadow)}.markdown-content img[title]{cursor:pointer}.markdown-content p:has(img){text-align:center}@media (max-width: 768px){.markdown-content img{margin:1rem 0}}.markdown-content pre{background-color:#282c34;border-radius:.5rem;margin-bottom:1.5rem;overflow:hidden;color:#abb2bf;padding:1.5rem;border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 6px #00000026}.markdown-content pre code{padding:0;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;color:inherit;font-family:var(--markdown-code-font-family);font-size:.85rem!important;line-height:1.6}.markdown-content :not(pre)>code{background-color:hsl(var(--muted));padding:.2em .4em;border-radius:.25rem;font-family:var(--markdown-code-font-family);font-size:.85em;white-space:nowrap}@media (max-width: 768px){.markdown-content :not(pre)>code{white-space:pre-wrap;word-break:break-all}}.hljs,.language-bash,.language-javascript,.language-js,.language-typescript,.language-ts,.language-python,.language-css,.language-html{display:block;color:#abb2bf;font-size:.85rem!important}.hljs-keyword{color:#c678dd}.hljs-built_in,.hljs-type{color:#e6c07b}.hljs-literal{color:#56b6c2}.hljs-number{color:#d19a66}.hljs-regexp,.hljs-string{color:#98c379}.hljs-subst{color:#e06c75}.hljs-symbol{color:#61aeee}.hljs-class{color:#e6c07b}.hljs-function,.hljs-title{color:#61aeee}.hljs-params{color:#d19a66}.hljs-comment{color:#5c6370;font-style:italic}.hljs-doctag{color:#c678dd}.hljs-meta{color:#61aeee}.hljs-section,.hljs-tag,.hljs-name{color:#e06c75}.hljs-attr{color:#d19a66}.hljs-attribute{color:#98c379}.hljs-variable{color:#e06c75}.dark .markdown-content{--markdown-link-color: hsl(var(--secondary));--markdown-link-hover-bg: hsl(var(--secondary) / .15)}.dark .markdown-content :not(pre)>code{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground))}.dark .markdown-content pre{border-color:#ffffff1a}.markdown-theme-blog{--markdown-line-height: 1.8;--markdown-font-family: var(--font-sans);--markdown-heading-font-weight: 700;--markdown-blockquote-border-color: hsl(var(--primary));--markdown-blockquote-bg: hsl(var(--muted) / .5);--markdown-blockquote-padding: clamp(1rem, .85rem + .5vw, 1.5rem);--markdown-image-border-radius: clamp(.5rem, .4rem + .25vw, .75rem);--markdown-image-box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--markdown-image-margin: clamp(1.5rem, 1.25rem + 1vw, 2.5rem) auto}.markdown-theme-blog h1{font-size:clamp(1.75rem,1.5rem + 1.25vw,2.75rem);margin-top:clamp(1.75rem,1.5rem + 1vw,2.5rem);margin-bottom:clamp(1rem,.85rem + .5vw,1.5rem)}.markdown-theme-blog h2{font-size:clamp(1.5rem,1.25rem + 1vw,2rem);margin-top:clamp(2.5rem,2rem + 1.5vw,3.5rem);margin-bottom:clamp(1rem,.85rem + .5vw,1.5rem);padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border))}.markdown-theme-blog h3{font-size:clamp(1.25rem,1.1rem + .5vw,1.5rem);margin-top:clamp(2rem,1.75rem + .75vw,3rem);margin-bottom:clamp(.75rem,.65rem + .5vw,1.25rem)}.markdown-theme-blog p{margin-bottom:1.5rem;color:hsl(var(--foreground) / .9);font-size:clamp(1rem,.95rem + .25vw,1.125rem)}.markdown-theme-blog h2:not(:first-child),.markdown-theme-blog h3:not(:first-child){margin-top:clamp(2.5rem,2rem + 2vw,4rem)}.markdown-theme-blog blockquote{border-radius:.5rem;margin:clamp(1.5rem,1.25rem + 1vw,2.5rem) 0;font-style:normal}.markdown-theme-blog blockquote p{margin-bottom:0}.markdown-theme-blog img:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.markdown-theme-blog figure{margin:clamp(1.5rem,1.25rem + 1vw,2.5rem) 0;text-align:center}.markdown-theme-blog figcaption{margin-top:clamp(.75rem,.65rem + .25vw,1rem);font-size:clamp(.8rem,.78rem + .1vw,.9rem);color:hsl(var(--muted-foreground));font-family:var(--font-sans);font-style:italic}@media (max-width: 768px){.markdown-theme-blog{--markdown-line-height: 1.7}}@media (max-width: 640px){.markdown-theme-blog{--markdown-line-height: 1.6}.markdown-theme-blog img:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 12px 15px -5px #0000001a,0 5px 7px -5px #0000000a}}
