.share[data-astro-cid-2dlmbs4r]{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.share-label[data-astro-cid-2dlmbs4r]{color:var(--muted-foreground);font-family:var(--font-code);letter-spacing:.04em;font-size:12px}.share-list[data-astro-cid-2dlmbs4r]{flex-wrap:wrap;gap:2px;margin:0;padding:0;list-style:none;display:flex}.share-link[data-astro-cid-2dlmbs4r]{border-radius:var(--radius);width:32px;height:32px;color:var(--muted-foreground);place-items:center;display:inline-grid}.share-link[data-astro-cid-2dlmbs4r]:hover{background:var(--surface-2);color:var(--accent-strong)}.back-row[data-astro-cid-fik4avsf]{padding-top:22px}.back-link[data-astro-cid-fik4avsf]{border-radius:var(--radius);color:var(--muted-foreground);align-items:center;gap:4px;margin-block:-8px;margin-inline-start:-4px;padding:10px 4px;font-size:13px;text-decoration:none;display:inline-flex}.back-link[data-astro-cid-fik4avsf]:hover{color:var(--accent-strong)}.adjacent[data-astro-cid-6pa5ixwf],.adjacent-up[data-astro-cid-6pa5ixwf].is-alone{border-top:1px solid var(--border);margin-top:28px;padding-top:18px}.adjacent[data-astro-cid-6pa5ixwf]{grid-template-columns:minmax(0,1fr);gap:8px 32px;display:grid}.adjacent-up[data-astro-cid-6pa5ixwf]{margin-top:14px}.adjacent-link[data-astro-cid-6pa5ixwf]{flex-direction:column;gap:4px;padding-block:6px;text-decoration:none;display:flex}.adjacent-label[data-astro-cid-6pa5ixwf]{color:var(--muted-foreground);font-family:var(--font-code);letter-spacing:.06em;text-transform:uppercase;font-size:11.5px;line-height:1.5}.adjacent-title[data-astro-cid-6pa5ixwf]{color:var(--foreground);font-family:var(--font-heading);text-wrap:balance;font-size:16.5px;font-weight:600;line-height:1.45}a[data-astro-cid-6pa5ixwf].adjacent-link:hover .adjacent-title[data-astro-cid-6pa5ixwf]{color:var(--accent-strong)}.adjacent-link[data-astro-cid-6pa5ixwf].is-planned .adjacent-title[data-astro-cid-6pa5ixwf]{color:var(--muted-foreground);font-weight:500}@media (width>=560px){.adjacent[data-astro-cid-6pa5ixwf]{grid-template-columns:repeat(2,minmax(0,1fr))}.adjacent-link[data-astro-cid-6pa5ixwf].is-next{text-align:end;grid-column:2;align-items:flex-end}}.refs[data-astro-cid-iamt4fzb]{border-top:1px solid var(--border);margin-top:44px;padding-top:20px}.refs-title[data-astro-cid-iamt4fzb]{color:var(--muted-foreground);font-family:var(--font-code);letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px;font-size:11.5px;font-weight:500;line-height:1.5}.refs-list[data-astro-cid-iamt4fzb]{color:var(--foreground-2);flex-direction:column;gap:8px;margin:0;padding-inline-start:20px;font-size:14px;line-height:1.65;list-style:decimal;display:flex}.refs-list[data-astro-cid-iamt4fzb] li[data-astro-cid-iamt4fzb]::marker{color:var(--muted-foreground);font-family:var(--font-code);font-size:12px}.refs-list[data-astro-cid-iamt4fzb] li[data-astro-cid-iamt4fzb]:target{background:var(--accent-weak);border-radius:2px}.ref-link[data-astro-cid-iamt4fzb]{color:var(--accent-strong);text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-underline-offset:3px}.ref-link[data-astro-cid-iamt4fzb]:hover{text-decoration-color:currentColor}.ref-meta[data-astro-cid-iamt4fzb]{color:var(--muted-foreground);font-family:var(--font-code);font-size:12.5px}.cite[data-astro-cid-sjdyipi6]{border-top:1px solid var(--border);margin-top:44px;padding-top:20px}.cite-title[data-astro-cid-sjdyipi6]{color:var(--muted-foreground);font-family:var(--font-code);letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px;font-size:11.5px;font-weight:500;line-height:1.5}.cite-bib[data-astro-cid-sjdyipi6]{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--foreground-2);font-family:var(--font-code);white-space:pre;margin:0;padding:12px 14px;font-size:12.5px;line-height:1.6;overflow-x:auto}.cite-bib[data-astro-cid-sjdyipi6]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.comments{--cmt-indent:38px;border-top:1px solid var(--border);margin-top:44px;padding-top:20px}.comments-title{color:var(--foreground);font-family:var(--font-heading);letter-spacing:-.01em;align-items:baseline;gap:10px;margin:0 0 4px;font-size:18px;font-weight:600;line-height:1.4;display:flex}.comments-title:focus{outline:none}.comments-count{color:var(--muted-foreground);font-family:var(--font-code);letter-spacing:0;font-variant-numeric:tabular-nums;font-size:13px;font-weight:400}.comments-status:empty{display:none}.comments-status,.comments-noscript{color:var(--muted-foreground);flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0;padding:12px 0 4px;font-size:14.5px;line-height:1.6;display:flex}.comments-status p{margin:0}.cmt-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.comments-list,.cmt-replies{margin:0;padding:0;list-style:none}.cmt-thread{border-top:1px solid var(--border)}.cmt-thread:first-child{border-top:0}.cmt-comment{border-radius:var(--radius);margin-inline:-10px;padding:16px 10px;transition:background-color .6s}.cmt-comment:focus{outline:none}.cmt-comment:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cmt-comment.is-target{background:var(--accent-weak)}.cmt-replies{border-left:1px solid var(--border);margin:-6px 0 14px 13px;padding-left:15px}.cmt-replies .cmt-comment{padding-block:10px}.cmt-head{flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:28px;display:flex}.cmt-avatar{background:var(--surface-2);width:28px;height:28px;color:var(--foreground-2);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:600;line-height:1;display:grid;overflow:hidden}.cmt-avatar img{object-fit:cover;width:100%;height:100%;display:block}.cmt-author{color:var(--foreground);margin-right:2px;font-size:14px;font-weight:600;line-height:1.4}.cmt-badge{border:1px solid var(--border-strong);color:var(--muted-foreground);font-family:var(--font-code);letter-spacing:.02em;white-space:nowrap;border-radius:3px;padding:0 6px;font-size:11px;line-height:1.6}.cmt-badge.is-owner{border-color:var(--card-line);background:var(--accent-weak);color:var(--accent-strong)}.cmt-date,.cmt-edited{color:var(--muted-foreground);font-family:var(--font-code);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;line-height:1.5}.cmt-body{margin:4px 0 0 var(--cmt-indent);color:var(--foreground-2);white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.7}.cmt-body a,.cmt-privacy a,.cmt-link{color:var(--accent-strong);text-decoration-line:underline;text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-underline-offset:3px}.cmt-body a:hover,.cmt-privacy a:hover,.cmt-link:hover{text-decoration-color:currentColor}.cmt-hidden-note{margin:4px 0 0 var(--cmt-indent);color:var(--warn-title);font-size:13px;line-height:1.5}.cmt-comment.is-hidden .cmt-head,.cmt-comment.is-hidden .cmt-body{opacity:.55}.cmt-placeholder{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;font-size:14px;line-height:1.6;display:flex}.cmt-lock{flex:none;width:13px;height:13px}.cmt-actions{margin:2px 0 0 var(--cmt-indent);flex-wrap:wrap;gap:0 14px;display:flex}.cmt-action{color:var(--muted-foreground);font:inherit;background:0 0;border:0;padding:4px 0;font-size:13px;line-height:1.5}.cmt-action:hover,.cmt-action[aria-expanded=true]{color:var(--accent-strong)}.cmt-action:hover{text-underline-offset:3px;text-decoration-line:underline}.cmt-action.is-armed{color:var(--warn-title);font-weight:600}.cmt-action:disabled{opacity:.6;cursor:default}.cmt-error{color:var(--warn-title);margin:6px 0 0;font-size:13.5px;line-height:1.6}.cmt-error:empty{display:none}.cmt-actions+.cmt-error{margin-left:var(--cmt-indent)}.comments-composer{border-top:1px solid var(--border);margin-top:8px;padding-top:20px}.cmt-signin-prompt{color:var(--foreground-2);margin:0;font-size:15px;line-height:1.6}.cmt-providers{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.cmt-privacy{color:var(--muted-foreground);margin:0;font-size:13px;line-height:1.6}.cmt-who{color:var(--muted-foreground);flex-wrap:wrap;align-items:baseline;gap:2px 12px;margin:0 0 10px;font-size:13.5px;line-height:1.6;display:flex}.cmt-link{font:inherit;background:0 0;border:0;padding:2px 0}.cmt-link:disabled{opacity:.6;cursor:default}.cmt-form-reply,.cmt-form-edit{margin:6px 0 0 var(--cmt-indent)}.cmt-form-reply{margin-bottom:16px}.cmt-textarea{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:100%;min-height:7.5em;color:var(--foreground);font:inherit;resize:vertical;padding:10px 12px;font-size:16px;line-height:1.65;display:block}.cmt-form-reply .cmt-textarea,.cmt-form-edit .cmt-textarea{min-height:5.5em}.cmt-textarea::placeholder{color:var(--muted-foreground)}.cmt-textarea:focus{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:0}.cmt-form-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-top:10px;display:flex}.cmt-secret{flex-direction:column;min-width:0;display:flex}.cmt-check{color:var(--foreground-2);cursor:pointer;align-items:center;gap:8px;font-size:14px;line-height:1.5;display:inline-flex}.cmt-check input{width:16px;height:16px;accent-color:var(--accent);margin:0}.cmt-hint{color:var(--muted-foreground);padding-left:24px;font-size:12.5px;line-height:1.5}.cmt-secret-note{max-width:30rem;color:var(--muted-foreground);align-items:flex-start;gap:6px;margin:0;font-size:12.5px;line-height:1.5;display:flex}.cmt-secret-note .cmt-lock{margin-top:2px}.cmt-submit-row{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-left:auto;display:flex}.cmt-counter{color:var(--muted-foreground);font-family:var(--font-code);font-variant-numeric:tabular-nums;font-size:12px;line-height:1.5}.cmt-counter.is-full{color:var(--warn-title)}.cmt-button{border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--foreground-2);font:inherit;background:0 0;padding:7px 14px;font-size:14px;font-weight:600;line-height:1.4}.cmt-button:hover{border-color:var(--accent);color:var(--accent-strong)}.cmt-button.is-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-foreground)}.cmt-button.is-primary:hover{border-color:var(--accent-strong);background:var(--accent-strong);color:var(--accent-foreground)}.cmt-button:disabled{opacity:.6;cursor:default}@media (width<36rem){.comments{--cmt-indent:0px}.cmt-body{margin-top:6px}.cmt-replies{margin-left:6px;padding-left:12px}.cmt-providers .cmt-button,.cmt-submit-row{flex:100%}.cmt-submit-row .cmt-button{flex:1}}@media (width<=900px){html:has(.comments form:focus-within) .btt{opacity:0;visibility:hidden}}@media (prefers-reduced-motion:reduce){.cmt-comment{transition:none}}.toc-list[data-astro-cid-hi42cnae]{border-inline-start:1px solid var(--border);counter-reset:toc;margin:0;padding:0;list-style:none}.toc-item[data-astro-cid-hi42cnae]{counter-increment:toc}.toc-sub[data-astro-cid-hi42cnae]{margin:0;padding:0;list-style:none}.toc-link[data-astro-cid-hi42cnae]{color:var(--muted-foreground);border-inline-start:2px solid #0000;gap:8px;margin-inline-start:-1px;padding:5px 0 5px 14px;line-height:1.5;text-decoration:none;display:flex}.toc-link-sub[data-astro-cid-hi42cnae]{padding-inline-start:26px;font-size:.96em}.is-numbered[data-astro-cid-hi42cnae] .toc-link-sub[data-astro-cid-hi42cnae]{padding-inline-start:29px}.is-numbered[data-astro-cid-hi42cnae]>.toc-item[data-astro-cid-hi42cnae]>.toc-link[data-astro-cid-hi42cnae]:before{content:counter(toc);min-width:1ch;color:var(--muted-foreground);font:500 11px/1.9 var(--font-code)}.toc-link[data-astro-cid-hi42cnae]:hover{color:var(--foreground)}.toc-link[data-astro-cid-hi42cnae].is-current{border-inline-start-color:var(--accent);color:var(--accent-strong);font-weight:600}.is-numbered[data-astro-cid-hi42cnae]>.toc-item[data-astro-cid-hi42cnae]>.toc-link[data-astro-cid-hi42cnae].is-current:before{color:var(--accent-strong)}.toc[data-astro-cid-7ujuv3yq]{font-size:13.5px}.toc-inner[data-astro-cid-7ujuv3yq]{flex-direction:column;gap:26px;display:flex}.toc-label[data-astro-cid-7ujuv3yq]{color:var(--muted-foreground);font-family:var(--font-code);letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px;font-size:11px;line-height:1.5}.toc-parts[data-astro-cid-7ujuv3yq] ul[data-astro-cid-7ujuv3yq]{flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;list-style:none;display:flex}.toc-parts[data-astro-cid-7ujuv3yq] a[data-astro-cid-7ujuv3yq]{color:var(--foreground-2);font-family:var(--font-code);align-items:center;gap:6px;font-size:12.5px;text-decoration:none;display:inline-flex}.toc-parts[data-astro-cid-7ujuv3yq] a[data-astro-cid-7ujuv3yq]:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:5px;height:5px}.toc-parts[data-astro-cid-7ujuv3yq] a[data-astro-cid-7ujuv3yq]:hover{color:var(--accent-strong);text-underline-offset:3px;text-decoration:underline}@media (width>900px){.toc-narrow[data-astro-cid-7ujuv3yq]{display:none}.toc-inner[data-astro-cid-7ujuv3yq]{overscroll-behavior:contain;scrollbar-width:thin;max-height:calc(100dvh - 56px);margin-inline:-4px;padding:0 4px 8px;position:sticky;top:28px;overflow-y:auto}}@media (width<=900px){.toc-wide[data-astro-cid-7ujuv3yq]{display:none}.toc[data-astro-cid-7ujuv3yq]{border-bottom:1px solid var(--border);padding:12px 0 14px}.toc-inner[data-astro-cid-7ujuv3yq]{gap:12px}.toc-summary[data-astro-cid-7ujuv3yq]{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding-block:4px;list-style:none;display:flex}.toc-summary[data-astro-cid-7ujuv3yq]::-webkit-details-marker{display:none}.toc-summary[data-astro-cid-7ujuv3yq] .toc-label[data-astro-cid-7ujuv3yq]{margin:0}.toc-summary[data-astro-cid-7ujuv3yq]:hover .toc-label[data-astro-cid-7ujuv3yq]{color:var(--foreground)}.toc-summary[data-astro-cid-7ujuv3yq]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toc-chevron[data-astro-cid-7ujuv3yq]{width:16px;height:16px;color:var(--muted-foreground);flex:none;transition:transform .15s}details[data-astro-cid-7ujuv3yq][open] .toc-chevron[data-astro-cid-7ujuv3yq]{transform:rotate(180deg)}.toc-narrow-body[data-astro-cid-7ujuv3yq]{padding-top:8px}.toc-parts[data-astro-cid-7ujuv3yq] .toc-label[data-astro-cid-7ujuv3yq]{margin-bottom:6px}}@media (prefers-reduced-motion:reduce){.toc-chevron[data-astro-cid-7ujuv3yq]{transition:none}}.article-page{padding-bottom:72px}.article-grid{grid-template-columns:minmax(0, var(--measure));justify-content:center;padding-top:28px;display:grid}.article-page.no-back .article-grid{padding-top:44px}.article-head,.article-body{min-width:0}.article-head{border-bottom:1px solid var(--border);padding-bottom:22px}.article-draft{border:1px dashed var(--warn-line);border-radius:var(--radius);background:var(--warn-bg);color:var(--warn-title);font-family:var(--font-code);margin:0 0 18px;padding:6px 10px;font-size:12px;line-height:1.6}.article-title{color:var(--foreground);font-family:var(--font-heading);letter-spacing:-.02em;text-wrap:balance;margin:14px 0;font-size:clamp(1.75rem,3.3vw,2.5rem);font-weight:700;line-height:1.28}.article-dek{color:var(--foreground-2);text-wrap:pretty;margin:0 0 16px;font-size:18px;line-height:1.7}.article-meta{color:var(--muted-foreground);font-family:var(--font-code);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin:0;font-size:12.5px;line-height:1.6;display:flex}.article-tags{flex-wrap:wrap;gap:4px 10px;display:inline-flex}.article-tags a,.article-tag{color:var(--muted-foreground);text-decoration:none;display:inline-flex}.article-tags [aria-hidden=true]{color:var(--accent);margin-inline-end:1px}.article-tags a:hover{color:var(--accent-strong);text-underline-offset:3px;text-decoration:underline}.article-translation{color:var(--accent-strong);text-decoration-line:underline;text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-underline-offset:3px}.article-translation:hover{text-decoration-color:currentColor}.article-prose{margin-top:28px}.article-foot{margin-top:36px}@media (width<560px){.article-dek{font-size:16.5px}}@media (width>900px){.article-grid{--wide-bleed:13rem;grid-template-columns:minmax(9.5rem, 1fr) minmax(0, var(--measure)) minmax(11rem, 1fr);justify-content:stretch;column-gap:40px;padding-top:36px}.article-page.no-back .article-grid{padding-top:52px}.article-head{grid-area:1/2}.article-grid>.article-toc{grid-area:1/1/span 2}.article-body{grid-area:2/2}.article-rail{flex-direction:column;grid-area:2/3;justify-content:flex-end;align-items:flex-end;display:flex}}
