.prose{color:var(--text-primary);overflow-wrap:break-word;word-break:break-word;font-size:1rem;line-height:1.65}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:var(--text-primary);margin-top:2rem;margin-bottom:.75rem;scroll-margin-top:5rem;font-weight:700;line-height:1.35}.prose h1{letter-spacing:-.025em;margin-top:0;margin-bottom:.75rem;font-size:2rem}.prose h2{border-bottom:1px solid var(--border);margin-top:1.25rem;margin-bottom:.375rem;padding-bottom:.375rem;font-size:1.625rem}.prose h3{margin-top:1rem;margin-bottom:.375rem;font-size:1.375rem}.prose h4{color:var(--text-secondary);margin-top:.875rem;margin-bottom:.25rem;font-size:1.125rem}.prose h5{color:var(--text-muted);margin-top:.75rem;margin-bottom:.25rem;font-size:1rem}.prose h6{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.75rem;margin-bottom:.25rem;font-size:.875rem}.prose h1 a,.prose h2 a,.prose h3 a,.prose h4 a,.prose h5 a,.prose h6 a{color:inherit;vertical-align:middle;margin-left:.15em;text-decoration:none;display:inline-block}.prose h1 a:hover,.prose h2 a:hover,.prose h3 a:hover,.prose h4 a:hover,.prose h5 a:hover,.prose h6 a:hover{color:var(--accent)}.prose p{text-align:start;word-wrap:break-word;hyphens:auto;margin-top:0;margin-bottom:1em}.prose p:last-child{margin-bottom:0}.prose a{color:var(--accent);text-underline-offset:.2em;text-decoration:underline 1px;transition:color .2s,text-decoration-color .2s}.prose a:hover{color:var(--accent-hover);text-decoration-thickness:2px}.prose a:focus{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.prose strong{color:var(--text-primary);font-weight:700}.prose em{font-style:italic}.prose code{background-color:var(--code-background);color:var(--code-foreground);border-radius:var(--radius-sm);border:1px solid var(--code-border);padding:.2em .4em;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.875em}.prose pre code{color:inherit;font-size:inherit;background-color:#0000;border:none;padding:0}.prose ul,.prose ol{margin-top:0;margin-bottom:1rem;padding-left:1.5rem}.prose ul{list-style-type:disc}.prose ol{list-style-type:decimal}.prose ul ul,.prose ul ol,.prose ol ul,.prose ol ol{margin-top:.5rem;margin-bottom:.5rem}.prose li{margin-bottom:.375rem}.prose li::marker{color:var(--text-muted)}.prose li>p{margin-bottom:.75rem}.prose li>p:last-child{margin-bottom:0}.prose ul.contains-task-list{padding-left:0;list-style-type:none}.prose ul.contains-task-list li{align-items:flex-start;gap:.5rem;display:flex}.prose ul.contains-task-list input[type=checkbox]{accent-color:var(--accent);margin-top:.4rem}.prose blockquote{border-left:4px solid var(--accent);background-color:var(--bg-secondary);border-radius:0 var(--radius-lg) var(--radius-lg) 0;color:var(--text-secondary);margin:2rem 0;padding:1.25rem 1.5rem;font-style:italic}.prose blockquote p{margin-bottom:.75rem}.prose blockquote p:last-child{margin-bottom:0}.prose blockquote cite{color:var(--text-muted);margin-top:.75rem;font-size:.875rem;font-style:normal;display:block}.prose blockquote cite:before{content:"— "}.prose blockquote blockquote{background-color:var(--bg-tertiary);margin:1rem 0}.prose hr{border:none;border-top:1px solid var(--border);margin:3rem 0}.prose pre{background-color:var(--code-background);border:1px solid var(--code-border);border-radius:var(--radius);max-width:100%;margin:1.5rem 0;padding:1.25rem;font-size:.875rem;line-height:1.7;overflow-x:auto}.prose pre code{background:0 0;border:none;border-radius:0;padding:0;display:block}.prose h1 code,.prose h2 code,.prose h3 code,.prose h4 code,.prose h5 code,.prose h6 code{background-color:var(--code-background);border-radius:var(--radius-sm);padding:.1em .3em;font-size:.8em}.prose-table-scroll{-webkit-overflow-scrolling:touch;border-radius:var(--radius);width:100%;max-width:100%;box-shadow:var(--shadow-sm);background-color:var(--bg-card);margin:2rem 0;overflow-x:auto}.prose table{--table-rule:color-mix(in srgb, var(--text-primary) 14%, var(--bg-card));border-collapse:collapse;background-color:var(--bg-card);overflow-wrap:normal;word-break:normal;width:100%;margin:0;font-size:.9375rem;display:table}.prose td .prose-figure,.prose th .prose-figure{min-width:16rem;margin:.5rem 0}.prose thead th{background-color:var(--bg-secondary)}.prose th{text-align:left;color:var(--text-primary);border-bottom:1px solid var(--table-rule);padding:.75rem 1rem;font-weight:600}.prose td{border-bottom:1px solid var(--table-rule);vertical-align:top;padding:.75rem 1rem}.prose th+th,.prose td+td{border-left:1px solid var(--table-rule)}.prose tbody tr:nth-child(2n){background-color:var(--bg-secondary)}.prose tbody tr:hover{background-color:var(--bg-hover)}.prose tbody tr:last-child td{border-bottom:none}.prose .katex-display{-webkit-overflow-scrolling:touch;max-width:100%;overflow:auto hidden}.prose img{border-radius:var(--radius);max-width:100%;height:auto;box-shadow:var(--shadow-md);margin:2rem auto;display:block}.prose-figure{border-radius:var(--radius);background-color:var(--bg-secondary);background-image:var(--lqip,none);width:100%;max-width:100%;box-shadow:var(--shadow-md);background-position:50%;background-size:cover;margin:2rem auto;display:block;position:relative;overflow:hidden}.prose-figure-flush{box-shadow:none;margin:0}.article-content-lead-cover>.prose-figure:first-child{display:none}.prose-figure img{object-fit:contain;object-position:center;width:100%;max-width:none;height:100%;max-height:none;box-shadow:none;border-radius:0;margin:0;display:block;position:absolute;inset:0}.prose-figure-cover img{object-fit:cover}.prose-figure-bitmap img{opacity:0;transition:opacity .35s}.prose-figure-bitmap img.is-loaded{opacity:1}@media (prefers-reduced-motion:reduce){.prose-figure-bitmap img{opacity:1;transition:none}}.prose .gatsby-resp-image-wrapper{background:var(--bg-secondary);border-radius:var(--radius)}.prose .gatsby-resp-image-image{animation:.3s ease-out proseImgFadeIn}.prose img.prose-img-placeholder{background:var(--bg-secondary)}@keyframes proseImgFadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.prose .gatsby-resp-image-image{animation:none}}.prose figure{margin:2rem 0}.prose figure img{margin-bottom:.75rem}.prose figcaption{text-align:center;color:var(--text-muted);font-size:.875rem;font-style:italic}.prose a img{transition:transform .3s,box-shadow .3s}.prose a:hover img{box-shadow:var(--shadow-lg);transform:scale(1.02)}.prose dl{margin:1.5rem 0}.prose dt{color:var(--text-primary);margin-top:1rem;font-weight:600}.prose dd{color:var(--text-secondary);margin-bottom:.75rem;margin-left:1.5rem}.prose abbr{border-bottom:1px dotted var(--text-muted);cursor:help;text-decoration:none}.prose sup,.prose sub{vertical-align:baseline;font-size:.75em;line-height:0;position:relative}.prose sup{top:-.5em}.prose sub{bottom:-.25em}.prose kbd{background-color:var(--bg-tertiary);border:1px solid var(--border-hover);border-radius:var(--radius-sm);box-shadow:0 2px 0 var(--border);padding:.15em .4em;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.875em}.prose mark{background-color:var(--warning-subtle);color:var(--text-primary);border-radius:var(--radius-sm);padding:.1em .2em}.prose details{background-color:var(--bg-secondary);border-radius:var(--radius);border:1px solid var(--border);margin:1.5rem 0;padding:1rem}.prose summary{cursor:pointer;user-select:none;font-weight:600}.prose summary:hover{color:var(--accent)}.prose details[open] summary{margin-bottom:.75rem}.prose ::selection{background-color:var(--accent);color:var(--accent-foreground)}@media (width<=640px){.prose{font-size:.9375rem;line-height:1.6}.prose h1{font-size:1.625rem}.prose h2{font-size:1.375rem}.prose h3{font-size:1.1875rem}.prose h4{font-size:1.0625rem}.prose pre{-webkit-overflow-scrolling:touch;white-space:pre;word-wrap:normal;padding:1rem;font-size:.8125rem;overflow-x:auto}.prose pre code{white-space:pre;word-wrap:normal;word-break:normal}.prose code{word-break:break-word}.prose blockquote{margin:1.5rem 0;padding:.75rem 1rem}.prose table{font-size:.875rem}.prose th,.prose td{padding:.5rem .75rem}.prose-table-scroll:has(.prose-figure) table,.prose-table-scroll:has(.prose-figure) tbody,.prose-table-scroll:has(.prose-figure) tr,.prose-table-scroll:has(.prose-figure) td{width:100%;display:block}.prose-table-scroll:has(.prose-figure) thead{display:none}.prose-table-scroll:has(.prose-figure) td{border-left:none;border-bottom:1px solid var(--table-rule,transparent)}.prose-table-scroll:has(.prose-figure) td .prose-figure{width:100%;min-width:0;margin:.5rem 0}.prose img{max-width:100%;height:auto}.prose ul,.prose ol{padding-left:1.25rem}}.prose:focus-within{outline:none}@media print{.prose{font-size:12pt;line-height:1.5}.prose a{color:#000;text-decoration:underline}.prose a[href]:after{content:" (" attr(href) ")";color:#666;font-size:.875em}.prose pre,.prose blockquote{page-break-inside:avoid;border:1px solid #ccc}.prose img{page-break-inside:avoid;max-width:100%!important}.prose h1,.prose h2,.prose h3{page-break-after:avoid}}.gatsby-highlight{background-color:var(--code-background);background-image:linear-gradient(to right, var(--code-header-background) 0 calc(2.75rem - 1px), var(--code-border) calc(2.75rem - 1px) 2.75rem, transparent 2.75rem);border:1px solid var(--code-border);max-width:100%;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast);border-radius:12px;margin:1.5rem 0;position:relative;overflow:hidden}.gatsby-highlight:hover{box-shadow:var(--shadow-md)}.gatsby-highlight:hover .code-copy-button{opacity:1}.gatsby-highlight pre{color:var(--code-foreground);background-color:#0000;border:none;border-radius:0;margin:0;padding:1.25rem;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:.875rem;line-height:1.7;overflow-x:auto}.gatsby-highlight pre code{font-size:inherit;color:inherit;background:0 0;border:none;border-radius:0;padding:0;display:block}.code-copy-button{background-color:var(--bg-secondary);border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;opacity:0;transition:all var(--transition-fast);z-index:10;box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:.75rem;right:.75rem}.code-copy-button:hover{background-color:var(--bg-tertiary);color:var(--text-primary);box-shadow:var(--shadow)}.code-copy-button:active{transform:scale(.95)}.code-copy-button.copied{background-color:var(--success-subtle);color:var(--success);opacity:1;border:none}.code-copy-button svg{width:1rem;height:1rem}.gatsby-highlight[data-language]:not([data-language=""]):not([data-language=text]):not([data-language=none]) .code-copy-button{width:1.75rem;height:1.75rem;top:.25rem;right:.5rem}.gatsby-highlight:before{content:attr(data-language);background-color:var(--code-header-background);height:2.25rem;box-shadow:0 1px 0 0 var(--code-border);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);user-select:none;z-index:5;align-items:center;padding:0 1rem;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.6875rem;font-weight:600;display:flex;position:absolute;top:0;left:0;right:0}.gatsby-highlight[data-language]:not([data-language=""]):not([data-language=text]):not([data-language=none]) pre{padding-top:3.125rem}.gatsby-highlight[data-language=text]:before,.gatsby-highlight[data-language=none]:before,.gatsby-highlight:not([data-language]):before{display:none}.gatsby-highlight pre.line-numbers{padding-left:3.25rem}.line-numbers .line-numbers-rows{counter-reset:linenumber;text-align:right;user-select:none;pointer-events:none;border-right:none;width:2.75rem;padding:0 .75rem 0 .5rem;position:absolute;top:1.25rem;left:0}.line-numbers-rows>span{counter-increment:linenumber;color:var(--text-subtle);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.9286em;line-height:1.8308;display:block}.line-numbers-rows>span:before{content:counter(linenumber);display:block}.gatsby-highlight[data-language]:not([data-language=""]):not([data-language=text]):not([data-language=none]) .line-numbers-rows{top:3.125rem}.line-highlight{background:var(--accent);opacity:.1;pointer-events:none;position:absolute;left:0;right:0}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:var(--syntax-comment);font-style:italic}.token.keyword,.token.atrule,.token.attr-keyword{color:var(--syntax-keyword);font-weight:600}.token.string,.token.attr-value,.token.char,.token.builtin{color:var(--syntax-string)}.token.number,.token.unit{color:var(--syntax-number)}.token.function,.token.method{color:var(--syntax-function)}.token.class-name,.token.type,.token.maybe-class-name{color:var(--syntax-class)}.token.variable,.token.parameter,.token.property{color:var(--syntax-variable)}.token.operator,.token.selector{color:var(--syntax-operator)}.token.punctuation{color:var(--syntax-punctuation)}.token.tag{color:var(--syntax-tag)}.token.attr-name{color:var(--syntax-attribute)}.token.regex{color:var(--syntax-regex)}.token.important,.token.bold{color:var(--syntax-important);font-weight:700}.token.italic{font-style:italic}.token.deleted{color:#dc2626;background-color:#dc26261a}.token.inserted{color:#059669;background-color:#0596691a}.token.namespace{opacity:.7}.token.entity{cursor:help}.token.url{color:var(--syntax-string);text-decoration:underline}.language-css .token.selector{color:var(--syntax-tag)}.language-css .token.property{color:var(--syntax-keyword)}.language-markdown .token.title,.language-md .token.title{color:var(--syntax-function);font-weight:700}.language-markdown .token.code,.language-md .token.code{color:var(--syntax-string)}.language-markdown .token.url,.language-md .token.url{color:var(--syntax-keyword)}.language-markdown .token.list,.language-md .token.list{color:var(--syntax-number)}.language-markdown .token.bold,.language-md .token.bold{font-weight:700}.language-markdown .token.italic,.language-md .token.italic{font-style:italic}.language-json .token.property{color:var(--syntax-tag)}.language-shell .token.shell-symbol,.language-bash .token.shell-symbol,.language-sh .token.shell-symbol{color:var(--syntax-keyword)}.language-diff .token.prefix.inserted,.token.inserted.prefix{color:#059669}.language-diff .token.prefix.deleted,.token.deleted.prefix{color:#dc2626}.gatsby-highlight pre::-webkit-scrollbar{width:8px;height:8px}.gatsby-highlight pre::-webkit-scrollbar-track{background:0 0}.gatsby-highlight pre::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:4px}.gatsby-highlight pre::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.gatsby-highlight pre{scrollbar-width:thin;scrollbar-color:var(--border-hover) transparent}.gatsby-highlight:focus-within,.code-copy-button:focus{outline:2px solid var(--accent);outline-offset:2px}@media print{.gatsby-highlight{break-inside:avoid;border:1px solid #ccc}.code-copy-button{display:none}.gatsby-highlight pre{white-space:pre-wrap;word-wrap:break-word}}@media (width<=640px){.gatsby-highlight{background-image:linear-gradient(to right, transparent 95%, var(--border) 100%);background-repeat:no-repeat;background-size:100% 100%;border-radius:8px;margin:1rem 0}.gatsby-highlight pre{-webkit-overflow-scrolling:touch;white-space:pre;word-wrap:normal;word-break:normal;scrollbar-width:thin;scrollbar-color:var(--border) transparent;padding:1rem;font-size:.8125rem;overflow-x:auto}.gatsby-highlight pre::-webkit-scrollbar{height:6px}.gatsby-highlight pre::-webkit-scrollbar-track{background:0 0}.gatsby-highlight pre::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:3px}.gatsby-highlight[data-language]:not([data-language=""]):not([data-language=text]):not([data-language=none]) pre{padding-top:3rem}.code-copy-button{width:1.75rem;min-width:44px;height:1.75rem;min-height:44px;top:.5rem;right:.5rem}.gatsby-highlight[data-language]:not([data-language=""]):not([data-language=text]):not([data-language=none]) .code-copy-button{width:1.75rem;min-width:36px;height:1.75rem;min-height:36px;top:.25rem}.gatsby-highlight:before{padding:0 .875rem;font-size:.625rem}.line-numbers .line-numbers-rows{text-align:right;width:2.5rem;padding:0 .625rem 0 .375rem;top:1rem;left:0}.gatsby-highlight pre.line-numbers{padding-left:2.875rem}.gatsby-highlight{background-image:linear-gradient(to right, var(--code-header-background) 0 calc(2.5rem - 1px), var(--code-border) calc(2.5rem - 1px) 2.5rem, transparent 2.5rem)}.gatsby-highlight[data-language]:not([data-language=""]):not([data-language=text]):not([data-language=none]) .line-numbers-rows{top:3rem}}@media (width<=380px){.gatsby-highlight pre{padding:.75rem;font-size:.75rem}.line-numbers .line-numbers-rows{top:.75rem}.gatsby-highlight[data-language]:not([data-language=""]):not([data-language=text]):not([data-language=none]) pre{padding-top:2.875rem}.gatsby-highlight[data-language]:not([data-language=""]):not([data-language=text]):not([data-language=none]) .line-numbers-rows{top:2.875rem}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@layer astro.images{:where([data-astro-image]){height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}[data-astro-image-fit=fill]{object-fit:fill}[data-astro-image-fit=contain]{object-fit:contain}[data-astro-image-fit=cover]{object-fit:cover}[data-astro-image-fit=scale-down]{object-fit:scale-down}[data-astro-image-pos=top]{object-position:top}[data-astro-image-pos=bottom]{object-position:bottom}[data-astro-image-pos=left]{object-position:left}[data-astro-image-pos=right]{object-position:right}[data-astro-image-pos=center]{object-position:center}[data-astro-image-pos=top-bottom]{object-position:top bottom}[data-astro-image-pos=top-left]{object-position:top left}[data-astro-image-pos=top-right]{object-position:top right}[data-astro-image-pos=top-center]{object-position:top center}[data-astro-image-pos=bottom-top]{object-position:bottom top}[data-astro-image-pos=bottom-left]{object-position:bottom left}[data-astro-image-pos=bottom-right]{object-position:bottom right}[data-astro-image-pos=bottom-center]{object-position:bottom center}[data-astro-image-pos=left-top]{object-position:left top}[data-astro-image-pos=left-bottom]{object-position:left bottom}[data-astro-image-pos=left-right]{object-position:left right}[data-astro-image-pos=left-center]{object-position:left center}[data-astro-image-pos=right-top]{object-position:right top}[data-astro-image-pos=right-bottom]{object-position:right bottom}[data-astro-image-pos=right-left]{object-position:right left}[data-astro-image-pos=right-center]{object-position:right center}[data-astro-image-pos=center-top]{object-position:center top}[data-astro-image-pos=center-bottom]{object-position:center bottom}[data-astro-image-pos=center-left]{object-position:center left}[data-astro-image-pos=center-right]{object-position:center right}}
