.article-toc[data-astro-cid-n3cv5fme]{position:sticky;top:120px;min-width:0;width:200px}.toc[data-astro-cid-n3cv5fme]{padding:4px 0;max-height:calc(100vh - 160px);display:flex;flex-direction:column}.toc-head[data-astro-cid-n3cv5fme]{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;letter-spacing:.04em;margin-bottom:14px}.toc-progress[data-astro-cid-n3cv5fme]{font-variant-numeric:tabular-nums;color:var(--muted);font-size:11px}.toc-nav[data-astro-cid-n3cv5fme]{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--hairline) transparent;padding-right:8px}.toc-link[data-astro-cid-n3cv5fme]{position:relative;display:block;min-height:26px;color:var(--muted);text-decoration:none;font-size:11px;line-height:16px;padding:5px 0;transition:color var(--motion-base),padding-left var(--motion-base) var(--ease-apple)}.toc-link[data-astro-cid-n3cv5fme].active{color:var(--blue)}.toc-link[data-astro-cid-n3cv5fme]:hover{color:var(--ink)}.toc-link[data-astro-cid-n3cv5fme]:focus-visible{outline:1px solid var(--blue);outline-offset:3px;border-radius:2px}.toc-dash[data-astro-cid-n3cv5fme]{position:absolute;top:12px;left:0;display:block;height:2px;width:100%;border-radius:2px;background:currentColor;opacity:.4;transform:scaleX(.35) scaleY(.5);transform-origin:left center;transition:transform .52s cubic-bezier(.22,1,.36,1),opacity .42s var(--ease-soft),background-color .42s var(--ease-soft)}.depth-3[data-astro-cid-n3cv5fme] .toc-dash[data-astro-cid-n3cv5fme]{transform:scaleX(.27) scaleY(.5)}.depth-4[data-astro-cid-n3cv5fme] .toc-dash[data-astro-cid-n3cv5fme]{transform:scaleX(.25) scaleY(.5)}.toc-title-track[data-astro-cid-n3cv5fme]{display:grid;grid-template-rows:0fr;opacity:0;translate:-6px 0;transition:grid-template-rows .38s var(--ease-apple),opacity var(--motion-base),translate .38s var(--ease-apple)}.toc-title[data-astro-cid-n3cv5fme]{min-height:0;overflow:hidden;overflow-wrap:anywhere}.toc[data-astro-cid-n3cv5fme]:hover .toc-title-track[data-astro-cid-n3cv5fme],.toc[data-astro-cid-n3cv5fme]:focus-within .toc-title-track[data-astro-cid-n3cv5fme]{grid-template-rows:1fr;opacity:1;translate:0 0}.toc[data-astro-cid-n3cv5fme]:hover .toc-dash[data-astro-cid-n3cv5fme],.toc[data-astro-cid-n3cv5fme]:focus-within .toc-dash[data-astro-cid-n3cv5fme]{opacity:0;transform:scaleX(.2) scaleY(.5)}.toc[data-astro-cid-n3cv5fme]:hover .depth-3[data-astro-cid-n3cv5fme],.toc[data-astro-cid-n3cv5fme]:focus-within .depth-3[data-astro-cid-n3cv5fme]{padding-left:12px}.toc[data-astro-cid-n3cv5fme]:hover .depth-4[data-astro-cid-n3cv5fme],.toc[data-astro-cid-n3cv5fme]:focus-within .depth-4[data-astro-cid-n3cv5fme]{padding-left:24px}.toc-link[data-astro-cid-n3cv5fme].active .toc-dash[data-astro-cid-n3cv5fme]{opacity:1;transform:scaleX(.62) scaleY(1)}.toc[data-astro-cid-n3cv5fme]:is(:hover,:focus-within) .toc-link[data-astro-cid-n3cv5fme].active .toc-dash[data-astro-cid-n3cv5fme]{opacity:0;transform:scaleX(.2) scaleY(.5)}.toc-link[data-astro-cid-n3cv5fme].active .toc-title[data-astro-cid-n3cv5fme]{font-weight:600}[data-theme=dark] .toc-link[data-astro-cid-n3cv5fme].active{color:var(--blue)}.toc-fab[data-astro-cid-n3cv5fme],.toc-fallback[data-astro-cid-n3cv5fme],.toc-sheet[data-astro-cid-n3cv5fme]{display:none}.toc-mobile-link[data-astro-cid-n3cv5fme]{display:block;color:var(--muted);text-decoration:none;font-size:14px;line-height:1.6;padding:9px 0;overflow-wrap:anywhere;transition:color var(--motion-base),translate var(--motion-base) var(--ease-apple)}.toc-mobile-link[data-astro-cid-n3cv5fme].depth-3{padding-left:16px}.toc-mobile-link[data-astro-cid-n3cv5fme].depth-4{padding-left:32px}.toc-mobile-link[data-astro-cid-n3cv5fme].active{color:var(--blue);translate:4px 0}.toc-mobile-link[data-astro-cid-n3cv5fme]:hover{color:var(--ink)}@media(max-width:1100px){.article-toc[data-astro-cid-n3cv5fme]{position:static;width:auto}.toc[data-astro-cid-n3cv5fme]{display:none}.toc-fallback[data-astro-cid-n3cv5fme]{display:block;border-block:1px solid var(--hairline);padding:16px 0}.toc-fallback[data-astro-cid-n3cv5fme] summary[data-astro-cid-n3cv5fme]{cursor:pointer;font-size:14px}.article-toc[data-astro-cid-n3cv5fme][data-enhanced] .toc-fallback[data-astro-cid-n3cv5fme]{display:none}.article-toc[data-astro-cid-n3cv5fme][data-enhanced] .toc-fab[data-astro-cid-n3cv5fme]{display:flex;position:fixed;right:16px;bottom:18px;width:46px;height:46px;border-radius:50%;background:var(--surface-card);color:var(--ink);border:1px solid var(--hairline);align-items:center;justify-content:center;box-shadow:#00000029 0 5px 20px;z-index:40;cursor:pointer}.toc-fab[data-astro-cid-n3cv5fme] svg{width:20px;height:20px}.toc-sheet[data-astro-cid-n3cv5fme]{flex-direction:column;position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:min(75vh,640px);margin:0;padding:0;border:1px solid var(--hairline);border-bottom:0;border-radius:18px 18px 0 0;background:var(--canvas);color:var(--ink);box-sizing:border-box}.toc-sheet[data-astro-cid-n3cv5fme][open]{display:flex}.toc-sheet[data-astro-cid-n3cv5fme]::backdrop{background:#0006}.toc-sheet-head[data-astro-cid-n3cv5fme]{display:flex;align-items:center;gap:14px;padding:20px 24px 12px;flex:none;font-size:14px}.toc-sheet-head[data-astro-cid-n3cv5fme] .toc-progress[data-astro-cid-n3cv5fme]{margin-left:auto}.toc-sheet-close[data-astro-cid-n3cv5fme]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:0;border-radius:50%;color:var(--muted);cursor:pointer}.toc-sheet-close[data-astro-cid-n3cv5fme]:hover{background:var(--surface-card);color:var(--ink)}.toc-sheet-close[data-astro-cid-n3cv5fme] svg{width:20px;height:20px}.toc-sheet-body[data-astro-cid-n3cv5fme]{overflow-y:auto;overscroll-behavior:contain;padding:0 24px max(28px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.toc-link[data-astro-cid-n3cv5fme],.toc-dash[data-astro-cid-n3cv5fme]{transition:none}}.lang-note[data-astro-cid-26q5ndzz]{display:flex;align-items:center;gap:12px;padding:14px 17px;border-radius:var(--r-md);border-left:3px solid var(--c-info);background:color-mix(in srgb,var(--c-info) 6%,transparent);margin:20px 0 8px;font-size:15px}.lang-note[data-astro-cid-26q5ndzz] .ln-icon{width:19px;height:19px;flex:none;color:var(--c-info)}.ct[data-astro-cid-26q5ndzz]{color:var(--ink);flex:1;letter-spacing:-.2px}.switch[data-astro-cid-26q5ndzz]{display:inline-flex;align-items:center;gap:3px;color:var(--blue);font-weight:600;background:none;border:none;cursor:pointer;font-family:inherit;font-size:15px;white-space:nowrap}.switch[data-astro-cid-26q5ndzz] svg{width:14px;height:14px}.comment-thread{color:var(--ink);font-size:14px}.comment-thread svg{width:16px;height:16px;flex:none}.comment-thread button,.comment-thread textarea{font:inherit}.comment-thread button{cursor:pointer}.comment-thread button:disabled{cursor:default;opacity:.5}.comment-thread a{color:inherit;text-decoration:none}.comment-thread a:hover{color:var(--blue)}.comment-thread :is(a,button,textarea):focus-visible{outline:2px solid var(--blue);outline-offset:4px}.comments-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px}.comments-kicker{font-size:9px;letter-spacing:.18em;color:var(--muted)}.comments-heading h2{display:flex;align-items:center;gap:12px;font-size:25px;font-weight:600;letter-spacing:-.04em;margin:9px 0 0}.comments-heading h2 span{font-size:12px;font-weight:400;color:var(--muted);border:1px solid var(--hairline);border-radius:999px;padding:3px 9px;letter-spacing:0}.comments-heading>a{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted)}.comment-login-panel{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:28px 0;border-block:1px solid var(--hairline)}.comment-login-icon{color:var(--muted);margin-bottom:12px}.comment-login-icon svg{width:26px;height:26px}.comment-login-panel h3{font-size:18px;font-weight:500;margin:0 0 10px;letter-spacing:-.03em}.comment-login-panel p{margin:0 0 22px;color:var(--muted);line-height:1.8;font-size:12px}.comment-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--hairline);padding:10px 16px;border-radius:4px;font-size:12px!important;transition:background .2s,transform .2s,box-shadow .2s}.comment-button.primary{background:var(--ink);border-color:var(--ink);color:var(--canvas)}.comment-button.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--ink) 10%,transparent)}.comment-button.quiet{background:transparent;color:var(--muted)}.comment-account{display:flex;align-items:center;gap:9px;margin:0 0 16px;font-size:12px;color:var(--muted80)}.comment-account img{border-radius:50%}.comment-account button{margin-left:auto;background:transparent;border:0;color:var(--muted);font-size:11px;padding:8px}.comment-composer{border:1px solid var(--hairline);background:var(--surface-card);border-radius:4px;overflow:hidden}.composer-tabs{display:flex;align-items:center;gap:18px;padding:12px 20px;border-bottom:1px solid var(--hairline)}.composer-tabs button{background:none;border:0;padding:5px 0;color:var(--muted);font-size:12px}.composer-tabs button[aria-pressed=true]{color:var(--ink);box-shadow:0 1px var(--ink)}.composer-tabs span{margin-left:auto;color:var(--muted);font-size:8px;letter-spacing:.12em}.comment-composer textarea{display:block;width:100%;min-height:150px;resize:vertical;border:none;padding:20px;background:transparent;color:var(--ink);line-height:1.8;outline-offset:-3px!important}.comment-composer textarea::placeholder{color:var(--muted)}.comment-preview{min-height:150px;padding:20px}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-top:1px solid var(--hairline)}.composer-actions>span{color:var(--muted);font-size:10px}.composer-actions>div{display:flex;gap:8px}.comment-list-toolbar{display:flex;justify-content:space-between;align-items:center;margin:32px 0 6px;color:var(--muted);font-size:11px}.comment-list-toolbar>div{display:flex;gap:4px;padding:3px;border-radius:999px;background:var(--surface-card);border:1px solid var(--hairline)}.comment-list-toolbar button{border:0;background:transparent;color:var(--muted);border-radius:999px;padding:5px 13px;font-size:10px}.comment-list-toolbar button[aria-pressed=true]{background:var(--canvas);color:var(--ink);box-shadow:0 1px 4px #0000000a}.comment-group{padding:24px 0;border-bottom:1px solid var(--hairline);animation:comment-appear .3s ease both}.comment-card{display:flex;align-items:flex-start;gap:14px;min-width:0}.comment-avatar{border-radius:50%;object-fit:cover;flex:none;background:var(--surface-card)}.comment-card-content{min-width:0;flex:1}.comment-author-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px}.comment-author-line>a:first-child{font-weight:600}.comment-owner{font-size:9px;color:var(--muted);border:1px solid var(--hairline);border-radius:999px;padding:1px 7px}.comment-date{margin-left:auto;color:var(--muted)!important;font-size:10px}.comment-markup{color:var(--muted80);line-height:1.9;overflow-wrap:anywhere;font-size:14px}.comment-markup>:first-child{margin-top:12px}.comment-markup>:last-child{margin-bottom:12px}.comment-markup a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.comment-markup pre{overflow:auto;max-width:100%;padding:14px;border:1px solid var(--hairline);border-radius:8px;background:var(--canvas);font-size:12px}.comment-markup :not(pre)>code{padding:2px 5px;border-radius:4px;background:var(--canvas);font-size:.9em}.comment-markup img{max-width:100%;height:auto;border-radius:8px}.comment-markup blockquote{margin:12px 0;padding-left:16px;border-left:2px solid var(--hairline);color:var(--muted)}.comment-markup :is(h1,h2,h3,h4,h5,h6){font-size:16px;margin:14px 0 8px}.comment-markup table{display:block;overflow-x:auto;border-collapse:collapse}.comment-markup :is(th,td){padding:7px 12px;border:1px solid var(--hairline)}.comment-item-actions{display:flex;gap:18px;align-items:center;color:var(--muted);font-size:10px}.comment-item-actions button{display:flex;align-items:center;gap:5px;padding:3px 0;border:0;background:none;color:inherit;font-size:10px}.comment-item-actions button[aria-pressed=true]{color:var(--blue)}.comment-item-actions a{display:flex;align-items:center;gap:3px;margin-left:auto}.comment-item-actions svg{width:13px;height:13px}.comment-reply{margin:22px 0 0 49px;padding-left:18px;border-left:1px solid var(--hairline)}.comment-reply .comment-avatar{width:26px;height:26px}.comment-reply-editor{margin:24px 0 0 49px}.comment-reply-target{margin:0 0 10px;color:var(--muted);font-size:12px}.comment-login-hint{margin:0;padding:0 20px 16px;color:var(--muted);font-size:11px;line-height:1.8}.comment-more-replies{display:block;margin:18px 0 0 49px;font-size:11px;color:var(--blue)!important}.comment-empty{padding:36px 16px;text-align:center;font-size:12px;color:var(--muted);line-height:1.8}.comment-empty>svg{width:22px;height:22px;opacity:.5}.comment-error{padding:14px 18px;margin:12px 0;color:var(--ink);background:var(--surface-card);border:1px solid var(--hairline);border-radius:10px;font-size:12px;line-height:1.8}.comment-error button{background:none;border:0;text-decoration:underline;color:var(--blue);padding:4px 8px}.comment-muted{color:var(--muted);font-size:12px}.comment-load-more{display:block;width:100%;margin:20px 0;padding:12px;border:1px solid var(--hairline);border-radius:10px;background:transparent;color:var(--muted80);font-size:12px!important}.comments-credit{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:9px;color:var(--muted);padding-top:20px}.comments-credit>a{display:flex;align-items:center;gap:3px}.comments-credit svg{width:11px;height:11px}@keyframes comment-appear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:640px){.comments-heading{align-items:center}.comments-heading>a{font-size:0}.comments-heading h2{font-size:23px}.comment-reply{margin-left:16px;padding-left:12px}.comment-reply-editor{margin-left:0}.comment-item-actions{gap:14px}.comment-item-actions a{font-size:0}.composer-actions{align-items:flex-start}.composer-actions>span{max-width:100px;line-height:1.8}}@media(prefers-reduced-motion:reduce){.comment-group{animation:none}.comment-thread .comment-button{transition:none}}.comments[data-astro-cid-n7l7i54r]{margin-top:56px;padding-top:32px;border-top:1px solid var(--divider);scroll-margin-top:120px}.share-box[data-astro-cid-2ronh2ld]{margin-top:64px;padding:28px 0;border-block:1px solid var(--hairline)}.share-head[data-astro-cid-2ronh2ld]{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:20px}.share-head[data-astro-cid-2ronh2ld] h3[data-astro-cid-2ronh2ld]{font-size:16px;font-weight:500;margin:0}.share-head[data-astro-cid-2ronh2ld] p[data-astro-cid-2ronh2ld]{font-size:10px;letter-spacing:.06em;color:var(--muted);margin:0}.share-btns[data-astro-cid-2ronh2ld]{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px}.share-btn[data-astro-cid-2ronh2ld]{display:inline-flex;align-items:center;gap:7px;background:transparent;border:1px solid var(--hairline);border-radius:4px;padding:8px 12px;font-size:12px;color:var(--ink);text-decoration:none;cursor:pointer;font-family:inherit;transition:transform .15s var(--ease-apple),border-color .15s var(--ease-apple),color .15s}.share-btn[data-astro-cid-2ronh2ld]:hover{border-color:var(--blue);color:var(--blue)}.share-btn[data-astro-cid-2ronh2ld]:active{transform:scale(.96)}.share-btn[data-astro-cid-2ronh2ld] svg{width:16px;height:16px}.share-btn[data-astro-cid-2ronh2ld].copied{border-color:var(--c-success);color:var(--c-success)}.license-box[data-astro-cid-kzp5wfcv]{margin-top:24px}.license-body[data-astro-cid-kzp5wfcv]{font-size:12px;line-height:1.85;color:var(--muted)}.license-body[data-astro-cid-kzp5wfcv] p[data-astro-cid-kzp5wfcv]{margin:0}.license-body[data-astro-cid-kzp5wfcv] strong[data-astro-cid-kzp5wfcv]{color:var(--ink);font-weight:600}.license-cc[data-astro-cid-kzp5wfcv]{display:flex;align-items:flex-start;gap:8px;margin-top:8px!important}.license-cc[data-astro-cid-kzp5wfcv] svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--muted)}.license-link[data-astro-cid-kzp5wfcv]{color:var(--blue);text-decoration:none}.license-link[data-astro-cid-kzp5wfcv]:hover{text-decoration:underline}.code-block[data-astro-cid-rjyqi2kw]{min-width:0;max-width:100%;margin:24px 0;border:1px solid var(--hairline);border-radius:12px;overflow:hidden;background:var(--surface-card)}.code-block-toolbar[data-astro-cid-rjyqi2kw]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:4px 12px 4px 20px;border-bottom:1px solid var(--hairline)}.code-language[data-astro-cid-rjyqi2kw]{color:var(--muted);font:11px var(--font-code);letter-spacing:.04em;text-transform:uppercase}.code-copy[data-astro-cid-rjyqi2kw]{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:5px 9px;border:0;border-radius:6px;background:transparent;color:var(--muted80);font:12px var(--font-sans);cursor:pointer;transition:background-color .15s,color .15s}.code-copy[data-astro-cid-rjyqi2kw][hidden]{display:none}.code-copy[data-astro-cid-rjyqi2kw]:hover{color:var(--blue);background:color-mix(in srgb,var(--blue) 7%,transparent)}.code-copy[data-astro-cid-rjyqi2kw]:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.code-copy[data-astro-cid-rjyqi2kw]:disabled{cursor:wait;opacity:.6}.code-copy[data-astro-cid-rjyqi2kw] svg[data-astro-cid-rjyqi2kw]{width:15px;height:15px;flex:none}.code-block[data-astro-cid-rjyqi2kw]>pre[data-astro-cid-rjyqi2kw]{margin:0;border:0;border-radius:0}@media(prefers-reduced-motion:reduce){.code-copy[data-astro-cid-rjyqi2kw]{transition:none}}.article-content{max-width:none;min-width:0;font-family:var(--font-editorial);font-size:17px;line-height:1.85;letter-spacing:0;overflow-wrap:anywhere}.article-content p{margin:0 0 24px;font-size:inherit;line-height:inherit;letter-spacing:inherit}.article-content>:first-child{margin-top:0}.article-content :is(h1,h2,h3,h4,h5,h6){font-family:var(--font-sans);font-weight:600;line-height:1.45;letter-spacing:-.015em;text-wrap:pretty;scroll-margin-top:128px}.article-content h1{margin:48px 0 24px;font-size:30px}.article-content h2{margin:48px 0 24px;font-size:26px}.article-content h3{margin:36px 0 20px;font-size:22px}.article-content h4{margin:28px 0 16px;font-size:19px}.article-content :is(h2,h3,h4)+:is(h3,h4){margin-top:24px}.article-content strong{font-weight:600}.article-content :is(ul,ol){margin:24px 0;padding-left:1.5em}.article-content li{margin-block:8px;padding-left:.25em;line-height:inherit}.article-content li>:is(ul,ol){margin-block:12px}.article-content li>p{margin-block:12px}.article-content hr{margin:48px 0;border-color:var(--hairline)}.article-content a{text-underline-offset:.18em;text-decoration-thickness:.06em}.article-content pre{max-width:100%;overflow-x:auto;overflow-wrap:normal}.article-content table{display:block;width:100%;max-width:100%;margin:32px 0;overflow-x:auto;overscroll-behavior-x:contain;font-family:var(--font-sans);font-size:14px;line-height:1.65}.article-content :is(th,td){min-width:100px;padding:12px 16px;vertical-align:top}.article-content :is(img,video,iframe){max-width:100%}.article-content img:not(:where(.not-prose *)){width:auto;height:auto;max-height:min(60svh,480px);object-fit:contain}.article-content :is(video,iframe):not(:where(.not-prose *)){display:block;width:100%;margin:32px auto;border-radius:4px}.article-content video:not(:where(.not-prose *)){max-height:min(60svh,480px)}.article-content iframe:not(:where(.not-prose *)){aspect-ratio:16 / 9;height:auto}.article-content :is(.expressive-code,.katex-display){max-width:100%;overflow-x:auto}#content-en{line-height:1.65}.article-content [data-footnote-ref]{font-size:.8em;font-weight:600;text-decoration:none;padding:0 2px}.article-content [data-footnote-ref]:before{content:"["}.article-content [data-footnote-ref]:after{content:"]"}.article-content :is([data-footnote-ref],[data-footnote-backref],.footnotes a){color:var(--c-info)}.article-content sup{line-height:0}.article-content blockquote{margin:32px 0;padding:4px 0 4px 20px;border-left:2px solid var(--hairline);border-radius:0;background:transparent;color:var(--muted80);font-style:normal;font-weight:400;quotes:none}.article-content blockquote p:before,.article-content blockquote p:after{content:none}.article-content blockquote>:first-child{margin-top:0}.article-content blockquote>:last-child{margin-bottom:0}.article-content blockquote a{color:var(--c-info)}.article-content .footnotes{margin-top:48px;padding-top:24px;border-top:1px solid var(--divider)}.article-content .footnotes h2{position:static;width:auto;height:auto;clip:auto;clip-path:none;white-space:normal;overflow:visible;font-size:24px}.article-content .footnotes li{scroll-margin-top:110px;color:var(--muted);font-size:14px}.article-content [data-footnote-backref]{margin-left:4px;text-decoration:none}.article-content [id^=user-content-fnref-]{scroll-margin-top:110px}.article-content .article-figure{position:relative;width:fit-content;max-width:100%;margin:32px auto;text-align:center}.article-content .article-figure img{display:block;width:auto;height:auto;max-width:100%;max-height:min(60svh,480px);margin:0 auto;object-fit:contain;border:1px solid var(--hairline);border-radius:4px;background:var(--surface-card);cursor:zoom-in}.article-content .article-figure figcaption{max-width:100%;margin:10px auto 0;color:var(--muted);font-family:var(--font-sans);font-size:12px;line-height:1.6;text-wrap:pretty}.article-content .article-figure:after{content:"查看大图 ↗";position:absolute;top:10px;right:10px;padding:4px 8px;border:1px solid var(--hairline);border-radius:6px;background:var(--canvas);color:var(--ink);font-size:11px;line-height:1.6;opacity:0;transition:opacity .18s ease;pointer-events:none}.article-content .article-figure:hover:after,.article-content .article-figure:focus-within:after{opacity:.95}.article-content .article-image-grid{display:grid;grid-template-columns:repeat(var(--image-columns, 2),minmax(0,1fr));align-items:start;gap:24px 16px;max-width:100%;margin:32px auto}.article-content .article-image-grid .article-figure{width:100%;max-width:none;margin:0;min-width:0}.article-content .article-image-grid .article-figure>:is(img,a){display:block;align-content:center;width:100%;height:240px;border-radius:4px;background:var(--surface-card)}.article-content .article-image-grid img{width:100%;height:240px;max-height:240px;padding:8px;box-sizing:border-box;object-fit:contain}.article-content .article-image-grid figcaption{margin-top:8px;font-size:11px}.article-content .article-diagram{margin:28px 0;padding:16px;min-width:0;border:1px solid var(--hairline);border-radius:14px;background:var(--surface-card)}.article-content .article-diagram [hidden]{display:none}.article-content .article-diagram [role=status]{margin:0 0 12px;font-size:14px;color:var(--muted)}.article-content .diagram-viewport{max-width:100%;overflow:auto;overscroll-behavior-x:contain;padding:12px 0}.article-content .diagram-viewport svg{display:block;width:100%;min-width:640px;height:auto;margin:auto}.article-content .article-diagram details{margin-top:12px}.article-content .article-diagram summary{color:var(--muted);font-size:13px;cursor:pointer}.article-content .article-diagram pre{margin-bottom:0}.article-content .article-diagram button{padding:5px 12px;border:1px solid var(--hairline);border-radius:8px;cursor:pointer}.article-content .footnotes li:target{background:color-mix(in srgb,var(--blue) 10%,transparent);border-radius:8px}@media(max-width:640px){.article-content{font-size:16px}.article-content h1{font-size:26px}.article-content h2{margin-top:36px;font-size:24px}.article-content h3{font-size:20px}.article-content :is(img,video):not(:where(.not-prose *)){max-height:min(56svh,380px)}.article-content .article-figure{margin-block:24px}.article-content .article-figure img{max-height:min(56svh,380px)}.article-content .article-image-grid{gap:16px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}.article-content .article-image-grid .article-figure>:is(img,a),.article-content .article-image-grid img{height:160px;max-height:160px}.article-content .article-image-grid img{padding:5px}.article-content .article-image-grid .article-figure:last-child:nth-child(odd){grid-column:1 / -1;width:calc(50% - 6px);justify-self:center}.article-content .diagram-viewport svg{min-width:max(640px,var(--diagram-width, 640px))}}@media(prefers-reduced-motion:reduce){.article-content .article-figure:after{transition:none}}.post-page[data-astro-cid-4sn4zg3r]{max-width:var(--layout-max);margin:0 auto;padding:0 var(--page-gutter) 96px}.post-head[data-astro-cid-4sn4zg3r]{position:relative;max-width:960px;margin:0 auto;padding:var(--page-top-space) 0 64px;text-align:center}.post-back[data-astro-cid-4sn4zg3r]{position:absolute;left:0;top:24px;font-size:12px;text-decoration:none;color:var(--muted)}.post-back[data-astro-cid-4sn4zg3r]:hover{color:var(--blue)}.post-kicker[data-astro-cid-4sn4zg3r]{font-size:11px;letter-spacing:.08em;color:var(--muted);margin:0 0 26px}.post-head[data-astro-cid-4sn4zg3r] h1[data-astro-cid-4sn4zg3r]{max-width:820px;margin:0 auto;font-size:clamp(28px,3.2vw,40px);font-weight:600;line-height:1.3;letter-spacing:-.025em;overflow-wrap:anywhere;text-wrap:balance}.post-lead[data-astro-cid-4sn4zg3r]{max-width:680px;margin:28px auto 0;font-size:17px;line-height:1.9;color:var(--muted80)}.post-byline[data-astro-cid-4sn4zg3r]{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;margin-top:30px;color:var(--muted);font-size:12px}.post-cover[data-astro-cid-4sn4zg3r]{max-width:960px;margin:0 auto 64px}.post-cover[data-astro-cid-4sn4zg3r] img[data-astro-cid-4sn4zg3r]{display:block;width:auto;height:auto;max-width:100%;max-height:min(60svh,480px);margin:auto;object-fit:contain;border-radius:4px}.article-layout[data-astro-cid-4sn4zg3r]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--reading-max)) minmax(0,1fr);gap:40px;max-width:1440px;margin:0 auto;align-items:start;padding-top:40px;border-top:1px solid var(--hairline)}.reading-body[data-astro-cid-4sn4zg3r]{grid-column:2;min-width:0}.post-context[data-astro-cid-4sn4zg3r]{position:sticky;top:116px;min-width:0;width:100%;max-width:200px;max-height:calc(100dvh - 140px);overflow-y:auto;scrollbar-width:thin}.post-facts[data-astro-cid-4sn4zg3r]{margin:0 0 36px}.post-facts[data-astro-cid-4sn4zg3r]>div[data-astro-cid-4sn4zg3r]{margin-bottom:24px}.post-facts[data-astro-cid-4sn4zg3r] dt[data-astro-cid-4sn4zg3r]{color:var(--muted);font-size:10px;letter-spacing:.04em}.post-facts[data-astro-cid-4sn4zg3r] dd[data-astro-cid-4sn4zg3r]{margin:8px 0 0;font-size:12px;color:var(--muted80)}.post-topics[data-astro-cid-4sn4zg3r]{display:flex;flex-wrap:wrap;gap:6px 12px}.post-topics[data-astro-cid-4sn4zg3r] span[data-astro-cid-4sn4zg3r]{border-bottom:1px solid var(--hairline);padding-bottom:3px}.post-context[data-astro-cid-4sn4zg3r] .article-toc{position:static;width:auto}.post-context[data-astro-cid-4sn4zg3r] .toc{max-height:none;border-top:1px solid var(--hairline);padding-top:22px}.post-context[data-astro-cid-4sn4zg3r] .toc-nav{overflow:visible;padding:0}.post-context[data-astro-cid-4sn4zg3r] .toc-dash{display:none}.post-context[data-astro-cid-4sn4zg3r] .toc-title-track{grid-template-rows:1fr;opacity:1;translate:none}.post-context[data-astro-cid-4sn4zg3r] .toc-link{font-size:11px;padding-block:6px}.post-context[data-astro-cid-4sn4zg3r] .depth-3{padding-left:12px}.post-context[data-astro-cid-4sn4zg3r] .depth-4{padding-left:24px}.archive-notice[data-astro-cid-4sn4zg3r]{background:var(--sand);padding:18px 20px;font-size:13px;line-height:1.8;margin:0 0 32px}.reading-return[data-astro-cid-4sn4zg3r]{display:inline-block;margin-top:48px;color:var(--ink);font-size:13px;text-decoration:none}@media(max-width:1100px){.article-layout[data-astro-cid-4sn4zg3r]{grid-template-columns:minmax(0,var(--reading-max));justify-content:center;gap:0}.reading-body[data-astro-cid-4sn4zg3r]{grid-column:1}.post-context[data-astro-cid-4sn4zg3r]{position:static;max-height:none;overflow:visible}.post-facts[data-astro-cid-4sn4zg3r]{display:none}}@media(max-width:700px){.post-page[data-astro-cid-4sn4zg3r]{padding-bottom:64px}.post-head[data-astro-cid-4sn4zg3r]{padding:72px 0 36px;text-align:left}.post-kicker[data-astro-cid-4sn4zg3r]{margin-bottom:20px}.post-head[data-astro-cid-4sn4zg3r] h1[data-astro-cid-4sn4zg3r]{font-size:32px}.post-lead[data-astro-cid-4sn4zg3r]{font-size:15px;margin-top:22px}.post-byline[data-astro-cid-4sn4zg3r]{justify-content:start;font-size:11px}.post-cover[data-astro-cid-4sn4zg3r]{margin-bottom:32px}.article-layout[data-astro-cid-4sn4zg3r]{padding-top:28px}}@media(max-width:640px){.article-layout[data-astro-cid-4sn4zg3r] .lang-note{flex-wrap:wrap}.article-layout[data-astro-cid-4sn4zg3r] .lang-note .ct{min-width:160px}}.to-top[data-astro-cid-4sn4zg3r]{position:fixed;right:24px;bottom:24px;width:46px;height:46px;border-radius:50%;background:var(--surface-card);border:1px solid var(--hairline);box-shadow:#00000029 0 5px 20px;display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s var(--ease-apple),transform .3s var(--ease-apple),color .15s,border-color .15s;z-index:40}.to-top[data-astro-cid-4sn4zg3r].show{opacity:1;visibility:visible;transform:none}.to-top[data-astro-cid-4sn4zg3r]:hover{border-color:var(--blue);color:var(--blue)}.to-top[data-astro-cid-4sn4zg3r] svg[data-astro-cid-4sn4zg3r]{width:20px;height:20px}@media(max-width:1100px){.to-top[data-astro-cid-4sn4zg3r]{right:16px;bottom:74px}}.search-flash{color:inherit;border-radius:4px;padding:0 2px;background:transparent;animation:search-flash 2.2s var(--ease-apple)}@keyframes search-flash{0%,to{background:transparent}12%,40%,68%{background:color-mix(in srgb,var(--blue) 38%,transparent)}26%,54%,82%{background:transparent}}
