.blog-prose{color:hsl(var(--heroui-default-800));font-size:1.0625rem;line-height:1.65;letter-spacing:-.003em;text-wrap:pretty;word-wrap:break-word;overflow-wrap:break-word}@media (min-width:768px){.blog-prose{font-size:1.125rem}}.blog-prose :where(p,ul,ol,blockquote,figure,pre){margin:0}.blog-prose>*+*,.blog-prose>div>*+*{margin-top:1.1em}.blog-prose>div>p+:is(ul,ol),.blog-prose>p+:is(ul,ol){margin-top:.6em}.blog-prose h1,.blog-prose h2,.blog-prose h3,.blog-prose h4{color:hsl(var(--heroui-foreground));font-weight:700;line-height:1.25;letter-spacing:-.02em;scroll-margin-top:6rem}.blog-prose h2{font-size:1.5rem;margin-top:2.1em;margin-bottom:0}.blog-prose h3{font-size:1.22rem;font-weight:650;margin-top:1.7em;margin-bottom:0}.blog-prose h4{font-size:1.08rem;margin-top:1.5em;margin-bottom:0}.blog-prose :is(h2,h3,h4)+*{margin-top:.55em}.blog-prose>:first-child,.blog-prose>div>:first-child{margin-top:0}@media (min-width:768px){.blog-prose h2{font-size:1.75rem}.blog-prose h3{font-size:1.32rem}.blog-prose h4{font-size:1.15rem}}.blog-prose a{color:hsl(var(--heroui-primary));font-weight:500;text-decoration:underline;text-decoration-color:hsl(var(--heroui-primary)/.35);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .15s ease}.blog-prose a:hover{text-decoration-color:hsl(var(--heroui-primary))}.blog-prose b,.blog-prose strong{font-weight:650;color:hsl(var(--heroui-foreground))}.blog-prose em,.blog-prose i{font-style:italic}.blog-prose mark{background:hsl(var(--heroui-warning)/.28);color:inherit;padding:.05em .3em;border-radius:.25rem}.blog-prose del,.blog-prose s{color:hsl(var(--heroui-foreground)/.5)}.blog-prose ol,.blog-prose ul{padding-left:1.4rem}.blog-prose li{padding-left:.3rem}.blog-prose li+li{margin-top:.4em}.blog-prose li>p+p{margin-top:.5em}.blog-prose li::marker{color:hsl(var(--heroui-primary))}.blog-prose ul{list-style:disc}.blog-prose ol{list-style:decimal}.blog-prose ol li::marker{font-weight:600}.blog-prose li>ol,.blog-prose li>ul{margin-top:.45em}.blog-prose li.task-list-item{list-style:none;margin-left:-1.2rem;padding-left:0}.blog-prose li.task-list-item input{margin-right:.55rem;accent-color:hsl(var(--heroui-primary))}.blog-prose blockquote{padding:.9rem 1.15rem;border-left:3px solid hsl(var(--heroui-primary));border-radius:0 .75rem .75rem 0;background:hsl(var(--heroui-primary)/.06);color:hsl(var(--heroui-foreground)/.85)}.blog-prose blockquote p{margin-top:.6em}.blog-prose blockquote>:first-child{margin-top:0}.blog-prose :not(pre)>code{font-family:SF Mono,ui-monospace,Roboto Mono,Menlo,Consolas,monospace;font-size:.88em;background:hsl(var(--heroui-default-100));color:hsl(var(--heroui-foreground));padding:.12em .4em;border-radius:.35rem;border:1px solid hsl(var(--heroui-foreground)/.08);word-break:break-word}.blog-prose .blog-code{margin-top:1.6em;border:1px solid hsl(var(--heroui-foreground)/.1);border-radius:.85rem;overflow:hidden;background:hsl(var(--heroui-content1))}.blog-prose .blog-code__bar{display:flex;align-items:center;justify-content:space-between;padding:.4rem .5rem .4rem 1rem;background:hsl(var(--heroui-default-100)/.6);border-bottom:1px solid hsl(var(--heroui-foreground)/.08)}.blog-prose .blog-code__lang{font-family:SF Mono,ui-monospace,Roboto Mono,Menlo,Consolas,monospace;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:hsl(var(--heroui-foreground)/.5)}.blog-prose .blog-code__copy{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;font-weight:500;color:hsl(var(--heroui-foreground)/.6);padding:.28rem .6rem;border-radius:.5rem;transition:background-color .15s ease,color .15s ease}.blog-prose .blog-code__copy:hover{background:hsl(var(--heroui-default-200)/.7);color:hsl(var(--heroui-foreground))}.blog-prose .blog-code pre{margin:0;padding:1.1rem 1.25rem;overflow-x:auto;background:transparent;-webkit-overflow-scrolling:touch}.blog-prose .blog-code pre code{font-family:SF Mono,ui-monospace,Roboto Mono,Menlo,Consolas,monospace;font-size:.875rem;line-height:1.7;background:none;padding:0;border:none}.blog-prose .blog-table-wrap{margin-top:1.6em;overflow-x:auto;border:1px solid hsl(var(--heroui-foreground)/.1);border-radius:.75rem}.blog-prose table{width:100%;border-collapse:collapse;font-size:.95em}.blog-prose thead{background:hsl(var(--heroui-default-100)/.7)}.blog-prose td,.blog-prose th{padding:.7rem 1rem;text-align:left;border-bottom:1px solid hsl(var(--heroui-foreground)/.08)}.blog-prose th{font-weight:600;color:hsl(var(--heroui-foreground))}.blog-prose tbody tr:last-child td{border-bottom:none}.blog-prose img{display:block;max-width:100%;height:auto;margin:1.8em auto;border-radius:.85rem;border:1px solid hsl(var(--heroui-foreground)/.08)}.blog-prose hr:has(+h1),.blog-prose hr:has(+h2),.blog-prose hr:has(+h3){display:none}.blog-prose hr{margin:2.6em 0;border:none;border-top:1px solid hsl(var(--heroui-foreground)/.12)}.blog-prose kbd{font-family:SF Mono,ui-monospace,monospace;font-size:.8em;background:hsl(var(--heroui-default-100));border:solid hsl(var(--heroui-foreground)/.15);border-width:1px 1px 2px;border-radius:.35rem;padding:.1em .45em}.blog-prose .hljs{color:#24292e}.blog-prose .hljs-doctag,.blog-prose .hljs-keyword,.blog-prose .hljs-meta .hljs-keyword,.blog-prose .hljs-template-tag,.blog-prose .hljs-template-variable,.blog-prose .hljs-type,.blog-prose .hljs-variable.language_{color:#d73a49}.blog-prose .hljs-title,.blog-prose .hljs-title.class_,.blog-prose .hljs-title.class_.inherited__,.blog-prose .hljs-title.function_{color:#6f42c1}.blog-prose .hljs-attr,.blog-prose .hljs-attribute,.blog-prose .hljs-literal,.blog-prose .hljs-meta,.blog-prose .hljs-number,.blog-prose .hljs-operator,.blog-prose .hljs-selector-attr,.blog-prose .hljs-selector-class,.blog-prose .hljs-selector-id,.blog-prose .hljs-variable{color:#005cc5}.blog-prose .hljs-meta .hljs-string,.blog-prose .hljs-regexp,.blog-prose .hljs-string{color:#032f62}.blog-prose .hljs-built_in,.blog-prose .hljs-symbol{color:#e36209}.blog-prose .hljs-code,.blog-prose .hljs-comment,.blog-prose .hljs-formula{color:#6a737d}.blog-prose .hljs-name,.blog-prose .hljs-quote,.blog-prose .hljs-selector-pseudo,.blog-prose .hljs-selector-tag{color:#22863a}.blog-prose .hljs-subst{color:#24292e}.blog-prose .hljs-section{color:#005cc5;font-weight:700}.blog-prose .hljs-bullet{color:#735c0f}.blog-prose .hljs-emphasis{color:#24292e;font-style:italic}.blog-prose .hljs-strong{color:#24292e;font-weight:700}.blog-prose .hljs-addition{color:#22863a;background-color:#f0fff4}.blog-prose .hljs-deletion{color:#b31d28;background-color:#ffeef0}.dark .blog-prose .hljs{color:#c9d1d9}.dark .blog-prose .hljs-doctag,.dark .blog-prose .hljs-keyword,.dark .blog-prose .hljs-meta .hljs-keyword,.dark .blog-prose .hljs-template-tag,.dark .blog-prose .hljs-template-variable,.dark .blog-prose .hljs-type,.dark .blog-prose .hljs-variable.language_{color:#ff7b72}.dark .blog-prose .hljs-title,.dark .blog-prose .hljs-title.class_,.dark .blog-prose .hljs-title.class_.inherited__,.dark .blog-prose .hljs-title.function_{color:#d2a8ff}.dark .blog-prose .hljs-attr,.dark .blog-prose .hljs-attribute,.dark .blog-prose .hljs-literal,.dark .blog-prose .hljs-meta,.dark .blog-prose .hljs-number,.dark .blog-prose .hljs-operator,.dark .blog-prose .hljs-selector-attr,.dark .blog-prose .hljs-selector-class,.dark .blog-prose .hljs-selector-id,.dark .blog-prose .hljs-variable{color:#79c0ff}.dark .blog-prose .hljs-meta .hljs-string,.dark .blog-prose .hljs-regexp,.dark .blog-prose .hljs-string{color:#a5d6ff}.dark .blog-prose .hljs-built_in,.dark .blog-prose .hljs-symbol{color:#ffa657}.dark .blog-prose .hljs-code,.dark .blog-prose .hljs-comment,.dark .blog-prose .hljs-formula{color:#8b949e}.dark .blog-prose .hljs-name,.dark .blog-prose .hljs-quote,.dark .blog-prose .hljs-selector-pseudo,.dark .blog-prose .hljs-selector-tag{color:#7ee787}.dark .blog-prose .hljs-subst{color:#c9d1d9}.dark .blog-prose .hljs-section{color:#1f6feb;font-weight:700}.dark .blog-prose .hljs-bullet{color:#f2cc60}.dark .blog-prose .hljs-emphasis{color:#c9d1d9;font-style:italic}.dark .blog-prose .hljs-strong{color:#c9d1d9;font-weight:700}.dark .blog-prose .hljs-addition{color:#aff5b4;background-color:#033a16}.dark .blog-prose .hljs-deletion{color:#ffdcd7;background-color:#67060c}@media (max-width:480px){.blog-prose .blog-code pre{padding:.85rem .9rem}.blog-prose .blog-code pre code{font-size:.8rem}}