.ai-provider-icon-box[data-astro-cid-ojpu4lou]{flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;display:inline-flex}.ai-provider-icon[data-astro-cid-ojpu4lou]{justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex}.ai-provider-icon[data-astro-cid-ojpu4lou] svg{transform-origin:50%;width:100%;height:100%;transition:transform .16s;display:block;overflow:visible;transform:scale(1)}.ai-provider-tile[data-astro-cid-ojpu4lou]{transition:background-color .16s,border-color .16s,box-shadow .16s,color .16s,transform .16s}.ai-provider-tile[data-astro-cid-ojpu4lou]:hover{border-color:color-mix(in srgb,currentColor 16%,transparent);transform:translateY(-1px);box-shadow:0 6px 14px #082f681a}.ai-provider-tile[data-astro-cid-ojpu4lou]:hover .ai-provider-icon[data-astro-cid-ojpu4lou] svg{transform:scale(1.06)}.ai-provider-tile[data-astro-cid-ojpu4lou]:hover .ai-copy-icon[data-astro-cid-ojpu4lou]{transform:scale(1.08)}.ai-copy-icon[data-astro-cid-ojpu4lou]{transform-origin:50%;transition:transform .16s}.ai-provider-tile[data-astro-cid-ojpu4lou]:active{transform:translateY(0)}.ai-provider-tile[data-astro-cid-ojpu4lou]:active .ai-provider-icon[data-astro-cid-ojpu4lou] svg{transform:scale(1.02)}.ai-provider-tile[data-astro-cid-ojpu4lou][data-copied]{color:#16a34a;box-shadow:none;background-color:#f0fdf4;border-color:#22c55e;transform:none}@media (prefers-reduced-motion:reduce){.ai-provider-tile[data-astro-cid-ojpu4lou],.ai-copy-icon[data-astro-cid-ojpu4lou],.ai-provider-icon[data-astro-cid-ojpu4lou] svg{transition:none!important;animation:none!important}.ai-provider-tile[data-astro-cid-ojpu4lou]:hover{box-shadow:none;transform:none}}.article-page{--article-ink:#0b0f17;--article-ink-80:#0b0f17d1;--article-ink-60:#0b0f1794;--article-border:#0b0f1717;--article-primary:#082e68;--article-copy-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='14' height='14' x='8' y='8' rx='2' ry='2'/%3E%3Cpath d='M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2'/%3E%3C/svg%3E");--article-check-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}.article-page p{opacity:1;letter-spacing:0}.article-back-link{color:var(--article-ink-60);font-size:13px}.article-back-link:hover{color:var(--article-primary);text-decoration:none}.article-tag{color:var(--article-primary);letter-spacing:.01em;background:#f1f6fe;border:1px solid #d9e3f2;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;line-height:1.35;display:inline-flex}.article-question{color:var(--article-ink);letter-spacing:-.02em;margin:0 0 16px;font-size:38px;font-weight:500;line-height:1.18}.article-meta{border-color:var(--article-border);color:var(--article-ink-60);margin-bottom:36px;padding-bottom:28px}.article-page .article-prose{color:var(--article-ink-80);font-size:16px;line-height:1.72}.article-page .article-prose p{margin:1em 0;line-height:1.72}.article-page .article-prose h2{color:var(--article-ink);letter-spacing:-.015em;margin:44px 0 16px;scroll-margin-top:96px;font-size:26px;font-weight:500;line-height:1.3}.article-page .article-prose h3{color:var(--article-ink);letter-spacing:-.01em;margin:32px 0 12px;scroll-margin-top:96px;font-size:19px;font-weight:500;line-height:1.35}.article-page .article-prose li{line-height:1.72}.article-page .article-prose strong,.article-page .article-prose b{font-weight:600}.article-page .article-prose p code,.article-page .article-prose li code,.article-page .article-prose td code,.article-page .article-prose blockquote code{color:var(--article-primary);font-size:.88em;line-height:inherit;background:#f1f6fe;border:1px solid #e0e9f5;border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,ui-monospace,monospace}.article-page .content.article-prose pre.astro-code>code{white-space:pre;max-height:70vh;padding:46px 20px 24px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13.5px;font-weight:400;line-height:1.65;overflow:auto;background:hsl(var(--primary)/.05)!important}.article-page .content.article-prose .code-language{z-index:2;color:#6e7781;text-transform:lowercase;pointer-events:none;opacity:1;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;transition:opacity .4s;position:absolute;top:20px;right:20px}.article-page .content.article-prose pre.astro-code:hover .code-language{opacity:0}.article-page .content.article-prose .code-copy-button{z-index:3;color:#57606a;opacity:0;pointer-events:none;cursor:pointer;background:#f6f8faeb;border:1px solid #1f232826;border-radius:6px;place-items:center;width:32px;height:28px;transition:border-color .25s,background-color .25s,opacity .25s;display:grid;position:absolute;top:14px;right:14px}.article-page .content.article-prose pre.astro-code:hover .code-copy-button{opacity:.85;pointer-events:auto}.article-page .content.article-prose .code-copy-button:focus-visible{opacity:1;pointer-events:auto;outline-offset:2px;outline:2px solid #1f23282e}.article-page .content.article-prose .code-copy-button:hover{opacity:1;background:#fff;border-color:#1f232847}.article-page .content.article-prose .code-copy-button:before{content:"";width:14px;height:14px;-webkit-mask:var(--article-copy-icon) center/contain no-repeat;-webkit-mask:var(--article-copy-icon) center/contain no-repeat;mask:var(--article-copy-icon) center/contain no-repeat;background:currentColor}.article-page .content.article-prose .code-copy-button[data-copied=true]:before{width:15px;height:15px;-webkit-mask:var(--article-check-icon) center/contain no-repeat;-webkit-mask:var(--article-check-icon) center/contain no-repeat;mask:var(--article-check-icon) center/contain no-repeat;background:currentColor}.article-page .article-toc h4{letter-spacing:0}@media (max-width:767px){.article-question{font-size:32px;line-height:1.22}}