.progress[data-astro-cid-3blcfnl5]{top:0;z-index:60;pointer-events:none;height:3px;position:fixed;inset-inline:0}.progress[data-astro-cid-3blcfnl5] span[data-astro-cid-3blcfnl5]{background:linear-gradient(90deg, var(--brand), #b06bff);transform-origin:0;height:100%;display:block;transform:scaleX(0)}[dir=rtl] .progress[data-astro-cid-3blcfnl5] span[data-astro-cid-3blcfnl5]{transform-origin:100%}[dir=rtl] .crumbs[data-astro-cid-3blcfnl5] svg{transform:scaleX(-1)}.post-hero[data-astro-cid-3blcfnl5]{background:linear-gradient(#f4f3ff 0%,#fff0 420px);padding:64px 0 0}.post-hero-inner[data-astro-cid-3blcfnl5]{max-width:860px}.crumbs[data-astro-cid-3blcfnl5]{color:var(--muted);align-items:center;gap:8px;margin-bottom:22px;font-size:.875rem;font-weight:500;display:flex}.crumbs[data-astro-cid-3blcfnl5] a[data-astro-cid-3blcfnl5]{color:var(--brand-ink)}.crumbs[data-astro-cid-3blcfnl5] a[data-astro-cid-3blcfnl5]:hover{text-decoration:underline}.post-hero[data-astro-cid-3blcfnl5] h1[data-astro-cid-3blcfnl5]{font-size:clamp(2.1rem,4.4vw,3.4rem);line-height:1.08}.post-hero[data-astro-cid-3blcfnl5] .lead[data-astro-cid-3blcfnl5]{max-width:720px;margin-top:18px}.byline[data-astro-cid-3blcfnl5]{align-items:center;gap:12px;margin-top:28px;font-size:.9375rem;display:flex}.byline[data-astro-cid-3blcfnl5] strong[data-astro-cid-3blcfnl5]{color:var(--ink);font-weight:600;display:block}.byline-meta[data-astro-cid-3blcfnl5]{color:var(--muted);font-size:.875rem}.avatar[data-astro-cid-3blcfnl5]{border:1px solid var(--line);width:42px;height:42px;box-shadow:var(--shadow);background:#fff;border-radius:50%;place-items:center;display:grid}.post-cover[data-astro-cid-3blcfnl5]{max-width:1060px;margin-top:44px}.post-cover[data-astro-cid-3blcfnl5] img[data-astro-cid-3blcfnl5]{aspect-ratio:1200/440;object-fit:cover;border:1px solid var(--line);border-radius:20px;width:100%;height:auto;box-shadow:0 30px 60px -36px #281e8c59}.post-layout[data-astro-cid-3blcfnl5]{grid-template-columns:minmax(0,1fr) 240px;gap:64px;max-width:1060px;padding-top:56px;padding-bottom:80px;display:grid}.prose[data-astro-cid-3blcfnl5]{grid-area:1/1;max-width:720px}.toc[data-astro-cid-3blcfnl5]{grid-column:2}.toc[data-astro-cid-3blcfnl5] details[data-astro-cid-3blcfnl5]{position:sticky;top:96px}.toc[data-astro-cid-3blcfnl5] summary[data-astro-cid-3blcfnl5]{font-family:var(--toc-font,var(--mono));letter-spacing:var(--toc-tracking,.04em);text-transform:uppercase;color:var(--muted);cursor:default;margin-bottom:12px;font-size:.75rem;font-weight:500;list-style:none}.toc[data-astro-cid-3blcfnl5] summary[data-astro-cid-3blcfnl5]::-webkit-details-marker{display:none}.toc[data-astro-cid-3blcfnl5] ol[data-astro-cid-3blcfnl5]{border-inline-start:1px solid var(--line);gap:2px;margin:0;padding:0;list-style:none;display:grid}.toc[data-astro-cid-3blcfnl5] a[data-astro-cid-3blcfnl5]{color:var(--muted);border-inline-start:2px solid #0000;margin-inline-start:-1px;padding-block:6px;padding-inline:14px 0;font-size:.875rem;line-height:1.4;transition:color .15s,border-color .15s;display:block}.toc[data-astro-cid-3blcfnl5] a[data-astro-cid-3blcfnl5]:hover{color:var(--ink)}.toc[data-astro-cid-3blcfnl5] a[data-astro-cid-3blcfnl5].is-current{border-inline-start-color:var(--brand);color:var(--brand-ink);font-weight:500}.post-cta[data-astro-cid-3blcfnl5]{border-radius:var(--radius-lg);background:linear-gradient(135deg,#f6f5ff,#fdf6ff);border:1px solid #dcd9ff;grid-template-columns:auto 1fr;gap:6px 18px;margin-top:56px;padding:28px;display:grid}.post-cta-icon[data-astro-cid-3blcfnl5]{background:var(--brand);color:#fff;width:48px;height:48px;box-shadow:0 10px 24px -10px var(--brand);border-radius:14px;place-items:center;display:grid}.prose[data-astro-cid-3blcfnl5] .post-cta[data-astro-cid-3blcfnl5] h2[data-astro-cid-3blcfnl5]{border:0;margin:0;padding:0;font-size:1.375rem}.prose[data-astro-cid-3blcfnl5] .post-cta[data-astro-cid-3blcfnl5] p[data-astro-cid-3blcfnl5]{color:var(--ink-2);margin:6px 0 0;font-size:.9375rem}.post-cta-actions[data-astro-cid-3blcfnl5]{flex-wrap:wrap;grid-column:2;gap:10px;margin-top:14px;display:flex}.prose[data-astro-cid-3blcfnl5] .post-cta-actions[data-astro-cid-3blcfnl5] a[data-astro-cid-3blcfnl5]{text-decoration:none}.prose[data-astro-cid-3blcfnl5] .post-cta-actions[data-astro-cid-3blcfnl5] .btn-primary[data-astro-cid-3blcfnl5]{color:#fff}.related[data-astro-cid-3blcfnl5]{border-top:1px solid var(--line);background:var(--bg-soft);padding:80px 0 112px}.related[data-astro-cid-3blcfnl5] h2[data-astro-cid-3blcfnl5]{margin-bottom:32px;font-size:clamp(1.6rem,2.6vw,2.1rem)}.related-grid[data-astro-cid-3blcfnl5]{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}@media (width<=1023px){.post-layout[data-astro-cid-3blcfnl5]{grid-template-columns:minmax(0,1fr);gap:0;padding-top:36px}.toc[data-astro-cid-3blcfnl5]{grid-area:1/1;margin-bottom:32px}.toc[data-astro-cid-3blcfnl5] details[data-astro-cid-3blcfnl5]{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft);padding:14px 18px;position:static}.toc[data-astro-cid-3blcfnl5] summary[data-astro-cid-3blcfnl5]{cursor:pointer;margin:0}.toc[data-astro-cid-3blcfnl5] details[data-astro-cid-3blcfnl5][open] summary[data-astro-cid-3blcfnl5]{margin-bottom:10px}.prose[data-astro-cid-3blcfnl5]{grid-row:2;max-width:none}.related-grid[data-astro-cid-3blcfnl5]{gap:20px}}@media (width<=767px){.post-hero[data-astro-cid-3blcfnl5]{padding-top:40px}.post-cover[data-astro-cid-3blcfnl5]{margin-top:32px}.post-cover[data-astro-cid-3blcfnl5] img[data-astro-cid-3blcfnl5]{aspect-ratio:1200/630;border-radius:14px}.post-cta[data-astro-cid-3blcfnl5]{grid-template-columns:1fr;padding:24px 20px}.post-cta-actions[data-astro-cid-3blcfnl5]{grid-column:1}.related[data-astro-cid-3blcfnl5]{padding:56px 0 72px}.related-grid[data-astro-cid-3blcfnl5]{grid-template-columns:1fr}}.prose{color:var(--ink-2);font-size:1.0625rem;line-height:1.75}.prose>*+*{margin-top:1.25em}.prose h2{margin-top:2.2em;padding-top:.4em;scroll-margin-top:96px;font-size:clamp(1.5rem,2.6vw,1.875rem);line-height:1.2}.prose h3{margin-top:1.8em;scroll-margin-top:96px;font-size:1.25rem}.prose h2+*,.prose h3+*{margin-top:.75em}.prose strong{color:var(--ink);font-weight:600}.prose a{color:var(--brand-ink);text-underline-offset:3px;text-decoration:underline #584efe59;transition:text-decoration-color .15s}.prose a:hover{text-decoration-color:currentColor}.prose ul,.prose ol{padding-inline-start:1.4em}.prose li+li{margin-top:.5em}.prose li::marker{color:var(--brand)}.prose :not(pre)>code{border:1px solid var(--line);background:var(--bg-soft);font-family:var(--mono);color:var(--ink);overflow-wrap:anywhere;border-radius:6px;padding:.15em .4em;font-size:.86em}.prose blockquote{border:1px solid #dcd9ff;border-inline-start:4px solid var(--brand);color:var(--ink-2);background:#f7f6ff;border-start-start-radius:0;border-start-end-radius:var(--radius);border-end-end-radius:var(--radius);border-end-start-radius:0;margin-inline:0;padding:16px 20px;font-size:1rem}.prose blockquote p+p{margin-top:.6em}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}.prose table{border-collapse:collapse;width:100%;font-size:.9375rem}.prose .table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:start;vertical-align:top;padding:11px 14px}.prose th{background:var(--bg-soft);color:var(--ink);white-space:nowrap;font-weight:600}.prose tr:last-child td{border-bottom:0}:lang(ar),:lang(ja),:lang(ko){--toc-font:var(--font);--toc-tracking:normal}:lang(ar) .prose em,:lang(ja) .prose em,:lang(ko) .prose em{color:var(--ink);font-style:normal}.prose .code{border:1px solid var(--code-line);background:var(--code-bg);border-radius:14px;overflow:hidden;box-shadow:0 18px 40px -28px #0f122099}.prose .code-bar{border-bottom:1px solid var(--code-line);height:40px;font-family:var(--mono);color:#8b93b8;direction:ltr;justify-content:space-between;align-items:center;padding:0 8px 0 16px;font-size:.75rem;display:flex}.prose .code-copy{border:1px solid var(--code-line);color:#c9cee6;background:0 0;border-radius:7px;height:28px;padding:0 10px;font-size:.75rem;transition:background-color .15s}.prose .code-copy:hover{background:#1b2036}.prose pre{text-align:left;font-family:var(--mono);tab-size:2;direction:ltr;margin:0;padding:18px 20px;font-size:.84rem;line-height:1.7;overflow-x:auto;background:var(--code-bg)!important}.prose pre code{font-family:inherit}.prose>pre{border-radius:14px}@media (width<=767px){.prose{font-size:1rem}.prose pre{padding:16px;font-size:.8rem}}
