.article-header[data-astro-cid-ak4gb66a]{width:100%;max-width:var(--article-content-max,720px);gap:14px;margin-bottom:34px;display:grid}.article-header-archive[data-astro-cid-ak4gb66a]{max-width:none;margin-bottom:54px}.archive-heading[data-astro-cid-ak4gb66a]{min-width:0}h1[data-astro-cid-ak4gb66a]{color:var(--paper-ink);font-family:var(--font-heading);margin:0;font-size:clamp(2.15rem,4.8vw,3.45rem);font-weight:400;line-height:1.08}.blog-content-ui h1[data-astro-cid-ak4gb66a]{font-family:var(--font-page-heading)}.archive-heading[data-astro-cid-ak4gb66a] .meta-line[data-astro-cid-ak4gb66a]{margin-top:14px}.meta-line[data-astro-cid-ak4gb66a]{color:var(--paper-ink-faint);font-family:var(--font-meta);flex-wrap:wrap;align-items:center;row-gap:6px;font-size:.84rem;font-weight:600;line-height:1.5;display:flex}.tag-list .metadata-content{flex-wrap:wrap;gap:6px 8px}.tag[data-astro-cid-ak4gb66a]{color:var(--paper-accent);font-family:var(--font-meta);font-weight:700;text-decoration:none;transition:color .18s}.author-link[data-astro-cid-ak4gb66a]{color:currentColor;text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-underline-offset:3px;margin-inline-start:.32em}.author-link[data-astro-cid-ak4gb66a]:hover{color:var(--paper-accent)}.tag[data-astro-cid-ak4gb66a]+.tag[data-astro-cid-ak4gb66a]{margin-inline-start:8px}.tag[data-astro-cid-ak4gb66a]:hover{color:var(--paper-ink)}.tag[data-astro-cid-ak4gb66a]:focus-visible,.group-link[data-astro-cid-ak4gb66a]:focus-visible{outline:2px solid var(--paper-line-strong);outline-offset:3px;border-radius:4px}.group-meta-line[data-astro-cid-ak4gb66a]{color:var(--paper-ink-faint);font-family:var(--font-meta);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:.82rem;font-weight:600;display:flex}.group-meta-item[data-astro-cid-ak4gb66a]{border:1px solid var(--paper-line);background:var(--paper-control);border-radius:999px;flex-wrap:wrap;align-items:center;gap:6px;min-height:30px;padding:4px 8px;display:inline-flex}.group-meta-item[data-astro-cid-ak4gb66a] .site-icon{color:var(--paper-accent);opacity:.82}.group-label[data-astro-cid-ak4gb66a]{color:var(--paper-ink-faint)}.group-list[data-astro-cid-ak4gb66a]{flex-wrap:wrap;gap:6px;display:inline-flex}.group-link[data-astro-cid-ak4gb66a]{color:var(--paper-accent);font-family:var(--font-serif-cn);text-underline-offset:3px;font-weight:700;text-decoration-color:#667d6d40}.group-link[data-astro-cid-ak4gb66a]+.group-link[data-astro-cid-ak4gb66a]:before{color:var(--paper-ink-faint);content:"·";margin:0 6px 0 0}.article-hero-image[data-astro-cid-ak4gb66a]{border:1px solid var(--paper-line);background:var(--paper-surface-muted);border-radius:7px;width:100%;height:84px;margin:10px 0 0;overflow:hidden}.article-hero-image[data-astro-cid-ak4gb66a] img{object-fit:cover;width:100%;height:84px;box-shadow:none;filter:saturate(.72)contrast(.96);border:0;border-radius:0;display:block}@media (width<=640px){.article-header[data-astro-cid-ak4gb66a]{gap:12px;margin-bottom:30px}.article-header-archive[data-astro-cid-ak4gb66a]{margin-bottom:34px}h1[data-astro-cid-ak4gb66a]{font-size:2.08rem;line-height:1.1}.article-hero-image[data-astro-cid-ak4gb66a],.article-hero-image[data-astro-cid-ak4gb66a] img{border-radius:6px;height:84px}}.related-posts{padding:18px}.related-posts h2{color:var(--paper-ink);text-transform:uppercase;margin:0 0 14px;font-size:.9rem;line-height:1.2}.related-list{gap:12px;display:grid}.related-posts a{color:var(--paper-ink);grid-template-columns:1fr;align-items:center;gap:5px;text-decoration:none;display:grid}.related-posts a.has-thumbnail{grid-template-columns:58px minmax(0,1fr);gap:10px}.related-posts a:hover strong{color:var(--paper-accent)}.related-posts img{background:var(--paper-surface-muted);object-fit:cover;width:58px;height:48px;box-shadow:var(--paper-shadow);filter:saturate(.7);border-radius:6px;display:block}.related-posts span{gap:4px;min-width:0;display:grid}.related-posts strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.86rem;line-height:1.25;display:-webkit-box;overflow:hidden}.related-posts small{color:var(--paper-ink-faint);font-size:.75rem}.toc-card[data-astro-cid-y2enqxn2]{box-shadow:none;background:0 0;border:0;padding:18px}h2[data-astro-cid-y2enqxn2]{color:var(--paper-ink);font-family:var(--font-ui-label);text-transform:uppercase;margin:0 0 14px;font-size:.9rem;line-height:1.2}.compact[data-astro-cid-y2enqxn2]{padding:18px}.toc-expand[data-astro-cid-y2enqxn2]{display:none}@media (width<=900px){.collapsible[data-astro-cid-y2enqxn2]{border:1px solid var(--paper-line);background:var(--paper-surface);box-shadow:var(--paper-shadow);padding:16px;scroll-margin-top:78px}.can-collapse[data-astro-cid-y2enqxn2] .toc-expand[data-astro-cid-y2enqxn2]{border:1px solid var(--paper-line);background:var(--paper-control);width:100%;color:var(--paper-ink-soft);font-family:var(--font-ui-label);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;font-size:.78rem;font-weight:700;transition:background-color .16s,color .16s;display:inline-flex}.can-collapse[data-astro-cid-y2enqxn2] .toc-expand[data-astro-cid-y2enqxn2]:hover{background:var(--paper-control-hover);color:var(--paper-accent)}.toc-expand[data-astro-cid-y2enqxn2] i[data-astro-cid-y2enqxn2]{border-bottom:1.5px solid;border-right:1.5px solid;width:7px;height:7px;transition:transform .16s;transform:translateY(-2px)rotate(45deg)}.can-collapse[data-astro-cid-y2enqxn2][data-expanded=true] .toc-expand[data-astro-cid-y2enqxn2] i[data-astro-cid-y2enqxn2]{transform:translateY(2px)rotate(225deg)}}@media (prefers-reduced-motion:reduce){.toc-expand[data-astro-cid-y2enqxn2] i[data-astro-cid-y2enqxn2]{transition:none}}.comment-section[data-astro-cid-g7orrdvf]{width:min(100%, var(--article-content-max,720px));border-top:1px solid var(--paper-line);margin-top:42px;padding-top:28px}.comment-section-heading[data-astro-cid-g7orrdvf]{color:var(--paper-ink-faint);font-family:var(--font-meta);gap:4px;margin-bottom:18px;font-size:.82rem;line-height:1.5;display:grid}.comment-section-heading[data-astro-cid-g7orrdvf] p[data-astro-cid-g7orrdvf]{color:var(--paper-ink);margin:0;font-size:.9rem;font-weight:700}.comment-section-heading[data-astro-cid-g7orrdvf] span[data-astro-cid-g7orrdvf]{display:block}.blog-layout-centered .comment-section{width:100%}.navfolio-zoomable{border:1px solid var(--paper-line);cursor:zoom-in;border-radius:8px;width:fit-content;max-width:100%;margin:30px auto;display:block;position:relative;overflow:hidden}.navfolio-zoomable img{max-width:100%;height:auto;display:block}.navfolio-zoomable>span{background:color-mix(in srgb, var(--paper-ink) 24%, transparent);color:var(--paper-surface);opacity:0;place-items:center;transition:opacity .16s;display:grid;position:absolute;inset:0}.navfolio-zoomable:hover>span{opacity:1}.navfolio-zoom-dialog{background:color-mix(in srgb, var(--paper-ink) 74%, transparent);border:0;width:100%;max-width:none;height:100%;max-height:none;padding:28px}.navfolio-zoom-dialog[open]{place-items:center;display:grid}.navfolio-zoom-dialog img{object-fit:contain;max-width:min(100%,1180px);max-height:86vh}.navfolio-zoom-dialog button{border:1px solid var(--paper-line);background:var(--paper-surface);width:40px;height:40px;color:var(--paper-ink);cursor:pointer;border-radius:999px;place-items:center;display:grid;position:fixed;top:18px;right:18px}html{background:var(--paper-bg);scroll-behavior:smooth}.blog-detail-page{background:var(--paper-detail-bg);min-height:100vh;color:var(--paper-ink);overflow-x:hidden}.blog-background{z-index:0;pointer-events:none;position:fixed;inset:0}.blog-background:before{background-image:linear-gradient(var(--paper-rule) 1px, transparent 1px);content:"";opacity:.2;background-size:100% 34px;position:absolute;inset:0}.blog-layout{z-index:1;width:min(100%, var(--layout-shell-width));max-width:none;padding:var(--layout-page-top) var(--layout-page-gutter) var(--layout-page-bottom);grid-template-columns:minmax(0,780px) 252px;gap:48px;margin:0 auto;display:grid;position:relative}.blog-layout-centered{width:min(100%, var(--layout-shell-width));display:block}.article-column{min-width:0}.blog-layout-centered .article-column{width:100%;margin:0 auto}.blog-layout-centered .article-card{--article-content-max:100%}.blog-layout-centered .article-content{max-width:none}.right-sidebar-inner{align-content:start;gap:18px;display:grid}.article-after-related{width:min(100%, var(--article-content-max,720px));margin-top:40px}.blog-layout-centered .article-after-related{width:100%}.article-after-related .related-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.article-after-related a{border:1px solid var(--paper-line);background:var(--paper-control);border-radius:7px;align-content:start;min-height:96px;padding:12px}.right-sidebar-inner{align-self:start;position:sticky;top:96px}.blog-card{border:1px solid var(--paper-line);background:var(--paper-surface);box-shadow:var(--paper-shadow);border-radius:8px}.article-card{--article-content-max:720px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;overflow:visible}.article-content{width:min(100%, var(--article-content-max));max-width:var(--article-content-max);min-width:0;color:var(--paper-ink);font-family:var(--font-article);font-size:18px;line-height:1.75}.article-content-ui{font-family:var(--font-serif-cn)}.article-content h1,.article-content h2{color:var(--paper-ink);font-family:var(--font-heading);line-height:1.2}.article-content h1{margin-top:64px;margin-bottom:24px;font-size:2.25rem}.article-content h2{margin-top:56px;margin-bottom:20px;font-size:1.9rem}.article-content h3{color:var(--paper-ink);font-family:var(--font-heading);margin-top:38px;margin-bottom:16px;font-size:1.35rem}.article-content h4,.article-content h5,.article-content h6{color:var(--paper-ink);font-family:var(--font-heading);margin-top:30px;margin-bottom:12px;font-size:1em;line-height:1.35}.article-content-ui h1,.article-content-ui h2,.article-content-ui h3,.article-content-ui h4,.article-content-ui h5,.article-content-ui h6{font-family:var(--font-page-heading)}.article-content p{margin:0 0 22px}.article-content a{color:var(--paper-accent);text-underline-offset:4px;font-weight:700;text-decoration-color:#667d6d52}.article-content blockquote{border:1px solid var(--paper-line);background:var(--paper-surface-muted);color:var(--paper-ink);font-family:var(--font-article);border-left:3px solid #667d6d6b;border-radius:7px;margin:34px 0;padding:18px 22px 18px 26px;font-size:1.08rem}.article-content pre:not([data-language]),.code-block{border:1px solid var(--paper-line-strong);background:var(--paper-surface-muted);color:var(--paper-ink);border-radius:7px;overflow-x:auto}.article-content pre:not([data-language]){padding:20px}.article-content :not(pre)>code{font-family:var(--font-code);background:var(--paper-control);color:var(--paper-ink);border-radius:7px}.article-content pre:not([data-language])>code{background:0 0}.article-content .katex,.article-content mjx-container{color:var(--paper-ink);font-size:.98em}.article-content .katex-display,.article-content mjx-container[display=true]{margin:1.4em 0;padding:.18em 0 .24em;overflow-x:auto}.article-content .katex-display>.katex{max-width:100%;display:inline-block}.article-content mjx-container[display=true]{text-align:center;max-width:100%}.article-content mjx-container:not([display=true]){vertical-align:-.08em;line-height:0;display:inline-block}.article-content .mermaid-diagram{border:1px solid var(--paper-line-strong);background:var(--paper-surface-muted);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--paper-surface) 72%, transparent);border-radius:8px;margin:30px 0 34px;padding:22px;overflow-x:auto}.article-content .mermaid-diagram .mermaid{min-width:max-content;color:var(--paper-ink);font-family:var(--font-article);text-align:center;background:0 0;margin:0;padding:0;font-size:.95rem}.article-content .mermaid-diagram svg{width:auto;max-width:100%;height:auto;margin:0 auto;display:block}.article-content .expressive-code{font-family:var(--font-code);margin:28px 0 30px}.article-content .expressive-code .frame{border-radius:7px;overflow:hidden}.code-block{font-family:var(--font-code);margin:0;padding:20px;font-size:.9rem}.mobile-article-toc{display:none}.series-neighbor-nav{width:min(100%, var(--article-content-max,720px));border-top:1px solid var(--paper-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:42px;padding-top:22px;display:grid}.series-neighbor-nav a{border:1px solid var(--paper-line);background:var(--paper-control);min-height:86px;color:var(--paper-ink);border-radius:8px;gap:6px;padding:14px;text-decoration:none;transition:transform .18s,border-color .18s,background .18s;display:grid}.series-neighbor-nav a:hover{border-color:var(--paper-line-strong);background:var(--paper-control-hover);transform:translateY(-1px)}.series-neighbor-nav .next{text-align:right}.series-neighbor-nav small{color:var(--paper-ink-faint);font-family:var(--font-meta);font-size:.74rem;font-weight:700}.series-neighbor-nav span{min-width:0;color:var(--paper-ink);font-family:var(--font-heading);font-size:1.05rem;line-height:1.3}@media (width<=1180px){.blog-layout{grid-template-columns:minmax(0,720px) 238px;justify-content:center;width:min(100%,1040px)}.blog-layout-centered{width:min(100%, var(--layout-shell-width));display:block}}@media (width<=900px){.blog-layout{max-width:760px;padding:88px 16px 36px;display:block}.right-sidebar{display:none}.mobile-article-toc{width:min(100%, var(--article-content-max));max-width:var(--article-content-max);margin:-10px 0 28px;display:block}.article-after-related .related-list{grid-template-columns:1fr}.series-neighbor-nav{grid-template-columns:1fr;margin-top:34px}.series-neighbor-nav .next{text-align:left}}@media (width<=640px){.article-card{border-radius:8px;padding:0}}.blog-detail-page{background:var(--hm-page);color:var(--hm-text)}.blog-detail-page .blog-background{display:none}.blog-layout{width:min(100%, var(--hm-shell));grid-template-columns:224px minmax(0,760px) 210px;justify-content:center;gap:38px;margin:0 auto;padding:104px 32px 72px;display:grid}.blog-layout.without-knowledge-sidebar{grid-template-columns:minmax(0,840px) 210px}.blog-layout.without-knowledge-sidebar .article-column{grid-column:1}.blog-layout.without-knowledge-sidebar .right-sidebar{grid-column:2}.left-knowledge-sidebar,.right-sidebar{min-width:0}.left-knowledge-sidebar-inner,.right-sidebar-inner{scrollbar-width:thin;max-height:calc(100vh - 108px);position:sticky;top:88px;overflow:auto}.blog-layout .article-column{min-width:0}.blog-layout .article-card{width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.article-breadcrumbs{min-width:0;color:var(--hm-text-faint);font:.76rem var(--hm-font-mono);white-space:nowrap;gap:6px;margin:0 0 22px;display:flex}.article-breadcrumbs a{color:var(--hm-link);text-decoration:none}.article-breadcrumbs span:last-child{text-overflow:ellipsis;overflow:hidden}.blog-layout .article-header{border-bottom:1px solid var(--hm-border);max-width:none;margin-bottom:30px;padding-bottom:26px}.blog-layout .article-header h1,.blog-layout .archive-title{max-width:760px;color:var(--hm-text);font-family:var(--hm-font-sans);letter-spacing:-.025em;margin:0;font-size:clamp(2rem,4vw,2.8rem);font-weight:650;line-height:1.14}.blog-layout .article-header .meta-line,.blog-layout .article-header .group-meta-line{color:var(--hm-text-faint);font-family:var(--hm-font-sans);font-size:.76rem}.blog-layout .article-header a{color:var(--hm-link)}.blog-layout .article-content{width:100%;max-width:none;color:var(--hm-text);font-family:var(--hm-font-sans);font-size:1rem;line-height:1.75}.blog-layout .article-content>:first-child{margin-top:0}.blog-layout .article-content p{margin:0 0 1.15em}.blog-layout .article-content h2{border-bottom:1px solid var(--hm-border);margin:2.2em 0 .7em;padding-bottom:.35em;font-size:1.5rem;line-height:1.3}.blog-layout .article-content h3{margin:1.8em 0 .6em;font-size:1.2rem}.blog-layout .article-content h4{margin:1.6em 0 .5em;font-size:1.05rem}.blog-layout .article-content a{color:var(--hm-link)}.blog-layout .article-content strong{color:var(--hm-text)}.blog-layout .article-content ul,.blog-layout .article-content ol{padding-left:1.5em}.blog-layout .article-content li+li{margin-top:.35em}.blog-layout .article-content blockquote{border-left:4px solid var(--hm-border-strong);color:var(--hm-text-secondary);margin:1.5em 0;padding:.25em 1em}.blog-layout .article-content code:not(pre code){background:var(--hm-muted);font:.88em var(--hm-font-mono);border-radius:4px;padding:.15em .35em}.blog-layout .article-content table{border-collapse:collapse;width:100%;margin:1.4em 0;font-size:.88rem;display:table}.blog-layout .article-content th,.blog-layout .article-content td{border:1px solid var(--hm-border);text-align:left;vertical-align:top;padding:9px 11px}.blog-layout .article-content th{background:var(--hm-muted);font-weight:600}.blog-layout .article-content tr:nth-child(2n){background:color-mix(in srgb, var(--hm-muted) 55%, transparent)}.right-sidebar .toc-card,.right-sidebar .table-of-contents{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.blog-layout .mobile-article-toc{display:none}.blog-layout .mobile-article-toc>*{box-shadow:none;border-radius:5px}.series-neighbor-nav,.article-after-related{margin-top:36px}@media (width<=1120px){.blog-layout{grid-template-columns:210px minmax(0,760px);gap:34px}.blog-layout .right-sidebar{display:none}.blog-layout.without-knowledge-sidebar{grid-template-columns:minmax(0,840px)}.blog-layout .mobile-article-toc{display:block}}@media (width<=860px){.blog-layout,.blog-layout.without-knowledge-sidebar{grid-template-columns:minmax(0,1fr);padding:84px 20px 48px}.left-knowledge-sidebar{display:none}.blog-layout .article-content table{max-width:100%;display:block;overflow-x:auto}}@media (width<=560px){.blog-layout .article-header h1,.blog-layout .archive-title{font-size:1.82rem}.blog-layout .article-content{font-size:.96rem;line-height:1.72}.article-breadcrumbs span:last-child{display:none}}
