.read-bar[data-astro-cid-sokzi4yv]{background:var(--accent);transform-origin:0;z-index:60;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.head[data-astro-cid-sokzi4yv]{max-width:760px;padding-top:56px}.back[data-astro-cid-sokzi4yv]{font-size:var(--fs-subhead);color:var(--accent);transition:transform .2s var(--ease-out), opacity .2s;align-items:center;font-weight:500;display:inline-flex}.back[data-astro-cid-sokzi4yv]:hover{opacity:.85;transform:translate(-3px)}.meta[data-astro-cid-sokzi4yv]{font-size:var(--fs-footnote);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:10px;margin:28px 0 16px;display:flex}h1[data-astro-cid-sokzi4yv]{font-size:var(--fs-title-1);letter-spacing:-.015em;margin:0 0 16px;line-height:1.18}.desc[data-astro-cid-sokzi4yv]{font-size:var(--fs-lede);color:var(--ink-2);margin:0;line-height:1.6}.cover[data-astro-cid-sokzi4yv]{max-width:960px;margin-top:40px}.cover[data-astro-cid-sokzi4yv] img[data-astro-cid-sokzi4yv]{aspect-ratio:5/2;object-fit:cover;object-position:50% 25%;border-radius:var(--radius);width:100%;box-shadow:0 0 0 1px var(--card-ring), var(--shadow-1)}.prose[data-astro-cid-sokzi4yv]{max-width:712px;color:var(--ink-body);margin:48px auto 0;padding:0 24px;font-size:18px;line-height:1.8}.prose[data-astro-cid-sokzi4yv] h2{color:var(--ink);margin:2.2em 0 .6em;font-size:26px;line-height:1.35}.prose[data-astro-cid-sokzi4yv] h3{font-size:var(--fs-title-3);color:var(--ink);margin:1.8em 0 .5em;line-height:1.4}.prose[data-astro-cid-sokzi4yv] p,.prose[data-astro-cid-sokzi4yv] ul,.prose[data-astro-cid-sokzi4yv] ol{margin:0 0 1.1em}.prose[data-astro-cid-sokzi4yv] li{margin:.3em 0}.prose[data-astro-cid-sokzi4yv] a{color:var(--accent);text-underline-offset:3px}.prose[data-astro-cid-sokzi4yv] a:hover{text-decoration:underline}.prose[data-astro-cid-sokzi4yv] strong{color:var(--ink)}.prose[data-astro-cid-sokzi4yv] blockquote{border-left:3px solid var(--accent);background:var(--bg-sunk);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-body);border-radius:16px;margin:1.5em 0;padding:16px 20px;font-size:16px}.prose[data-astro-cid-sokzi4yv] blockquote p:last-child{margin:0}.prose[data-astro-cid-sokzi4yv] .x-embed-card{background:var(--card);box-shadow:0 0 0 1px var(--card-ring), var(--shadow-1);transition:transform .25s var(--ease-out), box-shadow .25s var(--ease-out);border-radius:20px;margin:1.75em 0;padding:18px 20px}.prose[data-astro-cid-sokzi4yv] .x-embed-card:hover{box-shadow:0 0 0 1px var(--line), var(--shadow-2);transform:translateY(-2px)}.prose[data-astro-cid-sokzi4yv] .x-embed-head{align-items:center;gap:11px;margin-bottom:12px;display:flex}.prose[data-astro-cid-sokzi4yv] .x-embed-avatar{object-fit:cover;border-radius:50%;width:38px;height:38px;box-shadow:0 0 0 1px var(--line)!important;margin:0!important}.prose[data-astro-cid-sokzi4yv] .x-embed-author{flex-direction:column;margin-right:auto;line-height:1.25;display:flex}.prose[data-astro-cid-sokzi4yv] .x-embed-author strong{color:var(--ink);font-size:15px}.prose[data-astro-cid-sokzi4yv] .x-embed-author span{color:var(--ink-3);font-size:13px}.prose[data-astro-cid-sokzi4yv] .x-embed-badge{background:var(--bg-sunk);border-radius:50%;place-items:center;width:30px;height:30px;display:inline-grid;color:var(--ink-3)!important;text-decoration:none!important}.prose[data-astro-cid-sokzi4yv] .x-embed-body{display:block;color:inherit!important;text-decoration:none!important}.prose[data-astro-cid-sokzi4yv] .x-embed-title{color:var(--ink);margin-bottom:6px;font-size:17px;font-weight:650;line-height:1.4}.prose[data-astro-cid-sokzi4yv] .x-embed-desc{color:var(--ink-2);font-size:15px;line-height:1.6;margin:0!important}.prose[data-astro-cid-sokzi4yv] .x-embed-media{border-radius:14px;margin-top:14px;display:block;overflow:hidden}.prose[data-astro-cid-sokzi4yv] .x-embed-media img,.prose[data-astro-cid-sokzi4yv] .x-embed-media video{object-fit:cover;width:100%;max-height:420px;display:block;border-radius:14px!important;margin:0!important}.prose[data-astro-cid-sokzi4yv] .x-embed-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:12px;font-size:13.5px;font-weight:600;display:flex}.prose[data-astro-cid-sokzi4yv] .x-embed-cta{color:var(--accent)!important;text-decoration:none!important}.prose[data-astro-cid-sokzi4yv] .x-embed-ext{font-size:12.5px;font-weight:500;color:var(--ink-3)!important;text-decoration:none!important}.prose[data-astro-cid-sokzi4yv] code{font-family:var(--mono);background:var(--bg-sunk);box-shadow:inset 0 0 0 1px var(--line);border-radius:6px;padding:2px 6px;font-size:.88em}.prose[data-astro-cid-sokzi4yv] pre{background:var(--bg-sunk);box-shadow:0 0 0 1px var(--card-ring), var(--shadow-1);font-size:var(--fs-subhead);white-space:pre-wrap;word-break:break-word;border-radius:16px;margin:1.6em 0;padding:44px 20px 20px;line-height:1.65;position:relative;overflow-x:auto}.prose[data-astro-cid-sokzi4yv] pre code{box-shadow:none;background:0 0;padding:0}.prose[data-astro-cid-sokzi4yv] table{border-collapse:collapse;width:100%;font-size:var(--fs-callout);margin:1.4em 0}.prose[data-astro-cid-sokzi4yv] th,.prose[data-astro-cid-sokzi4yv] td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 14px}.prose[data-astro-cid-sokzi4yv] th{color:var(--ink);font-weight:600}.prose[data-astro-cid-sokzi4yv] img,.prose[data-astro-cid-sokzi4yv] video{box-shadow:0 0 0 1px var(--card-ring), var(--shadow-1);border-radius:16px;max-width:100%;margin:1.5em 0}.prose[data-astro-cid-sokzi4yv] video{max-height:640px;margin-left:auto;margin-right:auto;display:block}.dot[data-astro-cid-sokzi4yv]{color:var(--ink-3)}.lang-note[data-astro-cid-sokzi4yv]{background:var(--bg-sunk);font-size:var(--fs-subhead);color:var(--ink-2);border-radius:12px;margin:18px 0 0;padding:10px 14px}.lang-note[data-astro-cid-sokzi4yv] a[data-astro-cid-sokzi4yv]{color:var(--accent-text);white-space:nowrap}.article-body[data-astro-cid-sokzi4yv]{position:relative}.toc[data-astro-cid-sokzi4yv] ol[data-astro-cid-sokzi4yv],.toc-inline[data-astro-cid-sokzi4yv] ol[data-astro-cid-sokzi4yv]{margin:0;padding:0;list-style:none}.toc-side[data-astro-cid-sokzi4yv]{display:none}@media (width>=1260px){.toc-side[data-astro-cid-sokzi4yv]{width:208px;display:block;position:absolute;top:0;bottom:0;left:calc(50% + 404px)}.toc-inline[data-astro-cid-sokzi4yv]{display:none}}.toc[data-astro-cid-sokzi4yv]{max-height:calc(100vh - 120px);font-size:var(--fs-footnote);line-height:1.45;position:sticky;top:88px;overflow-y:auto}.toc-title[data-astro-cid-sokzi4yv]{color:var(--ink);margin:0 0 10px;font-weight:600}.toc[data-astro-cid-sokzi4yv] li[data-astro-cid-sokzi4yv] a[data-astro-cid-sokzi4yv]{border-left:2px solid var(--line);color:var(--ink-3);padding:5px 0 5px 12px;transition:color .2s,border-color .2s;display:block}.toc[data-astro-cid-sokzi4yv] li[data-astro-cid-sokzi4yv].d3 a[data-astro-cid-sokzi4yv]{padding-left:24px}.toc[data-astro-cid-sokzi4yv] li[data-astro-cid-sokzi4yv] a[data-astro-cid-sokzi4yv]:hover{color:var(--ink)}.toc[data-astro-cid-sokzi4yv] li[data-astro-cid-sokzi4yv] a[data-astro-cid-sokzi4yv][aria-current]{color:var(--accent);border-left-color:var(--accent)}.toc-inline[data-astro-cid-sokzi4yv]{background:var(--bg-sunk);font-size:var(--fs-callout);border-radius:16px;margin:0 0 2em;padding:4px 18px;line-height:1.5}.toc-inline[data-astro-cid-sokzi4yv] summary[data-astro-cid-sokzi4yv]{color:var(--ink);cursor:pointer;padding:10px 0;font-weight:600}.toc-inline[data-astro-cid-sokzi4yv] ol[data-astro-cid-sokzi4yv]{padding-bottom:12px}.toc-inline[data-astro-cid-sokzi4yv] li[data-astro-cid-sokzi4yv] a[data-astro-cid-sokzi4yv]{color:var(--ink-2);padding:5px 0;display:block}.toc-inline[data-astro-cid-sokzi4yv] li[data-astro-cid-sokzi4yv].d3 a[data-astro-cid-sokzi4yv]{padding-left:14px}.toc-inline[data-astro-cid-sokzi4yv] li[data-astro-cid-sokzi4yv] a[data-astro-cid-sokzi4yv]:hover{color:var(--accent)}.prose[data-astro-cid-sokzi4yv] h2,.prose[data-astro-cid-sokzi4yv] h3{scroll-margin-top:80px;position:relative}.prose[data-astro-cid-sokzi4yv] .anchor{color:var(--ink-3);opacity:0;margin-left:.35em;font-weight:500;transition:opacity .2s}.prose[data-astro-cid-sokzi4yv] h2:hover .anchor,.prose[data-astro-cid-sokzi4yv] h3:hover .anchor,.prose[data-astro-cid-sokzi4yv] .anchor:focus-visible{opacity:1}.prose[data-astro-cid-sokzi4yv] .code-copy{border:1px solid var(--line);background:var(--bg-elev);height:28px;color:var(--ink-2);font:inherit;font-family:var(--font);font-size:var(--fs-caption);cursor:pointer;opacity:.9;z-index:2;border-radius:8px;padding:0 12px;font-weight:600;transition:opacity .2s,background .2s,color .2s,border-color .2s;position:absolute;top:8px;right:12px}.prose[data-astro-cid-sokzi4yv] pre:hover .code-copy,.prose[data-astro-cid-sokzi4yv] .code-copy:focus-visible{opacity:1;color:var(--ink-1);background:var(--bg-page)}@media (hover:none){.prose[data-astro-cid-sokzi4yv] .code-copy{opacity:1}}.prose[data-astro-cid-sokzi4yv] .code-copy.done{background:var(--success-fill,#10b981)!important;color:var(--on-fill,#fff)!important;opacity:1!important}.prose[data-astro-cid-sokzi4yv] .prompt-box{background:var(--card);box-shadow:0 0 0 1px var(--card-ring), var(--shadow-1);transition:box-shadow .25s var(--ease-out), transform .25s var(--ease-out);border-radius:18px;margin:1.85em 0;overflow:hidden}.prose[data-astro-cid-sokzi4yv] .prompt-box:hover{box-shadow:0 0 0 1px var(--accent-subtle,#38bdf873), var(--shadow-2)}.prose[data-astro-cid-sokzi4yv] .prompt-box-bar{background:var(--bg-sunk);border-bottom:1px solid var(--line-subtle,#ffffff0f);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.prose[data-astro-cid-sokzi4yv] .prompt-box-badge{letter-spacing:.03em;color:var(--ink);user-select:none;align-items:center;gap:8px;min-width:0;font-size:12.5px;font-weight:700;display:inline-flex}.prose[data-astro-cid-sokzi4yv] .prompt-sparkle{color:var(--accent);flex-shrink:0}.prose[data-astro-cid-sokzi4yv] .prompt-box-note{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;background:#38bdf81f;border:1px solid #38bdf847;border-radius:999px;max-width:260px;padding:2px 8px;font-size:11px;font-weight:500;overflow:hidden}.prose[data-astro-cid-sokzi4yv] .prompt-copy{font:inherit;border:1px solid var(--line);background:var(--bg-elev);height:30px;color:var(--ink);cursor:pointer;white-space:nowrap;transition:transform .35s var(--spring), background .25s, color .25s, border-color .25s;user-select:none;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex;overflow:hidden}.prose[data-astro-cid-sokzi4yv] .prompt-copy:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.prose[data-astro-cid-sokzi4yv] .prompt-copy:active{transform:scale(.94)}.prose[data-astro-cid-sokzi4yv] .prompt-copy .tick{flex-shrink:0;display:none}.prose[data-astro-cid-sokzi4yv] .prompt-copy.done{background:var(--success-fill,#10b981)!important;color:var(--on-fill,#fff)!important;border-color:var(--success-fill,#10b981)!important}.prose[data-astro-cid-sokzi4yv] .prompt-copy.done .copy-glyph{display:none}.prose[data-astro-cid-sokzi4yv] .prompt-copy.done .tick{display:block}.prose[data-astro-cid-sokzi4yv] .prompt-copy.done .tick path{stroke-dasharray:22;animation:.42s cubic-bezier(.65,0,.35,1) .12s both draw-tick}.prose[data-astro-cid-sokzi4yv] .prompt-box-body{padding:16px 18px 18px}.prose[data-astro-cid-sokzi4yv] .prompt-box-text{font-size:var(--fs-body);color:var(--ink-body);white-space:pre-wrap;word-break:break-word;user-select:text;line-height:1.72;margin:0!important}.share[data-astro-cid-sokzi4yv]{max-width:664px;font-size:var(--fs-subhead);flex-wrap:wrap;align-items:center;gap:8px;margin:48px auto 0;display:flex}.share[data-astro-cid-sokzi4yv] .src[data-astro-cid-sokzi4yv]{color:var(--accent)}.spacer[data-astro-cid-sokzi4yv]{flex:1}.pill-btn[data-astro-cid-sokzi4yv]{background:var(--bg-sunk);height:36px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);font:inherit;font-size:var(--fs-subhead);white-space:nowrap;cursor:pointer;transition:background .2s, transform .3s var(--ease-out);border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 15px;font-weight:500;display:inline-flex;overflow:hidden}.pill-btn[data-astro-cid-sokzi4yv]:hover{background:var(--hover)}.pill-btn[data-astro-cid-sokzi4yv]:active{transform:scale(.96)}@media (pointer:coarse){.pill-btn[data-astro-cid-sokzi4yv]{height:44px}}@media (width<=712px){.share[data-astro-cid-sokzi4yv]{margin-left:24px;margin-right:24px}}.author[data-astro-cid-sokzi4yv]{background:var(--bg-sunk);max-width:664px;box-shadow:inset 0 0 0 1px var(--line);font-size:var(--fs-callout);border-radius:20px;align-items:center;gap:14px;margin:56px auto 0;padding:18px 22px;display:flex}@media (width<=712px){.author[data-astro-cid-sokzi4yv]{margin-left:24px;margin-right:24px}}.author[data-astro-cid-sokzi4yv] img[data-astro-cid-sokzi4yv]{object-fit:cover;width:44px;height:44px;box-shadow:0 0 0 1px var(--line);border-radius:50%}.author[data-astro-cid-sokzi4yv] div[data-astro-cid-sokzi4yv]{flex-direction:column;display:flex}.author[data-astro-cid-sokzi4yv] a[data-astro-cid-sokzi4yv]{color:var(--accent);font-size:var(--fs-subhead)}.more-reading[data-astro-cid-sokzi4yv]{margin-top:96px}.more-reading[data-astro-cid-sokzi4yv] h2[data-astro-cid-sokzi4yv]{font-size:var(--fs-title-2);margin:0 0 24px}.related[data-astro-cid-sokzi4yv]{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (width<=900px){.related[data-astro-cid-sokzi4yv]{grid-template-columns:1fr 1fr}}@media (width>=641px) and (width<=900px){.related[data-astro-cid-sokzi4yv]>[data-astro-cid-sokzi4yv]:nth-child(3){display:none}}@media (width<=640px){.related[data-astro-cid-sokzi4yv]{grid-template-columns:1fr}}
