.markdown-content{color:var(--color-text)!important;font-size:1rem;line-height:1.6;max-width:none;font-weight:400}.markdown-content *{color:inherit}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:var(--color-text-contrast)!important;font-weight:700;letter-spacing:-.025em;scroll-margin-top:4rem;margin-top:2rem;margin-bottom:.75rem}.markdown-content h1{padding-bottom:.5rem;border-bottom:2px solid var(--color-accent);font-size:2rem!important;margin-top:1.125rem;margin-bottom:1.5rem}.markdown-content h2{font-size:1.5rem;margin-top:1.125rem;margin-bottom:1rem}.markdown-content h3{font-size:1.125rem}.markdown-content h4{font-size:.844rem}.markdown-content h5{font-size:.844rem;color:var(--color-text-muted)!important}.markdown-content p{margin-bottom:1rem;line-height:1.6;color:var(--color-text)!important}.markdown-content a{color:var(--color-accent)!important;text-decoration:none;font-weight:500;transition:all .2s ease;border-bottom:1px solid transparent}.markdown-content a:hover{color:var(--color-accent-hover)!important;border-bottom-color:var(--color-accent-hover);text-decoration:none}.markdown-content code{background-color:var(--color-bg-highlight)!important;padding:.125rem .25rem;border-radius:.375rem;font-size:.875em;font-weight:600;font-family:JetBrains Mono,Monaco,Inconsolata,Roboto Mono,monospace}.markdown-content pre{background-color:var(--color-bg-card)!important;border:1px solid var(--color-bg-highlight);border-opacity:.2;border-radius:.75rem;padding:1rem;margin:1.5rem 0;overflow-x:auto;position:relative;font-family:JetBrains Mono,Monaco,Inconsolata,Roboto Mono,monospace;transition:max-height .3s ease}.markdown-content pre.collapsible{max-height:300px;overflow-y:auto}.markdown-content pre.collapsible.expanded{max-height:none;overflow-y:visible}.markdown-content pre.collapsible.expanded:after{display:none}.markdown-content pre.collapsible::-webkit-scrollbar{width:6px}.markdown-content pre.collapsible::-webkit-scrollbar-track{background:var(--color-bg-highlight);border-radius:3px}.markdown-content pre.collapsible::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:3px;opacity:.5}.markdown-content pre.collapsible::-webkit-scrollbar-thumb:hover{background:var(--color-primary);opacity:.8}.markdown-content pre .copy-button{position:absolute;top:.75rem;right:.75rem;width:2.5rem;height:2.5rem;background-color:var(--color-bg-highlight);border:1px solid var(--color-text-muted);border-opacity:.3;border-radius:.5rem;opacity:0;transition:all .2s ease;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;color:var(--color-text);box-shadow:0 2px 8px #00000026}.markdown-content pre .copy-button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}.markdown-content pre:hover .copy-button{opacity:1}.markdown-content pre .copy-button:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg);transform:scale(1.05);box-shadow:0 4px 12px #00000040}.markdown-content pre .copy-button.copied{background-color:var(--color-success, #10b981);border-color:var(--color-success, #10b981);color:var(--color-bg)}.markdown-content pre .copy-button:active{transform:scale(.95)}.markdown-content pre .expand-button{position:sticky;bottom:.25rem;left:50%;transform:translate(-50%);padding:.5rem;background-color:var(--color-primary);color:var(--color-bg);border:none;border-radius:50%;font-size:.875rem;font-weight:600;cursor:pointer;opacity:0;transition:all .3s ease;z-index:30;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;box-shadow:0 4px 12px #00000040;margin:.25rem auto 0}.markdown-content pre.collapsible .expand-button{opacity:1}.markdown-content pre .expand-button:hover{background-color:var(--color-primary-hover);transform:translate(-50%) translateY(-2px) scale(1.1);box-shadow:0 6px 20px #00000059}.markdown-content pre .expand-button svg{width:1rem;height:1rem;transition:all .3s ease;stroke:currentColor}.markdown-content pre code{background:none!important;border:none!important;padding:0;color:var(--color-text)!important;font-size:.875rem;line-height:1.5;font-family:JetBrains Mono,Monaco,Inconsolata,Roboto Mono,monospace;white-space:pre!important;tab-size:2!important;-moz-tab-size:2!important;-o-tab-size:2!important}.markdown-content blockquote{border-left:4px solid var(--color-accent);background-color:var(--color-bg-card);padding:1rem;border-radius:0 .75rem .75rem 0;margin:1.5rem 0;font-style:italic;position:relative}.markdown-content img{border-radius:.75rem;box-shadow:0 10px 25px -12px #00000080;margin:1.5rem auto;border:1px solid var(--color-bg-highlight);border-opacity:.2;max-width:100%;height:auto;display:block;transition:transform .3s ease,box-shadow .3s ease}.markdown-content img:hover{transform:scale(1.02);box-shadow:0 32px 64px -12px #000000b3}.markdown-content iframe{border-radius:.75rem;box-shadow:0 10px 25px -12px #00000080;margin:1.5rem auto;border:1px solid var(--color-bg-highlight);border-opacity:.2;max-width:100%;width:100%;height:auto;min-height:300px;display:block;background-color:var(--color-bg-card);transition:transform .3s ease,box-shadow .3s ease}.markdown-content iframe:hover{transform:scale(1.01);box-shadow:0 20px 40px -12px #0009}.markdown-content .iframe-container{position:relative;width:100%;margin:1.5rem auto;border-radius:.75rem;overflow:hidden;box-shadow:0 10px 25px -12px #00000080;border:1px solid var(--color-bg-highlight);border-opacity:.2;background-color:var(--color-bg-card)}.markdown-content .iframe-container:before{content:"";display:block;padding-top:56.25%}.markdown-content .iframe-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;border-radius:0;margin:0;box-shadow:none}.markdown-content .iframe-container.aspect-4-3:before{padding-top:75%}.markdown-content .iframe-container.aspect-1-1:before{padding-top:100%}.markdown-content .iframe-container.aspect-21-9:before{padding-top:42.86%}.markdown-content ul,.markdown-content ol{margin:1rem 0;padding-left:1.5rem}.markdown-content ul{list-style-type:none}.markdown-content ul li{position:relative;margin:.5rem 0;color:var(--color-text)!important;padding-left:1.25rem}.markdown-content ul li:before{content:"•";color:var(--color-accent);font-weight:700;position:absolute;left:0;top:0;font-size:1.1em}.markdown-content ol li{margin:.5rem 0;color:var(--color-text)!important}.markdown-content ol li::marker{color:var(--color-accent);font-weight:700}.markdown-content ul ul,.markdown-content ol ol,.markdown-content ul ol,.markdown-content ol ul{margin:.5rem 0}.markdown-content li p{margin-bottom:.5rem}.markdown-content strong{color:var(--color-text-contrast)!important;font-weight:700}.markdown-content em{color:var(--color-accent-highlight)!important;font-style:italic}.markdown-content del{color:var(--color-text-muted)!important;text-decoration:line-through;opacity:.7}.markdown-content table{width:100%;border-collapse:separate;border-spacing:0;margin:1.5rem 0;background-color:var(--color-bg-card);border-radius:1rem;overflow:hidden;border:1px solid var(--color-bg-highlight);box-shadow:0 10px 25px -12px #00000080,0 0 0 1px #ffffff0d}.markdown-content th,.markdown-content td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid var(--color-bg-highlight);color:var(--color-text)!important}.markdown-content th{background:var(--color-bg-dark);color:var(--color-text-contrast)!important;font-weight:700;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--color-accent)}.markdown-content th:first-child{border-top-left-radius:1rem}.markdown-content th:last-child{border-top-right-radius:1rem}.markdown-content tbody tr:hover{background-color:var(--color-bg-highlight)}.markdown-content tbody tr:last-child td{border-bottom:none}.markdown-content tbody tr:last-child td:first-child{border-bottom-left-radius:1rem}.markdown-content tbody tr:last-child td:last-child{border-bottom-right-radius:1rem}.markdown-content hr{border:none;height:2px;background-color:var(--color-accent);margin:2rem 0;border-radius:1px}.markdown-content .task-list-item{list-style:none;margin:.5rem 0}.markdown-content .task-list-item input[type=checkbox]{margin-right:.5rem;accent-color:var(--color-accent)}.markdown-content kbd{background-color:var(--color-bg-card);border:1px solid var(--color-text-muted);border-opacity:.3;border-radius:.375rem;padding:.25rem .5rem;font-size:.875em;font-family:monospace;color:var(--color-text-contrast)!important;box-shadow:0 2px 4px #0003}.markdown-content mark{background-color:var(--color-primary);color:var(--color-bg);padding:.125rem .25rem;border-radius:.25rem}.markdown-content details{margin:1.5rem 0;border:1px solid var(--color-text-muted);border-opacity:.2;border-radius:.75rem;background-color:var(--color-bg-card);overflow:hidden}.markdown-content summary{padding:1rem;cursor:pointer;background-color:var(--color-bg-highlight);color:var(--color-text-contrast)!important;font-weight:600;transition:background-color .2s ease}.markdown-content summary:hover{background-color:var(--color-accent);background-opacity:.1}.markdown-content details[open] summary{border-bottom:1px solid var(--color-text-muted);border-opacity:.2}.markdown-content details>*:not(summary){padding:0 1rem 1rem}.markdown-content .footnotes{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-text-muted);border-opacity:.2;font-size:.875rem}.markdown-content .footnotes ol{padding-left:1rem}.markdown-content .footnote-ref{color:var(--color-accent)!important;text-decoration:none;font-weight:600}.markdown-content .footnote-ref:hover{text-decoration:underline}@media (max-width: 768px){.markdown-content{font-size:1rem}.markdown-content h1{font-size:1.875rem}.markdown-content h2{font-size:1.5rem}.markdown-content h3{font-size:1.25rem}.markdown-content pre{padding:1rem;margin:1rem -1rem;border-radius:0}.markdown-content table{font-size:.875rem}.markdown-content th,.markdown-content td{padding:.5rem}.markdown-content iframe{margin:1rem -1rem;border-radius:0;min-height:250px}.markdown-content .iframe-container{margin:1rem -1rem;border-radius:0}}@media print{.markdown-content,.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:#000!important}.markdown-content a{color:#000!important;text-decoration:underline}.markdown-content pre,.markdown-content blockquote{border:1px solid #ccc;background:#f5f5f5!important}}code[class*=language-],pre[class*=language-]{color:#e2e8f0;background:none;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.875rem;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;tab-size:2;hyphens:none;-moz-tab-size:2;-o-tab-size:2}pre[class*=language-]{padding:1rem;margin:.5rem 0;overflow:auto;border-radius:.5rem;background:var(--color-bg-highlight)}:not(pre)>code[class*=language-]{padding:.1rem .3rem;border-radius:.3rem;white-space:normal;background:var(--color-bg-highlight)}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#64748b;font-style:italic}.token.punctuation{color:#94a3b8}.token.property,.token.tag,.token.constant,.token.symbol,.token.deleted{color:#f87171}.token.boolean,.token.number{color:#fbbf24}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#34d399}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string,.token.variable{color:#60a5fa}.token.atrule,.token.attr-value,.token.function,.token.class-name{color:#a78bfa}.token.keyword{color:#fb7185}.token.regex,.token.important{color:#fbbf24}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.language-json .token.property{color:#60a5fa}.language-markdown .token.title{color:#fb7185;font-weight:700}.language-markdown .token.code{color:#34d399}.highlight-line{background-color:#3b82f61a;border-left:3px solid #3b82f6;padding-left:.75rem;margin-left:-1rem;margin-right:-1rem}.line-numbers .line-numbers-rows{border-right:1px solid #374151;padding-right:.75rem;margin-right:.75rem}.line-numbers-rows>span:before{color:#6b7280}.code-tabs-container[data-astro-cid-5md37ago]{margin:1.5rem 0;border-radius:.75rem;overflow:hidden;border:1px solid var(--color-bg-highlight);border-opacity:.2;background-color:var(--color-bg-card)}.tab-headers[data-astro-cid-5md37ago]{display:flex;background-color:var(--color-bg-highlight);border-opacity:.2}.tab-header[data-astro-cid-5md37ago]{padding:.75rem 1rem;background:none;border:none;color:var(--color-text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent;position:relative}.tab-header[data-astro-cid-5md37ago]:hover{color:var(--color-text);background-color:var(--color-bg-card);background-opacity:.5}.tab-header[data-astro-cid-5md37ago].active{color:var(--color-primary);border-bottom-color:var(--color-primary);background-color:var(--color-bg-card)}.tab-contents[data-astro-cid-5md37ago]{position:relative}.tab-contents[data-astro-cid-5md37ago]>*{display:none}.tab-contents[data-astro-cid-5md37ago]>*.active{display:block}.tab-contents[data-astro-cid-5md37ago]>*.hidden{display:none}.tab-contents[data-astro-cid-5md37ago] pre{margin:0!important;border-radius:0!important;border-top:none!important;position:relative}.tab-contents[data-astro-cid-5md37ago] pre .copy-button{position:absolute;top:.75rem;right:.75rem;width:2.5rem;height:2.5rem;background-color:var(--color-bg-highlight);border:1px solid var(--color-text-muted);border-opacity:.3;border-radius:.5rem;opacity:0;transition:all .2s ease;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;color:var(--color-text);box-shadow:0 2px 8px #00000026}.tab-contents[data-astro-cid-5md37ago] pre .copy-button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}.tab-contents[data-astro-cid-5md37ago] pre:hover .copy-button{opacity:1}.tab-contents[data-astro-cid-5md37ago] pre .copy-button:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg);transform:scale(1.05);box-shadow:0 4px 12px #00000040}.tab-contents[data-astro-cid-5md37ago] pre .copy-button.copied{background-color:var(--color-success, #10b981);border-color:var(--color-success, #10b981);color:var(--color-bg)}.tab-contents[data-astro-cid-5md37ago] pre .copy-button:active{transform:scale(.95)}.alert[data-astro-cid-u4als4uk]{margin:1.5rem 0;border-radius:.5rem;border-opacity:.2;border-left-width:4px;background-color:var(--color-bg-card);overflow:hidden}.alert-content[data-astro-cid-u4als4uk]{padding:1rem}.alert-header[data-astro-cid-u4als4uk]{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.alert-title[data-astro-cid-u4als4uk]{font-weight:600;font-size:.875rem;letter-spacing:.025em}.alert-body[data-astro-cid-u4als4uk]{color:var(--color-text)}.alert-body[data-astro-cid-u4als4uk] p{margin:0;line-height:1.6}.alert-body[data-astro-cid-u4als4uk] p:not(:last-child){margin-bottom:.75rem}.alert-body[data-astro-cid-u4als4uk] ul,.alert-body[data-astro-cid-u4als4uk] ol{margin:.5rem 0;padding-left:1.5rem}.alert-body[data-astro-cid-u4als4uk] li{margin:.25rem 0}.alert-body[data-astro-cid-u4als4uk] code{background-color:var(--color-bg-highlight)!important;color:var(--color-text-contrast)!important;padding:.125rem .375rem;border-radius:.25rem;font-size:.875em;font-weight:600}.alert-body[data-astro-cid-u4als4uk] a{color:var(--color-accent)!important;text-decoration:underline;text-underline-offset:2px}.alert-body[data-astro-cid-u4als4uk] strong{color:var(--color-text-contrast)!important;font-weight:700}html{scroll-behavior:smooth}
