.bg{color:#e6edf3;background-color:#0d1117}.chroma{color:#e6edf3;-webkit-text-size-adjust:none;background-color:#0d1117}.chroma .err{color:#f85149}.chroma .lnlinks{color:inherit;outline:none;text-decoration:none}.chroma .lntd{vertical-align:top;border:0;margin:0;padding:0}.chroma .lntable{border-spacing:0;border:0;margin:0;padding:0}.chroma .hl{background-color:#6e7681}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;color:#737679;margin-right:.4em;padding:0 .4em}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;color:#6e7681;margin-right:.4em;padding:0 .4em}.chroma .line{display:flex}.chroma .k{color:#ff7b72}.chroma .kc{color:#79c0ff}.chroma .kd,.chroma .kn{color:#ff7b72}.chroma .kp{color:#79c0ff}.chroma .kr,.chroma .kt{color:#ff7b72}.chroma .nc{color:#f0883e;font-weight:700}.chroma .no{color:#79c0ff;font-weight:700}.chroma .nd{color:#d2a8ff;font-weight:700}.chroma .ni{color:#ffa657}.chroma .ne{color:#f0883e;font-weight:700}.chroma .nl{color:#79c0ff;font-weight:700}.chroma .nn{color:#ff7b72}.chroma .py{color:#79c0ff}.chroma .nt{color:#7ee787}.chroma .nv,.chroma .vc,.chroma .vg,.chroma .vi,.chroma .vm{color:#79c0ff}.chroma .nf,.chroma .fm{color:#d2a8ff;font-weight:700}.chroma .l{color:#a5d6ff}.chroma .ld{color:#79c0ff}.chroma .s{color:#a5d6ff}.chroma .sa{color:#79c0ff}.chroma .sb,.chroma .sc{color:#a5d6ff}.chroma .dl{color:#79c0ff}.chroma .sd,.chroma .s2{color:#a5d6ff}.chroma .se,.chroma .sh{color:#79c0ff}.chroma .si,.chroma .sx{color:#a5d6ff}.chroma .sr{color:#79c0ff}.chroma .s1,.chroma .ss,.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo{color:#a5d6ff}.chroma .o,.chroma .ow{color:#ff7b72;font-weight:700}.chroma .c,.chroma .ch,.chroma .cm,.chroma .c1{color:#8b949e;font-style:italic}.chroma .cs,.chroma .cp,.chroma .cpf{color:#8b949e;font-style:italic;font-weight:700}.chroma .gd{color:#ffa198;background-color:#490202}.chroma .ge{font-style:italic}.chroma .gr{color:#ffa198}.chroma .gh{color:#79c0ff;font-weight:700}.chroma .gi{color:#56d364;background-color:#0f5323}.chroma .go,.chroma .gp{color:#8b949e}.chroma .gs{font-weight:700}.chroma .gu{color:#79c0ff}.chroma .gt{color:#ff7b72}.chroma .gl{text-decoration:underline}.chroma .w{color:#6e7681}*,:before,:after{box-sizing:border-box;border:0 solid}html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5}body,h1,h2,h3,h4,h5,h6,p,blockquote,figure,pre,ol,ul,dl,dd{margin:0}ol,ul{padding:0;list-style:none}button,input,textarea,select{font:inherit}button{background:0 0;padding:0}img,svg,video,canvas,audio,iframe,embed,object{max-width:100%;display:block}img,video{height:auto}.blog-icon{fill:currentColor;vertical-align:-.125em;flex:none;width:1em;height:1em;display:inline-block}:root{color-scheme:light;--blog-bg:#fafafa;--blog-surface:#fff;--blog-surface-muted:#f4f4f5;--blog-surface-card:#fff;--blog-surface-card-hover:#f4f4f5;--blog-surface-footer:#f7f7f8;--blog-text:#18181b;--blog-text-soft:#3f3f46;--blog-muted:#71717a;--blog-border:#e4e4e7;--blog-border-strong:#d4d4d8;--blog-accent:#0369a1;--blog-accent-strong:#075985;--blog-accent-soft:#e0f2fe;--blog-focus-ring:0 0 0 3px color-mix(in srgb, var(--blog-accent) 18%, transparent);--blog-code-bg:#111827;--blog-code-text:#f9fafb;--blog-radius:14px;--blog-radius-sm:8px;--space-nav:4rem;--space-section:clamp(2rem, 5vw, 4rem);--space-article:2rem;--space-card:1rem;--blog-font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--blog-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--blog-shell:1480px;--blog-shell-gutter:clamp(1.5rem, 4vw, 5rem);--blog-shell-gutter-mobile:.75rem;--blog-reading:76ch;--blog-reading-single:78ch;--blog-reading-header:78ch;--blog-sidebar-ad-width:18.75rem;--blog-sidebar-ad-height:15.625rem;--blog-sidebar-ad-pad-left:.82rem;--blog-aside:calc(var(--blog-sidebar-ad-width) + var(--blog-sidebar-ad-pad-left));--blog-aside-reserve:18rem;--blog-single-gap:clamp(1.5rem, 2.2vw, 1.75rem);--blog-sticky-gap:1.25rem;--blog-sticky-top:calc(var(--space-nav) + var(--blog-sticky-gap));--blog-scroll-offset:calc(var(--space-nav) + 2rem);--blog-mobile-nav-offset:99px;--blog-text-meta-sm:.8rem;--blog-text-meta:.84rem;--blog-text-support:.92rem;--blog-text-summary:.94rem;--blog-text-toc-child:calc(var(--blog-text-summary) * .92);--blog-text-toc-deep:calc(var(--blog-text-summary) * .88);--blog-text-label:.76rem;--toc-root-indent:0;--toc-group-gap:.46rem;--toc-branch-offset:.26rem;--toc-branch-indent:.72rem;--toc-link-indent:.74rem;--toc-leaf-gap:.28rem;--toc-deep-offset:.16rem;--toc-deep-indent:.62rem;--blog-chrome-border:color-mix(in srgb, var(--blog-border) 68%, transparent);--blog-chrome-border-strong:color-mix(in srgb, var(--blog-border-strong) 48%, transparent);--blog-chrome-surface:color-mix(in srgb, var(--blog-surface-muted) 42%, var(--blog-surface));--blog-chrome-surface-strong:color-mix(in srgb, var(--blog-surface-muted) 70%, var(--blog-surface));--blog-accent-panel:color-mix(in srgb, var(--blog-accent-soft) 44%, var(--blog-surface));--blog-accent-line:color-mix(in srgb, var(--blog-accent) 48%, transparent)}.darkmode--activated{color-scheme:dark;--blog-bg:#0b0f14;--blog-surface:#111827;--blog-surface-muted:#172033;--blog-surface-card:#121a29;--blog-surface-card-hover:#182233;--blog-surface-footer:#101722;--blog-text:#e5e7eb;--blog-text-soft:#cbd5e1;--blog-muted:#9ca3af;--blog-border:#273244;--blog-border-strong:#334155;--blog-accent:#38bdf8;--blog-accent-strong:#7dd3fc;--blog-accent-soft:#38bdf824;--blog-focus-ring:0 0 0 3px #38bdf833;--blog-code-bg:#020617;--blog-code-text:#e5e7eb;--blog-chrome-border:color-mix(in srgb, var(--blog-border) 78%, transparent);--blog-chrome-border-strong:color-mix(in srgb, var(--blog-border-strong) 62%, transparent);--blog-chrome-surface:color-mix(in srgb, var(--blog-surface-muted) 36%, var(--blog-surface));--blog-chrome-surface-strong:color-mix(in srgb, var(--blog-surface-muted) 56%, var(--blog-surface));--blog-accent-panel:color-mix(in srgb, var(--blog-accent-soft) 58%, var(--blog-surface));--blog-accent-line:color-mix(in srgb, var(--blog-accent) 58%, transparent)}html{scroll-behavior:smooth;background:var(--blog-bg)}body{background:var(--blog-bg);min-width:0;color:var(--blog-text);font-family:var(--blog-font-sans);letter-spacing:0;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:16px;font-weight:400;overflow-x:hidden}a{color:inherit;overflow-wrap:anywhere;text-decoration-color:color-mix(in srgb, var(--blog-accent) 55%, transparent);text-underline-offset:.18em;transition:color .2s,border-color .2s,background-color .2s,transform .2s,box-shadow .2s}a:hover{color:var(--blog-accent)}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--blog-accent);outline-offset:3px}ol,ul{padding-left:1.45rem}code,kbd,pre,samp{font-family:var(--blog-font-mono)}:where(p,li,td,th,blockquote,.home-summary,.blog-post-summary,.blog-category-summary,.blog-quick-summary,.blog-author-box-description) code{border:1px solid color-mix(in srgb, var(--blog-border) 72%, transparent);background:color-mix(in srgb, var(--blog-surface-muted) 68%, var(--blog-surface));color:color-mix(in srgb, var(--blog-text) 92%, var(--blog-text-soft));overflow-wrap:normal;word-break:normal;white-space:break-spaces;border-radius:6px;padding:.06rem .28rem;font-size:.88em}pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}blockquote{border:1px solid color-mix(in srgb, var(--blog-accent) 18%, var(--blog-border));border-left:3px solid var(--blog-accent);border-radius:var(--blog-radius-sm);background:color-mix(in srgb, var(--blog-accent-soft) 34%, var(--blog-surface));color:var(--blog-text-soft);margin:1.7rem 0;padding:1rem 1.15rem 1rem 1.2rem}blockquote p{margin-bottom:0;line-height:1.8}blockquote p+p{margin-top:.85rem}blockquote p:last-child{margin-bottom:0}p:has(img){color:var(--blog-muted);font-size:.92rem}p>img{max-width:100%;height:auto;margin-bottom:.7rem;margin-left:auto;margin-right:auto;display:block}.site-shell,.site-main{width:min(calc(100% - (var(--blog-shell-gutter) * 2)), var(--blog-shell));margin-inline:auto}.site-main{padding-top:1.35rem}.site-header{z-index:40;border-bottom:1px solid color-mix(in srgb, var(--blog-border) 58%, transparent);background:color-mix(in srgb, var(--blog-bg) 94%, transparent);backdrop-filter:blur(14px);position:sticky;top:0}.site-nav{min-height:var(--space-nav);padding:0}.site-nav-shell{flex-direction:column;display:flex}.blog-header{min-height:var(--space-nav);align-items:center;gap:1.05rem;display:flex;position:relative}.brand-lockup,.blog-name,.footer-logo{white-space:nowrap;flex:none;align-items:center;gap:.34rem;margin-right:0;padding:0;font-size:1.08rem;font-weight:740;line-height:1.15;text-decoration:none;display:inline-flex;color:var(--blog-text)!important}.brand-lockup-main,.brand-lockup-sub,.blog-name-main,.blog-name-sub,.footer-logo-main,.footer-logo-sub{align-items:baseline;display:inline-flex}.brand-lockup-sub,.blog-name-sub,.footer-logo-sub{color:color-mix(in srgb, var(--blog-muted) 88%, var(--blog-text-soft));letter-spacing:0;font-size:.82rem;font-weight:650}.blog-search{width:min(260px,23vw);margin-left:auto;position:relative}.blog-search-desktop{display:block}.blog-search-desktop input{padding-right:3.7rem}.blog-search-desktop .blog-search-submit{width:auto;min-width:2.34rem;color:color-mix(in srgb, var(--blog-muted) 84%, var(--blog-text-soft));background:0 0;border:1px solid #0000;gap:.18rem;padding:0 .52rem;right:.24rem}.blog-search-desktop .blog-search-submit span{font-size:.73rem;font-weight:680;line-height:1;display:inline}.blog-search input{border:1px solid color-mix(in srgb, var(--blog-border) 78%, transparent);background:color-mix(in srgb, var(--blog-surface) 72%, transparent);width:100%;min-height:36px;color:var(--blog-text-soft);padding-left:.9rem;padding-right:2.6rem;font-size:.86rem;box-shadow:none!important;border-radius:11px!important}.blog-search input::placeholder{color:var(--blog-muted)}.blog-search-submit{width:32px;height:32px;color:var(--blog-muted);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:.3rem;transform:translateY(-50%)}.blog-search-submit .blog-icon{position:static;transform:none}.blog-search-submit span{display:none}.blog-search-submit:hover,.blog-search-submit:focus{color:var(--blog-text)}.blog-nav-search-panel{display:none}.blog-nav-collapse{flex-grow:0;justify-content:flex-end;display:none}[data-nav-state=open] .blog-nav-collapse{display:block}.blog-nav-overlay{display:none}.blog-main-menu{align-items:center;gap:.18rem;margin:0;padding-left:0;list-style:none;display:flex}.blog-menu{margin-left:0}.blog-menu-link{border-radius:var(--blog-radius-sm);min-height:36px;color:color-mix(in srgb, var(--blog-muted) 90%, var(--blog-text-soft));border:1px solid #0000;align-items:center;font-size:.9rem;font-weight:620;text-decoration:none;display:inline-flex;position:relative;padding:.42rem .64rem!important}.blog-menu-link:hover{color:var(--blog-text);background:0 0;border-color:#0000}.blog-menu-link[aria-current]:not([aria-current=false]){color:var(--blog-accent);background:0 0;border-color:#0000;font-weight:680}.blog-menu-link[aria-current]:not([aria-current=false]):after{background:var(--blog-accent);content:"";border-radius:999px;height:1px;position:absolute;bottom:.38rem;left:.68rem;right:.68rem}.blog-nav-toggle{border:1px solid color-mix(in srgb, var(--blog-border) 72%, transparent);border-radius:var(--blog-radius-sm);background:color-mix(in srgb, var(--blog-surface) 72%, transparent);width:40px;height:40px;color:var(--blog-text-soft);box-shadow:none;justify-content:center;align-items:center;padding:0;display:none}.blog-nav-toggle-icon{background-image:none;border-top:2px solid;border-bottom:2px solid;width:18px;height:12px;display:block;position:relative}.blog-nav-toggle-icon:before{content:"";background:currentColor;height:2px;position:absolute;top:3px;left:0;right:0}.section-heading,.blog-taxonomy-header{border-bottom:1px solid var(--blog-border)}.section-heading{padding:var(--space-section) 0 1.25rem}.section-heading-home{padding-top:1.05rem}.section-intro{padding:1.1rem 0 0}.blog-page-header,.section-intro-panel{border:1px solid var(--blog-border);border-radius:var(--blog-radius);background:var(--blog-surface);padding:1.25rem}.blog-page-header{width:min(100%, var(--blog-reading-single));border-inline:0;background:0 0;border-top:0;border-bottom:0;border-radius:0;margin-left:auto;margin-right:auto;padding:clamp(1rem,2vw,1.35rem) 0 1rem}.blog-page-header-home{padding-top:clamp(1rem,2vw,1.45rem);padding-bottom:clamp(1rem,1.6vw,1.2rem)}.blog-page-header-home .blog-page-header-main{max-width:var(--blog-reading-single)}.blog-page-header-home .blog-taxonomy-eyebrow{color:var(--blog-muted);font-size:var(--blog-text-meta);letter-spacing:.03em;text-transform:none;margin-bottom:.48rem}.blog-page-header-home .blog-category-title{max-width:16ch;font-size:clamp(2rem,3vw,2.48rem);line-height:1.16}.blog-page-header-home .blog-category-summary{max-width:42rem;margin-top:.76rem;font-size:clamp(.98rem,1.08vw,1.06rem);line-height:1.68}.blog-page-header-compact{padding-top:1rem;padding-bottom:.86rem}.blog-page-header-compact .blog-page-header-main{max-width:var(--blog-reading-single)}.blog-page-header-compact .blog-taxonomy-eyebrow{margin-bottom:.42rem}.blog-page-header-compact .blog-category-title{font-size:clamp(1.5rem,2.3vw,1.95rem);line-height:1.16}.blog-page-header-compact .blog-category-summary{max-width:42rem;margin-top:.5rem;font-size:.95rem;line-height:1.66}.blog-page-header-stream{padding-top:.92rem;padding-bottom:.72rem}.blog-page-header-stream .blog-page-header-main{max-width:var(--blog-reading-single)}.blog-page-header-stream .blog-category-summary{display:none}.blog-page-header-main{max-width:var(--blog-reading-single)}.blog-page-header-shell{display:block}.blog-page-header-shell.has-support{grid-template-columns:minmax(0,1fr) fit-content(22rem);align-items:end;gap:clamp(1rem,2vw,1.5rem);display:grid}.blog-page-header-home .blog-page-header-shell{grid-template-columns:minmax(0,1fr) fit-content(16rem);align-items:end;gap:clamp(1rem,2vw,1.45rem);display:grid}.blog-page-header-home .blog-page-header-support{max-width:16rem;padding-bottom:.14rem}.blog-page-header-home .blog-page-header-meta{justify-content:flex-start}.blog-page-header-support{flex-direction:column;justify-self:end;align-items:flex-end;gap:.82rem;min-width:0;max-width:22rem;padding-bottom:.12rem;display:flex}.blog-page-header-support-card{border:0;border-left:1px solid color-mix(in srgb, var(--blog-border-strong) 64%, transparent);width:100%;max-width:16rem;color:var(--blog-text);background:0 0;border-radius:0;flex-direction:column;gap:.2rem;padding:.55rem 0 0 .82rem;text-decoration:none;display:flex}.blog-page-header-support-card:hover{border-color:var(--blog-accent-line);color:var(--blog-text);background:0 0}.blog-page-header-support-card-label{color:var(--blog-accent);letter-spacing:0;text-transform:none;font-size:.74rem;font-weight:650}.blog-page-header-support-card-title{color:var(--blog-text);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;font-weight:680;line-height:1.34;display:-webkit-box;overflow:hidden}.blog-page-header-support-card-summary{color:var(--blog-text-soft);font-size:.82rem;line-height:1.5;display:none}.blog-page-header-support-card-meta{color:var(--blog-muted);font-size:.76rem;font-weight:520}.section-intro-children{color:var(--blog-muted);flex-wrap:wrap;align-items:center;gap:.6rem .72rem;margin-top:1rem;font-size:.88rem;display:flex}.section-intro-children-label{color:var(--blog-text);font-weight:720}.section-intro-child-link{border:1px solid color-mix(in srgb, var(--blog-border) 92%, transparent);background:color-mix(in srgb, var(--blog-surface) 98%, transparent);min-height:32px;color:var(--blog-text-soft);border-radius:999px;align-items:center;gap:.42rem;padding:.28rem .68rem;text-decoration:none;display:inline-flex}.section-intro-child-link:hover{border-color:color-mix(in srgb, var(--blog-accent) 40%, var(--blog-border));background:color-mix(in srgb, var(--blog-accent-soft) 30%, var(--blog-surface));color:var(--blog-text)}.section-intro-child-title{font-weight:640}.section-intro-child-count{color:var(--blog-muted);font-variant-numeric:tabular-nums;font-size:.76rem}.blog-page-header-meta{justify-content:flex-end;gap:.34rem .64rem;margin-top:0}.blog-page-header-meta span+span{margin-left:.08rem;padding-left:.72rem;position:relative}.blog-page-header-meta span+span:before{background:color-mix(in srgb, var(--blog-border-strong) 68%, transparent);content:"";width:1px;height:.78rem;position:absolute;top:50%;left:0;transform:translateY(-50%)}.blog-page-header-children{justify-content:flex-end;margin-top:0}.home-topic-band{width:min(100%, var(--blog-reading-single));border-bottom:0;margin-left:auto;margin-right:auto;padding:.88rem 0 1rem}.home-rss-link:focus-visible{box-shadow:var(--blog-focus-ring);outline:none}.home-topic-navigation{justify-content:space-between;align-items:center;gap:.75rem 1rem;display:flex}.home-topic-navigation .topic-card,.home-rss-link{min-height:44px}.home-topic-navigation .topic-card{justify-content:center;align-items:center}.home-rss-link{color:var(--blog-muted);flex:none;align-items:center;padding:0 .2rem;font-size:.84rem;text-decoration:none;display:inline-flex}.home-rss-link:hover{color:var(--blog-accent-strong)}.topic-rail{flex-wrap:wrap;align-items:baseline;gap:.42rem .95rem;max-width:100%;margin-top:0;margin-right:auto;padding:0;display:flex}.topic-card{min-height:0}.taxonomy-breadcrumbs{width:min(100%, var(--blog-reading-single));margin-left:auto;margin-right:auto;padding-top:.4rem}.blog-breadcrumbs-nav{padding-top:.85rem}#breadcrumbs{flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;padding-left:0;list-style:none;display:flex}.breadcrumbs-item,.breadcrumbs-separator{color:var(--blog-muted);font-size:var(--blog-text-meta);align-items:center;display:flex}#breadcrumbs .breadcrumbs-separator:last-child{display:none}.breadcrumbs-item a{color:inherit;text-decoration:none}.breadcrumbs-item:last-child a,.breadcrumbs-item[aria-current=page]{color:var(--blog-text-soft)}.blog-post-list{flex-direction:column;display:flex}.post-list-section{width:min(100%, var(--blog-reading-single));margin-left:auto;margin-right:auto;padding-top:.82rem}.post-list-section.is-home{padding-top:.92rem}.post-list-section.is-hub{padding-top:.72rem}.blog-list-intro{border-bottom:0;padding:0 0 .28rem;display:block}.blog-list-intro-title{color:var(--blog-text);margin:0;font-size:.92rem;font-weight:680;line-height:1.3}.blog-list-intro-summary{max-width:34rem;color:var(--blog-muted);margin:0;font-size:.86rem;line-height:1.46}.blog-post-card{border-top:1px solid color-mix(in srgb, var(--blog-border) 58%, transparent);padding:1rem 0 1.08rem}.blog-post-card:first-child{border-top:0}.blog-post-first{display:block}.blog-grid-thumbnail a,.blog-grid-thumbnail img{width:100%;height:100%;display:block}.blog-grid-thumbnail{aspect-ratio:8/5;border:1px solid color-mix(in srgb, var(--blog-border) 78%, transparent);background:var(--blog-surface-muted);border-radius:0;overflow:hidden}.blog-grid-thumbnail img{object-fit:cover;transition:opacity .2s}.blog-post-card-body{flex-direction:column;align-self:start;gap:.34rem;min-width:0;padding-top:0;display:flex}.blog-post-title,.blog-category-title{color:var(--blog-text);letter-spacing:0;text-wrap:balance;margin:0;font-size:clamp(1.6rem,3vw,2.45rem);font-weight:760;line-height:1.16}.blog-post-title{font-size:clamp(1.08rem,1.32vw,1.28rem);font-weight:700;line-height:1.28}.blog-section-title{color:var(--blog-text);text-wrap:balance;margin:0;font-size:clamp(1.85rem,3vw,2.45rem);font-weight:760;line-height:1.14}.blog-post-title>a,.blog-category-title>a{color:inherit;text-decoration:none}.blog-post-summary,.blog-category-summary{color:var(--blog-text-soft);margin:0;line-height:1.8}.blog-post-summary{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.93rem;line-height:1.62;display:-webkit-box;overflow:hidden}.blog-post-meta{color:var(--blog-muted);gap:.26rem .56rem;margin-top:.02rem;padding-top:0;font-size:.8rem}.blog-post-meta i{font-size:var(--blog-text-meta-sm)}.blog-post-author{font-size:1rem;font-weight:700;line-height:1}.blog-post-author-avatar{background-color:var(--blog-surface-muted);background-size:cover;border-radius:40px;width:40px;height:40px}.blog-taxonomy-header{padding:clamp(1rem,2vw,1.45rem) 0 1.05rem}.blog-taxonomy-eyebrow{color:var(--blog-muted);font-size:var(--blog-text-label);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.55rem;font-weight:760}.blog-featured-posts{width:min(100%, var(--blog-reading-single));border-bottom:0;margin-left:auto;margin-right:auto;padding:.96rem 0 1.02rem}.blog-featured-header{margin-bottom:.5rem;display:block}.blog-featured-grid,.blog-featured-grid.has-lead,.blog-featured-side{display:block}.blog-featured-heading{color:var(--blog-text);margin:0;font-size:.94rem;font-weight:680;line-height:1.3}.blog-featured-summary-intro{max-width:42rem;color:var(--blog-muted);margin:0;font-size:.86rem;line-height:1.46}.blog-featured-kicker{color:var(--blog-accent);letter-spacing:0;text-transform:none;font-size:.74rem;font-weight:620}.topic-card,.blog-featured-card,.blog-term-card{min-height:100%;color:var(--blog-text);background:0 0;border:0;border-radius:0;flex-direction:column;gap:.22rem;padding:.64rem 0 .68rem;text-decoration:none;display:flex}.topic-card:hover,.blog-featured-card:hover,.blog-term-card:hover{color:var(--blog-text);background:0 0;transform:none}.blog-featured-card.is-featured-lead{gap:.22rem;min-height:100%;padding:.64rem 0 .68rem}.blog-featured-thumb{aspect-ratio:16/9;border:1px solid var(--blog-border);background:var(--blog-surface-muted);border-radius:0;display:none;overflow:hidden}.blog-featured-thumb img{object-fit:cover;width:100%;height:100%;display:block}.blog-featured-card.is-featured-lead .blog-featured-title{-webkit-line-clamp:2;line-clamp:2;font-size:.94rem;line-height:1.3}.blog-featured-card.is-featured-lead .blog-featured-summary{-webkit-line-clamp:2;line-clamp:2;font-size:.8rem;line-height:1.48}.topic-card-title,.blog-featured-title,.blog-term-card-title{color:var(--blog-text);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.96rem;font-weight:680;line-height:1.35;display:-webkit-box;overflow:hidden}.topic-card-summary,.blog-featured-summary,.blog-term-card-summary{color:var(--blog-text-soft);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:.78rem;line-height:1.46;display:-webkit-box;overflow:hidden}.topic-card-count,.blog-featured-meta,.blog-term-card-count{color:var(--blog-muted);font-size:var(--blog-text-meta-sm);margin-top:0;padding-top:0;font-weight:520;line-height:1.42}.topic-card{min-height:0;color:var(--blog-text-soft);border-top:0;padding:0;display:inline-flex}.topic-card:hover{color:var(--blog-accent-strong)}.topic-card .topic-card-title{-webkit-line-clamp:1;line-clamp:1;font-size:.92rem;font-weight:560;line-height:1.45}.blog-post-list.is-compact-list .blog-post-card{padding:1rem 0 1.08rem}.blog-post-list.is-compact-list .blog-post-first{display:block}.blog-post-list.is-compact-list .blog-grid-thumbnail{aspect-ratio:16/9;place-self:start;width:164px;min-width:0;max-width:100%}.blog-post-list.is-compact-list .blog-grid-thumbnail img{object-position:left center}.blog-post-list.is-compact-list .blog-post-title{font-size:clamp(1.08rem,1.32vw,1.28rem);font-weight:700;line-height:1.28}.blog-post-list.is-compact-list .blog-post-meta{font-size:.78rem}.blog-post-list.is-compact-list .blog-post-summary{-webkit-line-clamp:2;line-clamp:2;font-size:.93rem;line-height:1.62}.blog-post-list.is-hub-list .blog-post-card{padding:1rem 0 1.08rem}.blog-post-list.is-hub-list .blog-post-first{display:block}.blog-post-list.is-hub-list .blog-grid-thumbnail{aspect-ratio:4/3;justify-self:start;width:156px;max-width:100%}.blog-post-list.is-hub-list .blog-post-card-body{gap:.34rem}.blog-post-list.is-hub-list .blog-post-title{font-size:clamp(1.08rem,1.32vw,1.28rem);font-weight:700;line-height:1.28}.blog-post-list.is-hub-list .blog-post-meta{font-size:.77rem}.blog-post-list.is-hub-list .blog-post-summary{-webkit-line-clamp:2;line-clamp:2;font-size:.93rem;line-height:1.62}.blog-term-grid{width:min(100%, var(--blog-reading-single));grid-template-columns:repeat(5,minmax(0,1fr));gap:.62rem;margin-left:auto;margin-right:auto;display:grid}.blog-term-index{padding:var(--space-article) 0}.blog-term-card.is-compact{flex-direction:row;justify-content:space-between;align-items:center;gap:.62rem;min-height:0;padding:.66rem .78rem}.blog-term-card.is-compact .blog-term-card-title{-webkit-line-clamp:1;line-clamp:1;flex:1;font-size:.92rem;line-height:1.3}.blog-term-card.is-compact .blog-term-card-count{font-size:var(--blog-text-meta-sm);white-space:nowrap;flex:none;line-height:1.25}.single-header-wrap{border-bottom:1px solid var(--blog-chrome-border);position:relative}.single-header-wrap:after{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--blog-border) 32%, transparent) 14%, color-mix(in srgb, var(--blog-border-strong) 28%, transparent) 50%, color-mix(in srgb, var(--blog-border) 32%, transparent) 86%, transparent);pointer-events:none;content:"";height:1px;position:absolute;bottom:-1px;left:0;right:0}.blog-single-post-header{width:100%;padding:clamp(1.08rem,2.2vw,1.6rem) 0 1rem}.single-header-inner{max-width:min(100%, var(--blog-reading-header));min-width:0;margin-inline:auto}.blog-single-post-title{max-width:min(100%, var(--blog-reading-header));min-width:0;color:var(--blog-text);letter-spacing:-.01em;text-wrap:wrap;margin:0 auto;padding-bottom:.7rem;font-size:clamp(1.92rem,2.9vw,2.68rem);font-weight:760;line-height:1.1}.blog-meta-row,.blog-meta-row a{color:color-mix(in srgb, var(--blog-muted) 92%, var(--blog-text-soft));font-size:var(--blog-text-meta);font-weight:500;text-decoration:none}.blog-meta-row{flex-wrap:wrap;align-items:center;gap:.32rem .58rem;display:flex}.blog-meta-row>*{align-items:center;gap:.35rem;display:inline-flex}.blog-meta-row time{font-variant-numeric:tabular-nums}.blog-meta-row i{color:inherit;font-size:.78rem}.blog-single-meta,.blog-single-meta a{color:color-mix(in srgb, var(--blog-muted) 92%, var(--blog-text-soft));font-size:var(--blog-text-meta)}.blog-single-meta{flex-wrap:wrap;align-items:baseline;gap:.4rem 0;padding-bottom:.16rem;display:flex}.blog-single-meta-item{white-space:nowrap;align-items:baseline;gap:.26rem;display:inline-flex}.blog-single-meta-item+.blog-single-meta-item{margin-left:.72rem;padding-left:.72rem;position:relative}.blog-single-meta-item+.blog-single-meta-item:before{background:color-mix(in srgb, var(--blog-border-strong) 68%, transparent);content:"";width:1px;height:.72rem;position:absolute;top:50%;left:0;transform:translateY(-50%)}.blog-single-meta-prefix{color:inherit;font-size:var(--blog-text-meta-sm);font-weight:600}.blog-single-meta-item time{font-variant-numeric:tabular-nums}.blog-single-meta a{text-decoration:none}.blog-single-meta-item-category a{color:inherit;font-weight:500}.blog-single-meta-item-category a:hover{color:var(--blog-accent)}.blog-single-meta-item-updated{color:inherit}.blog-terms{flex-wrap:wrap;align-items:center;gap:.36rem .44rem;margin-top:.38rem;display:flex}.blog-terms-label{color:color-mix(in srgb, var(--blog-muted) 92%, var(--blog-text-soft));font-size:var(--blog-text-meta-sm);font-weight:600}.blog-terms-list{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.blog-terms-list a{border:1px solid var(--blog-chrome-border);background:color-mix(in srgb, var(--blog-surface) 92%, var(--blog-surface-muted));min-height:30px;color:color-mix(in srgb, var(--blog-muted) 92%, var(--blog-text-soft));font-size:var(--blog-text-meta-sm);border-radius:999px;align-items:center;padding:.18rem .7rem;font-weight:500;text-decoration:none;display:inline-flex}.blog-terms-list a:hover{border-color:var(--blog-accent-line);background:var(--blog-accent-panel);color:var(--blog-accent-strong)}.blog-quick-summary.in-single-header{max-width:min(100%, var(--blog-reading-header));margin:.82rem auto 0}.single-layout{grid-template-columns:minmax(0, 1fr) minmax(0, var(--blog-reading-single)) minmax(0, 1fr);column-gap:var(--blog-single-gap);align-items:start;row-gap:1.36rem;width:100%;padding-top:1.54rem;display:grid}.blog-single-post-content{width:100%;max-width:var(--blog-reading-single);grid-column:2;justify-self:center;min-width:0}.blog-single-post-content p{color:color-mix(in srgb, var(--blog-text-soft) 94%, var(--blog-text));font-size:var(--blog-text-summary);text-align:start;margin-bottom:1.02rem;line-height:1.72}.blog-single-post-related li,.blog-single-post-content li{color:color-mix(in srgb, var(--blog-text-soft) 94%, var(--blog-text));text-align:start;margin-bottom:.75rem;line-height:1.72}.blog-single-post-content li{font-size:var(--blog-text-summary)}.blog-single-post-content p+div{margin-bottom:1.25rem}.blog-single-post-content a,.blog-quick-summary.in-single-header a{color:var(--blog-accent);text-decoration:underline}.blog-single-post-content a:hover,.blog-quick-summary.in-single-header a:hover{color:var(--blog-text)}.rss-copy-panel{border:1px solid var(--blog-chrome-border);background:color-mix(in srgb, var(--blog-surface) 94%, var(--blog-surface-muted));border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.7rem;margin:1rem 0 1.35rem;padding:.72rem;display:grid}.rss-copy-content{gap:.24rem;min-width:0;display:grid}.rss-copy-label{color:var(--blog-muted);font-size:var(--blog-text-label);font-weight:650;line-height:1.35}.blog-single-post-content .rss-copy-input{width:100%;min-width:0;height:2.45rem;color:var(--blog-text);font-family:var(--blog-font-mono);text-overflow:ellipsis;background:0 0;border:0;padding:0;font-size:.95rem;line-height:1.4}.rss-copy-input:focus{outline:none}.rss-copy-button{border:1px solid var(--blog-accent-line);background:var(--blog-accent-panel);min-width:6.4rem;height:2.45rem;color:var(--blog-accent-strong);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-self:center;align-items:center;padding:0 .92rem;font-size:.9rem;font-weight:700;line-height:1;transition:color .2s,border-color .2s,background-color .2s,transform .2s;display:inline-flex}.rss-copy-button:hover,.rss-copy-button:focus-visible{border-color:color-mix(in srgb, var(--blog-accent) 74%, transparent);background:color-mix(in srgb, var(--blog-accent-soft) 70%, var(--blog-surface));color:var(--blog-text)}.rss-copy-button:focus-visible{box-shadow:var(--blog-focus-ring);outline:none}.rss-copy-button:active{transform:translateY(1px)}.blog-single-post-content ol,.blog-single-post-content ul{margin-top:.94rem;margin-bottom:1.18rem;padding-left:1.5rem}.blog-single-post-content ul{list-style:square}.blog-single-post-content ol{list-style:decimal}.blog-single-post-content h2{border-bottom:1px solid var(--blog-border);color:var(--blog-text);margin-top:2.5rem;margin-bottom:.88rem;padding-bottom:.56rem;font-size:clamp(1.6rem,2.25vw,1.82rem);font-weight:760;line-height:1.24}.blog-task-next-steps{border:1px solid var(--blog-border);background:var(--blog-surface-muted);margin-top:2.4rem;padding:1rem 1.1rem}.blog-single-post-content .blog-task-next-steps h2{border:0;margin:0 0 .65rem;padding:0;font-size:1.12rem}.blog-single-post-content .blog-task-next-steps ul{gap:.42rem;margin:0;display:grid}.blog-single-post-content h3{color:var(--blog-text);margin-top:2rem;margin-bottom:.68rem;font-size:1.28rem;font-weight:700;line-height:1.3}.blog-single-post-content h4{color:var(--blog-text);margin-top:1.72rem;margin-bottom:.56rem;font-size:1.04rem;font-weight:700;line-height:1.32}.blog-single-post-content h2[id],.blog-single-post-content h3[id],.blog-single-post-content h4[id]{scroll-margin-top:var(--blog-scroll-offset)}.blog-figure,.blog-single-inline-thumb{margin:1.75rem 0 2rem}.blog-single-inline-thumb{margin-top:0}.blog-figure{display:block}.blog-figure img,.blog-single-inline-thumb img{max-width:100%;margin-inline:auto;display:block}.blog-figure-caption{max-width:44rem;color:color-mix(in srgb, var(--blog-muted) 94%, var(--blog-text-soft));font-size:var(--blog-text-meta);text-align:center;text-wrap:pretty;margin:.66rem auto 0;line-height:1.58}.blog-figure-caption p{margin:0}.blog-figure-caption a{color:inherit;text-decoration-color:color-mix(in srgb, var(--blog-muted) 65%, transparent)}.blog-figure-caption a:hover{color:var(--blog-accent)}.blog-single-post-content p>strong{color:var(--blog-text);font-weight:700}.blog-table-wrap{border:1px solid color-mix(in srgb, var(--blog-border-strong) 32%, var(--blog-border));background:color-mix(in srgb, var(--blog-surface-muted) 42%, var(--blog-surface));-webkit-overflow-scrolling:touch;scrollbar-width:thin;border-radius:0;width:100%;margin:1.2rem 0 1.32rem;position:relative;overflow:auto hidden}.blog-table-wrap:before,.blog-table-wrap:after{z-index:2;pointer-events:none;opacity:0;content:"";width:1.6rem;transition:opacity .2s;position:absolute;top:0;bottom:0}.blog-table-wrap:before{background:linear-gradient(to right, color-mix(in srgb, var(--blog-surface) 96%, transparent), transparent);left:0}.blog-table-wrap:after{background:linear-gradient(to left, color-mix(in srgb, var(--blog-surface) 96%, transparent), transparent);right:0}.blog-table-wrap.is-overflowing:not(.is-at-start):before,.blog-table-wrap.is-overflowing:not(.is-at-end):after{opacity:1}.blog-table-wrap>table,.blog-single-post-content>table{border-collapse:collapse;table-layout:auto;background:var(--blog-surface);word-break:normal;width:max(100%,34rem);margin:0}.blog-table-wrap[data-cols="2"]{width:min(100%,60rem);margin-left:auto;margin-right:auto}.blog-table-wrap[data-cols="2"]>table{width:100%}.blog-content-table[data-cols="2"]:not(.is-reference-table){table-layout:fixed;width:100%}.blog-content-table[data-cols="2"]:not(.is-reference-table) th,.blog-content-table[data-cols="2"]:not(.is-reference-table) td{width:50%}.blog-content-table[data-cols="3"]:not(.is-reference-table){table-layout:fixed;width:max(100%,36rem)}.blog-content-table.is-reference-table{table-layout:auto;width:max(100%,44rem)}.blog-content-table.is-reference-table th:first-child,.blog-content-table.is-reference-table td:first-child{white-space:nowrap}.blog-content-table[data-cols="2"]:not(.is-reference-table) td code,.blog-content-table[data-cols="2"]:not(.is-reference-table) th code{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.blog-single-post-content th,.blog-single-post-content td{border:1px solid var(--blog-border);vertical-align:top;font-size:var(--blog-text-summary);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;word-break:break-word;padding:.68rem .82rem;line-height:1.52}.blog-single-post-content th{color:var(--blog-text);background-color:color-mix(in srgb, var(--blog-surface-muted) 92%, var(--blog-surface));font-weight:760}.blog-single-post-content tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--blog-surface-muted) 72%, var(--blog-surface))}.blog-single-post-content tbody tr:hover td{background:color-mix(in srgb, var(--blog-accent-soft) 16%, var(--blog-surface))}.blog-figure img,.blog-single-inline-thumb img,.blog-single-post-content table img{border:1px solid var(--blog-border);max-width:100%;max-height:600px;box-shadow:none;cursor:pointer;border-radius:10px;transition:border-color .2s,opacity .2s}.blog-figure img:hover,.blog-single-inline-thumb img:hover,.blog-single-post-content table img:hover{border-color:color-mix(in srgb, var(--blog-accent) 55%, var(--blog-border));opacity:.94}.blog-content-table.is-reference-table td code{white-space:nowrap;overflow-wrap:normal;word-break:normal}.blog-single-post-content :where(p,li,td,th) code{border-color:color-mix(in srgb, var(--blog-border) 58%, transparent);background:color-mix(in srgb, var(--blog-surface-muted) 58%, var(--blog-surface));padding:.05rem .28rem;font-size:.86em;line-height:1.45}.blog-single-post-content .highlight{border:1px solid color-mix(in srgb, var(--blog-border-strong) 24%, var(--blog-border));background:var(--blog-code-bg);-webkit-overflow-scrolling:touch;scrollbar-width:thin;border-radius:12px;max-width:100%;margin:1.2rem 0 1.32rem;position:relative;overflow:auto hidden}.blog-single-post-content .highlight:before,.blog-single-post-content .highlight:after{z-index:2;pointer-events:none;opacity:0;content:"";transition:opacity .2s;position:absolute}.blog-single-post-content .highlight:before{background:linear-gradient(to left, color-mix(in srgb, var(--blog-code-bg) 96%, transparent), transparent);width:1.75rem;top:0;bottom:0;right:0}.blog-single-post-content .highlight.is-overflowing:not(.is-at-end):before{opacity:1}.blog-single-post-content .highlight>pre,.blog-single-post-content .highlight .chroma{min-width:max-content;color:var(--blog-code-text);tab-size:4;margin:0;padding:.92rem 1.04rem;font-size:.875rem;line-height:1.58;overflow:visible;background:0 0!important}.blog-single-post-content .highlight .line{min-width:max-content}.blog-single-post-content .highlight .ln{color:#7d8590;border-right:1px solid #c9d1d92e;min-width:2.15rem;margin-right:.72rem;padding-right:.62rem}.blog-single-post-content .highlight .cl{min-width:0}.blog-quick-summary{border:1px solid var(--blog-chrome-border);background:color-mix(in srgb, var(--blog-surface) 96%, var(--blog-surface-muted));box-shadow:none;border-radius:12px;grid-template-columns:1fr;align-items:start;gap:.24rem;margin-bottom:.72rem;padding:.72rem .86rem .76rem;display:grid}.blog-quick-summary>.blog-quick-summary-label{color:color-mix(in srgb, var(--blog-muted) 92%, var(--blog-text-soft));font-size:var(--blog-text-meta-sm);letter-spacing:.02em;text-transform:none;margin-bottom:0;font-weight:600;line-height:1.4}.blog-quick-summary p:last-child{margin-bottom:0}.blog-quick-summary p{color:color-mix(in srgb, var(--blog-text-soft) 94%, var(--blog-text));font-size:var(--blog-text-summary);line-height:1.62}.blog-quick-summary code{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.blog-author-box-avatar{border:1px solid color-mix(in srgb, var(--blog-chrome-border) 82%, transparent);object-fit:cover;width:64px;max-width:64px;height:64px;box-shadow:none;border-radius:999px}.blog-single-post-content .blog-author-box-name{color:var(--blog-text);border:0;margin:0;padding:0;font-size:1rem;font-weight:700;line-height:1.24}.blog-single-disqus,.blog-social-share,.blog-author-box,.blog-post-prev-next{margin-top:2.25rem;margin-bottom:0}.blog-author-box{border:1px solid var(--blog-chrome-border);color:var(--blog-text-soft);background:0 0;border-width:1px 0 0;border-radius:0;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.76rem .95rem;padding:1.05rem 0 0;display:grid}.blog-author-box-media{flex:none}.blog-author-box-content{min-width:0;padding-top:.08rem}.blog-author-box-header{flex-wrap:wrap;align-items:baseline;gap:.22rem .52rem;margin-bottom:.2rem;display:flex}.blog-author-box-role{color:var(--blog-muted);margin:0;font-size:.82rem;line-height:1.5}.blog-author-box-description{max-width:44rem;color:color-mix(in srgb, var(--blog-text-soft) 88%, var(--blog-muted));margin:0 0 .74rem;font-size:.88rem;line-height:1.58}.blog-author-links{flex-wrap:wrap;gap:.4rem;display:flex}.blog-author-links a{border:1px solid var(--blog-chrome-border);width:2rem;min-width:2rem;height:2rem;color:color-mix(in srgb, var(--blog-text-soft) 90%, var(--blog-text));background:0 0;border-radius:999px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.blog-author-links a .blog-icon{width:.92rem;height:.92rem}.blog-author-links a:hover{border-color:var(--blog-accent-line);color:var(--blog-accent-strong);background:0 0;transform:none}.blog-post-prev-next-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.blog-single-post-content .blog-post-prev-next-card{border:1px solid var(--blog-chrome-border);min-height:0;color:var(--blog-text);box-shadow:none;background:0 0;border-radius:12px;flex-direction:column;justify-content:flex-start;gap:.34rem;padding:.88rem .92rem;text-decoration:none;display:flex}.blog-single-post-content .blog-post-prev-next-card:hover,.blog-single-post-content .blog-post-prev-next-card:focus,.blog-single-post-content .blog-post-prev-next-card:active{color:var(--blog-text);text-decoration:none}.blog-single-post-content .blog-post-prev-next-card:hover{border-color:var(--blog-accent-line);background:0 0;transform:none}.blog-post-prev-next-card-next:only-child{grid-column:2}.blog-post-prev-next-card-next{text-align:right;align-items:flex-end}.blog-post-prev-next-label{color:var(--blog-muted);letter-spacing:0;align-items:center;gap:.36rem;font-size:.78rem;font-weight:500;display:inline-flex}.blog-post-prev-next-title{color:var(--blog-text);text-wrap:pretty;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.96rem;font-weight:600;line-height:1.45;display:-webkit-box;overflow:hidden}.blog-post-prev-next-meta{color:var(--blog-muted);flex-wrap:wrap;gap:.24rem .46rem;margin-top:.1rem;font-size:.78rem;font-weight:500;line-height:1.45;display:flex}.blog-post-prev-next-meta>*{align-items:center;display:inline-flex}.blog-post-prev-next-category{color:color-mix(in srgb, var(--blog-text-soft) 82%, var(--blog-text))}.blog-post-prev-next-card-next .blog-post-prev-next-meta{justify-content:flex-end}.blog-discussion-shell{border:1px solid var(--blog-chrome-border);background:0 0;border-width:1px 0 0;border-radius:0;padding:1rem 0 0}.blog-single-disqus .giscus,.blog-single-disqus iframe.giscus-frame{width:100%}.blog-ad{width:100%;color:var(--blog-muted)}.blog-ad-label{color:color-mix(in srgb, var(--blog-muted) 80%, transparent);text-align:center;margin-bottom:.4rem;font-size:.68rem;font-weight:600;line-height:1;display:block}.blog-ad-sidebar{min-height:var(--blog-sidebar-ad-height);padding:.56rem 0 .72rem var(--blog-sidebar-ad-pad-left);border-left:1px solid color-mix(in srgb, var(--blog-chrome-border) 56%, transparent);overflow:hidden}.blog-ad-sidebar .adsbygoogle{width:var(--blog-sidebar-ad-width);min-height:var(--blog-sidebar-ad-height);max-height:none}.blog-ad-after-content{border:1px solid var(--blog-chrome-border);border-width:1px 0;margin:2.25rem 0 1.75rem;padding:1rem 0}.blog-ad-after-content .adsbygoogle{min-height:180px}.blog-aside{top:var(--blog-sticky-top);max-width:var(--blog-aside);margin-left:calc(var(--blog-single-gap) * .08);box-sizing:border-box;color:color-mix(in srgb, var(--blog-muted) 92%, var(--blog-text-soft));font-size:var(--blog-text-support);flex-direction:column;grid-column:3;place-self:start;gap:.72rem;padding-top:.36rem;display:flex;position:sticky;width:var(--blog-aside)!important}.blog-aside-panel{border:0;border-left:1px solid var(--blog-chrome-border);background:0 0;border-radius:0;width:100%;padding:.56rem 0 .56rem .82rem}.blog-single-toc.blog-aside-panel{border-color:color-mix(in srgb, var(--blog-chrome-border) 56%, transparent);background:0 0}.blog-single-toc-desktop .blog-single-toc-body{max-height:min(22rem, calc(100dvh - var(--blog-sticky-top) - 4rem))}.blog-single-toc{flex-direction:column;min-height:0;display:flex;overflow:hidden}.blog-single-toc-body{min-height:0;max-height:calc(100dvh - var(--blog-sticky-top) - var(--blog-aside-reserve));overscroll-behavior:contain;scrollbar-width:thin;padding-top:.46rem;padding-right:.14rem;overflow-y:auto}.blog-aside-title{color:color-mix(in srgb, var(--blog-muted) 84%, var(--blog-text-soft));font-size:var(--blog-text-summary);letter-spacing:0;align-items:center;gap:.44rem;font-weight:650;display:inline-flex}.blog-aside-title-icon,.blog-inline-toc-summary-icon{width:1.25rem;height:1.25rem;color:color-mix(in srgb, var(--blog-muted) 82%, var(--blog-text-soft));box-shadow:none;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.blog-aside-title-icon .blog-icon,.blog-inline-toc-summary-icon .blog-icon{width:.76rem;height:.76rem}.blog-toc-nav{min-width:0}.blog-toc-nav>ul{padding-bottom:.12rem}.blog-toc-nav ul,.blog-toc-nav li{color:inherit;line-height:inherit;margin-bottom:0;padding-left:0;list-style:none!important}.blog-toc-nav a{color:color-mix(in srgb, var(--blog-muted) 92%, var(--blog-text-soft));font-size:var(--blog-text-meta);text-wrap:pretty;border-radius:8px;padding:.23rem .38rem;line-height:1.48;text-decoration:none;display:block}.blog-toc-nav>ul>li{padding-top:var(--toc-group-gap);padding-left:var(--toc-root-indent);border-left:2px solid #0000}.blog-toc-nav>ul>li:first-child{padding-top:0}.blog-toc-nav>ul>li>a{color:color-mix(in srgb, var(--blog-muted) 86%, var(--blog-text-soft));font-size:var(--blog-text-meta);padding-top:.24rem;padding-bottom:.24rem;padding-left:.36rem;font-weight:560;line-height:1.42}.blog-toc-nav ul ul{border-left:1px solid color-mix(in srgb, var(--blog-chrome-border-strong) 62%, transparent);margin-top:.34rem;margin-left:.24rem;padding-left:.92rem}.blog-toc-nav ul ul li{margin-top:var(--toc-leaf-gap);border-left:0;padding-left:0}.blog-toc-nav ul ul a{color:color-mix(in srgb, var(--blog-muted) 90%, var(--blog-text-soft));font-size:var(--blog-text-toc-child);padding-top:.18rem;padding-bottom:.18rem;padding-left:1rem;font-weight:500;line-height:1.48;position:relative}.blog-toc-nav ul ul ul{margin-left:.12rem;padding-left:.78rem}.blog-toc-nav ul ul ul a{font-size:var(--blog-text-toc-deep);padding-left:.92rem}.blog-toc-nav ul ul a:before{background:color-mix(in srgb, var(--blog-chrome-border-strong) 62%, transparent);content:"";width:.42rem;height:1px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.blog-toc-nav ul ul .blog-toc-active:before{background:var(--blog-accent-line);width:.58rem}.blog-toc-nav a:hover{background:color-mix(in srgb, var(--blog-accent-soft) 24%, transparent);color:var(--blog-accent-strong)}.blog-toc-nav .blog-toc-active{background:color-mix(in srgb, var(--blog-accent-soft) 24%, transparent);color:var(--blog-accent-strong);font-weight:580}.blog-toc-nav{margin-top:0}.blog-inline-toc{border:1px solid var(--blog-chrome-border);background:var(--blog-chrome-surface);border-radius:16px;margin-bottom:1.35rem;display:none}.blog-inline-toc[open]{background:linear-gradient(180deg, color-mix(in srgb, var(--blog-accent-soft) 18%, var(--blog-surface)) 0%, var(--blog-chrome-surface) 100%)}.blog-inline-toc-summary{color:var(--blog-text);cursor:pointer;user-select:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .82rem;list-style:none;display:flex}.blog-inline-toc-summary::-webkit-details-marker{display:none}.blog-inline-toc-summary-label{font-size:var(--blog-text-summary);align-items:center;gap:.56rem;font-weight:710;line-height:1.35;display:inline-flex}.blog-inline-toc-summary-caret{color:var(--blog-accent-strong);flex:none;align-items:center;font-size:.9rem;line-height:1;transition:transform .2s;display:inline-flex}.blog-inline-toc[open] .blog-inline-toc-summary-caret{transform:rotate(180deg)}.blog-inline-toc-body{border-top:1px solid var(--blog-chrome-border);overscroll-behavior:contain;scrollbar-width:thin;max-height:min(15rem,38vh);padding:0 .82rem .78rem;overflow-y:auto}.blog-inline-toc-body nav{padding-top:.62rem}.blog-subscribe-form{gap:.56rem;display:grid}.blog-subscribe-input,.blog-subscribe-button{width:100%;min-height:40px;font-family:var(--blog-font-sans);border-radius:10px;font-size:.84rem}.blog-subscribe-input{border:1px solid color-mix(in srgb, var(--blog-chrome-border) 82%, transparent);background:color-mix(in srgb, var(--blog-surface) 78%, transparent);color:var(--blog-text-soft);padding:0 .84rem}.blog-subscribe-input::placeholder{color:var(--blog-muted)}.blog-subscribe-input:focus,.blog-subscribe-button:focus{box-shadow:var(--blog-focus-ring);outline:none}.blog-subscribe-button{border:1px solid color-mix(in srgb, var(--blog-text-soft) 18%, var(--blog-chrome-border));background:color-mix(in srgb, var(--blog-text) 88%, var(--blog-accent));color:var(--blog-bg);font-weight:680}.blog-subscribe-button:hover,.blog-subscribe-button:focus{border-color:color-mix(in srgb, var(--blog-accent) 42%, var(--blog-text));background:var(--blog-accent-strong);color:var(--blog-bg)}.pagination{flex-wrap:wrap;justify-content:center;gap:.22rem;margin-top:1.55rem;margin-bottom:0;padding-left:0;list-style:none;display:flex}.blog-pagination{border-top:1px solid color-mix(in srgb, var(--blog-border) 84%, transparent);justify-content:center;margin-top:.34rem;padding-top:.82rem;display:flex}.page-item{flex:none}.page-item-status .page-link,.page-item-status .page-link:hover{color:var(--blog-muted);box-shadow:none;cursor:default;background:0 0;border-color:#0000}.page-item .page-link{border:1px solid color-mix(in srgb, var(--blog-border) 84%, transparent);background:color-mix(in srgb, var(--blog-surface-card) 98%, transparent);min-width:40px;min-height:40px;color:var(--blog-muted);border-radius:12px;justify-content:center;align-items:center;gap:.32rem;padding:0 .74rem;font-size:.9rem;font-weight:630;text-decoration:none;display:inline-flex}.page-item .page-link span{line-height:1}.page-item-nav .page-link{min-width:0;padding:0 .82rem;font-weight:680}.page-item-status{display:none}.page-item-status .page-link{min-width:0;color:var(--blog-text);padding:0 .82rem;font-weight:700}.page-link-icon{font-size:.78rem}.page-link-label{white-space:nowrap}.page-link-label-short{display:none}.page-item-ellipsis .page-link{background:0 0;border-color:#0000;min-width:2rem;padding:0 .2rem}.page-item .page-link:hover{border-color:var(--blog-border-strong);background:var(--blog-surface);color:var(--blog-text);transform:translateY(-1px)}.page-item.active .page-link{border-color:var(--blog-accent);background:var(--blog-accent);color:var(--blog-bg)}.page-item.disabled .page-link{color:color-mix(in srgb, var(--blog-muted) 88%, var(--blog-border-strong));pointer-events:none;opacity:.72;border-color:#0000}.site-footer{border-top:1px solid color-mix(in srgb, var(--blog-chrome-border) 72%, transparent);background:color-mix(in srgb, var(--blog-surface-footer) 82%, var(--blog-bg));color:var(--blog-muted);margin-top:clamp(1.35rem,2.6vw,2.1rem)}.not-found-page{padding:var(--space-section) 0}.footer-grid{grid-template-columns:minmax(0,1.35fr) minmax(170px,.58fr) minmax(280px,.9fr) minmax(210px,.68fr);gap:clamp(1rem,2vw,1.7rem);padding-top:clamp(1.36rem,2.15vw,1.9rem);padding-bottom:clamp(1.36rem,2.15vw,1.9rem);display:grid}.footer-grid>:not(:first-child){border-left:0;padding-left:0}.footer-logo{margin-bottom:0}.footer-brand{flex-direction:column;gap:.48rem;display:flex}.footer-brand-meta{color:var(--blog-muted);font-size:var(--blog-text-meta);margin:0;line-height:1.5}.footer-brand p{max-width:30rem;color:color-mix(in srgb, var(--blog-text-soft) 88%, var(--blog-muted));margin:0;font-size:.9rem;line-height:1.62}.footer-links{flex-direction:column;gap:.24rem;display:flex}.footer-heading{color:color-mix(in srgb, var(--blog-text-soft) 90%, var(--blog-muted));letter-spacing:0;margin-bottom:.28rem;font-size:.78rem;font-weight:680}.footer-links a{min-height:1.72rem;color:color-mix(in srgb, var(--blog-muted) 82%, var(--blog-text-soft));align-items:center;font-size:.9rem;text-decoration:none;display:inline-flex}.footer-links a:hover{color:var(--blog-accent)}.footer-links[aria-label=主要導覽] a{font-weight:580}.footer-subscribe{background:0 0;border:0;border-radius:0;flex-direction:column;gap:.64rem;padding:0;display:flex}.footer-subscribe-heading{align-items:center;gap:.36rem;margin-bottom:0;display:flex}.footer-subscribe-heading .blog-icon{display:none}.footer-subscribe-body{gap:.56rem;display:grid}.footer-subscribe-note{color:color-mix(in srgb, var(--blog-muted) 88%, var(--blog-text-soft));margin:0;font-size:.83rem;line-height:1.54}.footer-meta{color:var(--blog-muted);flex-wrap:wrap;place-content:flex-start;align-items:center;gap:.2rem .38rem;font-size:.83rem;line-height:1.55;display:flex}.footer-meta a{color:color-mix(in srgb, var(--blog-muted) 82%, var(--blog-text-soft));text-decoration:none}.footer-meta a:hover{color:var(--blog-accent)}.footer-meta-separator{display:none}.footer-meta-note{color:color-mix(in srgb, var(--blog-muted) 92%, var(--blog-text-soft))}.highlight{isolation:isolate;max-width:100%}.st-btn{cursor:pointer}@media (width<=1180px){.topic-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.blog-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-term-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.blog-featured-grid,.blog-term-grid{gap:.72rem}.blog-post-first{grid-template-columns:minmax(220px,.82fr) minmax(0,1fr)}.single-layout{grid-template-columns:minmax(0,1fr)}.blog-single-post-content{grid-column:1}.blog-aside{display:none}.blog-inline-toc{display:block}}@media (width>=992px){.blog-nav-collapse{display:flex!important}}@media (width<=991.98px){body.blog-nav-open{overflow:hidden}.blog-header{flex-wrap:nowrap;min-height:50px;padding-top:.16rem;padding-bottom:.08rem;padding-right:2.5rem}.blog-search-desktop,.blog-name-sub{display:none}.blog-nav-toggle{border-radius:10px;width:48px;height:48px;margin-left:0;display:inline-flex;position:absolute;top:.14rem;right:.5rem}.blog-nav-collapse{top:calc(var(--blog-mobile-nav-offset) + .24rem);z-index:70;width:auto;max-height:calc(100dvh - var(--blog-mobile-nav-offset) - .85rem);border:1px solid color-mix(in srgb, var(--blog-chrome-border) 84%, transparent);background:color-mix(in srgb, var(--blog-surface) 96%, transparent);overscroll-behavior:contain;box-shadow:0 14px 30px color-mix(in srgb, var(--blog-text) 8%, transparent);border-radius:12px;margin-left:0;padding:.42rem;display:none;position:fixed;left:.75rem;right:.75rem;overflow-y:auto}[data-nav-state=open] .blog-nav-collapse{display:block}.blog-nav-overlay{top:var(--blog-mobile-nav-offset);z-index:50;background:color-mix(in srgb, var(--blog-bg) 74%, transparent);opacity:0;pointer-events:none;backdrop-filter:blur(8px);border:0;width:auto;height:auto;padding:0;transition:opacity .2s;display:block;position:fixed;bottom:0;left:0;right:0;transform:none}[data-nav-state=open] .blog-nav-overlay{opacity:1;pointer-events:auto}.blog-main-menu{flex-direction:column;align-items:stretch;gap:.1rem;padding:0}.blog-nav-search-panel{border-bottom:1px solid color-mix(in srgb, var(--blog-chrome-border) 78%, transparent);flex-direction:column;gap:.24rem;margin-bottom:.32rem;padding:.18rem .2rem .44rem;display:flex}.blog-nav-search-eyebrow{display:none}.blog-search-drawer{width:100%;margin-left:0}.blog-search-drawer input{min-height:38px;padding-right:6.15rem;border-radius:10px!important}.blog-search-drawer .blog-search-submit{border:1px solid color-mix(in srgb, var(--blog-text-soft) 18%, var(--blog-chrome-border));background:color-mix(in srgb, var(--blog-text) 88%, var(--blog-accent));width:auto;min-width:4.95rem;color:var(--blog-bg);gap:.28rem;padding:0 .72rem;right:.25rem}.blog-search-drawer .blog-search-submit span{letter-spacing:0;font-size:.76rem;font-weight:660;display:inline}.blog-nav-search-note{display:none}.blog-menu-link{border-radius:10px;justify-content:flex-start;width:100%;min-height:42px;font-size:.9rem;padding-left:.82rem!important;padding-right:.82rem!important}.blog-menu-link[aria-current]:not([aria-current=false]):after{width:2px;height:auto;inset:.65rem auto .65rem .35rem}.topic-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem;padding-top:1.5rem;padding-bottom:1.75rem}.footer-grid>:not(:first-child){border-left:0;padding-left:0}.footer-brand{border-bottom:1px solid color-mix(in srgb, var(--blog-chrome-border) 74%, transparent);grid-column:1/-1;margin-bottom:.1rem;padding-bottom:.78rem}.footer-links{gap:.3rem}.footer-meta{grid-column:1/-1;padding-top:.12rem}}@media (width<=768px){.home-topic-navigation{flex-direction:column;align-items:flex-start;gap:.15rem}.home-rss-link{padding:0}:root{--space-section:2rem;--space-article:1.5rem;--space-card:1rem;--blog-text-summary:.9rem}.taxonomy-breadcrumbs{padding-top:.12rem}.blog-breadcrumbs-nav{padding-top:.42rem}.breadcrumbs-item,.breadcrumbs-separator{font-size:.82rem}.blog-breadcrumbs-nav-article .breadcrumbs-item[aria-current=page],.blog-breadcrumbs-nav-article .breadcrumbs-item[aria-current=page]+.breadcrumbs-separator,.blog-breadcrumbs-nav-article .breadcrumbs-separator:has(+.breadcrumbs-item[aria-current=page]){display:none}.site-shell,.site-main{width:calc(100% - (var(--blog-shell-gutter-mobile) * 2));max-width:var(--blog-shell)}.site-main{padding-top:.9rem}.blog-page-header-home{padding-top:.72rem;padding-bottom:.78rem}.blog-page-header-home .blog-page-header-shell{grid-template-columns:1fr;gap:.44rem}.blog-page-header-home .blog-page-header-support{max-width:none;padding-bottom:0}.blog-page-header-support-card{border-left:0;border-top:1px solid color-mix(in srgb, var(--blog-border) 88%, transparent);max-width:none;padding:.5rem 0 0}.blog-page-header-home .blog-category-title{max-width:22rem;font-size:clamp(1.5rem,6.9vw,2.12rem);line-height:1.14}.blog-page-header-home .blog-category-summary{margin-top:.56rem;font-size:.89rem;line-height:1.5}.home-topic-band{padding-top:.72rem;padding-bottom:.78rem}.topic-rail{align-items:baseline;gap:.46rem .58rem;margin-top:0}.topic-card{border-top:0;gap:.24rem;min-height:0;padding:0}.topic-card-title,.blog-featured-title,.blog-term-card-title{font-size:.92rem}.topic-card-summary,.blog-featured-summary,.blog-term-card-summary{-webkit-line-clamp:1;line-clamp:1;flex:none;font-size:.8rem}.topic-card-count,.blog-featured-meta,.blog-term-card-count{font-size:var(--blog-text-meta-sm);margin-top:0;padding-top:0}.blog-post-first{grid-template-columns:1fr;gap:.85rem}.blog-post-card{padding:.98rem 0}.post-list-section.is-home .blog-grid-thumbnail{aspect-ratio:16/8}.blog-post-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(1rem,4.5vw,1.24rem);line-height:1.16;display:-webkit-box;overflow:hidden}.blog-post-summary{-webkit-line-clamp:2;line-clamp:2;font-size:.89rem;line-height:1.58}.blog-post-meta{padding-top:0;font-size:.77rem}.post-list-section{padding-top:.64rem}.post-list-section.is-home{padding-top:.76rem}.blog-list-intro{gap:.24rem;padding-bottom:.46rem}.blog-list-intro-title{font-size:.94rem}.blog-list-intro-summary{font-size:.84rem;line-height:1.48}.blog-featured-posts{padding-top:.56rem;padding-bottom:.68rem}.blog-featured-header{margin-bottom:.42rem;display:block}.blog-featured-heading{font-size:.98rem}.blog-featured-summary-intro{margin-top:.3rem;font-size:.84rem;line-height:1.48}.blog-taxonomy-header,.blog-page-header{padding:.66rem 0 .74rem}.blog-page-header-shell.has-support{grid-template-columns:1fr;gap:.36rem}.blog-page-header-support{align-items:flex-start;gap:.5rem;padding-bottom:0}.blog-category-title{font-size:clamp(1.48rem,6.6vw,1.94rem);line-height:1.14}.blog-category-summary{font-size:.88rem;line-height:1.5}.section-intro-children{gap:.5rem .56rem;font-size:.84rem}.section-intro-child-link{min-height:30px;padding:.24rem .58rem}.section-intro-child-count{font-size:.72rem}.blog-featured-grid,.blog-term-grid{gap:.62rem}.blog-featured-grid{grid-template-columns:1fr;gap:.42rem}.blog-featured-grid.has-lead{grid-template-columns:1fr}.blog-featured-side{gap:.42rem}.blog-featured-card{gap:.24rem;padding:.54rem 0 0}.blog-featured-card.is-featured-lead{grid-row:auto;gap:.24rem;padding:.54rem 0 0}.blog-featured-title{font-size:.92rem}.blog-featured-summary{-webkit-line-clamp:2;line-clamp:2;font-size:.79rem;line-height:1.46;display:-webkit-box}.blog-featured-meta{font-size:.73rem}.blog-term-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-inline-toc{background:color-mix(in srgb, var(--blog-surface) 98%, transparent);margin-top:.04rem;margin-bottom:1rem}.blog-post-list.is-compact-list .blog-post-first{grid-template-columns:76px minmax(0,1fr);gap:.62rem}.blog-post-list.is-compact-list .blog-grid-thumbnail{aspect-ratio:4/3}.blog-post-list.is-compact-list .blog-post-card{padding:1rem 0 1.08rem}.blog-post-list.is-compact-list .blog-post-card-body{gap:.32rem}.blog-post-list.is-compact-list .blog-post-title{-webkit-line-clamp:3;line-clamp:3;font-size:clamp(1rem,4.5vw,1.24rem);line-height:1.24}.blog-post-list.is-compact-list .blog-post-meta{gap:.14rem .34rem;font-size:.74rem}.blog-post-list.is-compact-list .blog-post-meta i{font-size:.72rem}.blog-post-list.is-compact-list .blog-post-summary{-webkit-line-clamp:2;line-clamp:2;font-size:.89rem;line-height:1.58}.blog-inline-toc-summary{padding:.64rem .74rem}.blog-inline-toc-body{padding-left:.74rem;padding-right:.74rem}.blog-page-header-meta{justify-content:flex-start;gap:.24rem .48rem}.blog-page-header-meta span+span{margin-left:0;padding-left:.42rem}.blog-page-header-meta span+span:before{height:.68rem}.blog-page-header-children{justify-content:flex-start}.pagination{flex-wrap:wrap;justify-content:center;gap:.22rem}.page-item-status{display:block}.pagination .page-item:not(.page-item-nav):not(.page-item-status){display:none}.page-item .page-link{border-radius:10px;min-width:2.5rem;min-height:2.5rem;padding:0 .5rem;font-size:.84rem}.page-item-nav .page-link{min-width:2.5rem;padding:0 .56rem}.page-item-status .page-link{min-width:auto;padding:0 .78rem;font-size:.82rem}.page-link-label-long{display:none}.page-link-label-short{font-size:.76rem;display:inline}.blog-single-post-title{padding-bottom:.62rem;font-size:clamp(1.42rem,5.8vw,1.72rem);line-height:1.12}.blog-single-post-header{padding:.94rem 0 .9rem}.blog-single-meta,.blog-single-meta a{font-size:.8rem}.blog-single-meta{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.42rem .8rem;display:grid}.blog-single-meta-item{white-space:normal;flex-direction:column;align-items:flex-start;gap:.08rem;min-width:0}.blog-single-meta-item+.blog-single-meta-item{margin-left:0;padding-left:0}.blog-single-meta-item+.blog-single-meta-item:before{display:none}.blog-single-meta-item-category a{font-size:.8rem;font-weight:500}.blog-single-meta-item-author,.blog-single-meta-item-updated{display:none}.blog-single-meta-prefix{font-size:.78rem}.blog-single-meta-item-updated{width:auto}.blog-terms{gap:.28rem .36rem;margin-top:.18rem}.blog-terms-label{display:none}.blog-terms-list{gap:.35rem}.blog-terms-list a{min-height:32px;padding:.16rem .62rem;font-size:.8rem}.blog-single-post-content{width:100%;min-width:0;max-width:100%;padding-top:1.2rem}.single-header-inner,.blog-single-post-header,.single-layout,.blog-quick-summary{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.blog-single-post-content p,.blog-single-post-content li,.blog-quick-summary{overflow-wrap:anywhere}.blog-single-post-title{overflow-wrap:break-word;word-break:normal;text-wrap:wrap;min-width:0;max-width:100%}.blog-single-post-content p code,.blog-single-post-content li code,.blog-single-post-content td code,.blog-single-post-content th code,.blog-quick-summary code{border-color:color-mix(in srgb, var(--blog-border) 42%, transparent);background:color-mix(in srgb, var(--blog-surface-muted) 58%, var(--blog-surface));border-radius:4px;padding:.04rem .22rem;font-size:.86em}.blog-quick-summary p{line-height:1.56}.blog-quick-summary>.blog-quick-summary-label{padding-top:0;font-size:.78rem}.blog-quick-summary.in-single-header{border-radius:14px;gap:.24rem;margin-top:.76rem;margin-bottom:0;padding:.72rem .8rem .76rem;display:grid}.blog-figure-caption{text-align:left;max-width:none;font-size:.82rem}.footer-grid{grid-template-columns:1fr;gap:.7rem;padding-top:1.14rem;padding-bottom:1.16rem}.footer-grid>:not(:first-child){border-top:1px solid color-mix(in srgb, var(--blog-chrome-border) 68%, transparent);border-left:0;padding-top:.62rem;padding-left:0}.footer-brand{border-bottom:0;grid-column:1/-1;gap:.38rem;margin-bottom:0;padding-bottom:.08rem}.footer-logo-sub{display:none}.footer-brand-meta{font-size:var(--blog-text-meta-sm)}.footer-links{gap:.12rem}.footer-subscribe{gap:.54rem;padding:.52rem 0 0}.footer-links[aria-label=主要導覽]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.08rem .9rem;display:grid}.footer-links[aria-label=主要導覽] .footer-heading{grid-column:1/-1}.footer-brand p{max-width:none;font-size:.85rem;line-height:1.54}.footer-links a,.footer-meta-note{min-height:2rem;font-size:.86rem}.footer-meta{align-items:center;gap:.16rem .36rem;padding-top:.12rem;font-size:.82rem;display:flex}.footer-meta a,.footer-meta-note{min-height:0}.footer-heading{margin-bottom:.08rem}.blog-table-wrap:before,.blog-table-wrap:after{width:1.6rem}.blog-table-wrap:before{background:linear-gradient(to right, color-mix(in srgb, var(--blog-surface) 96%, transparent), transparent);left:0;right:auto}.blog-single-post-content th,.blog-single-post-content td{padding:.56rem .64rem;line-height:1.48}.blog-single-post-content .highlight>pre,.blog-single-post-content .highlight .chroma{padding:.78rem .82rem;font-size:.82rem;line-height:1.56}.blog-single-post-content .highlight .ln{display:none}.blog-table-wrap>table,.blog-single-post-content>table{width:max(100%,30rem)}.blog-table-wrap[data-cols="2"]>table,.blog-content-table[data-cols="2"]:not(.is-reference-table){table-layout:auto;width:max(100%,34rem);min-width:max-content}.blog-content-table[data-cols="2"]:not(.is-reference-table) th,.blog-content-table[data-cols="2"]:not(.is-reference-table) td{width:auto}.blog-content-table[data-cols="2"]:not(.is-reference-table) td:first-child,.blog-content-table[data-cols="2"]:not(.is-reference-table) th:first-child{min-width:16rem}.blog-content-table[data-cols="2"]:not(.is-reference-table) td:last-child,.blog-content-table[data-cols="2"]:not(.is-reference-table) th:last-child{min-width:9.5rem}.blog-content-table[data-cols="2"]:not(.is-reference-table) td code,.blog-content-table[data-cols="2"]:not(.is-reference-table) th code{white-space:nowrap;overflow-wrap:normal;word-break:normal;font-size:.88em;line-height:1.42;display:inline-block}.blog-content-table.is-reference-table{width:max(100%,34rem)}.blog-table-wrap[data-cols="2"]>.blog-content-table.is-reference-table{table-layout:auto;width:max(100%,34rem);min-width:max-content}.blog-content-table.is-reference-table[data-cols="2"] th,.blog-content-table.is-reference-table[data-cols="2"] td{width:auto}.blog-content-table.is-reference-table[data-cols="2"] td:first-child,.blog-content-table.is-reference-table[data-cols="2"] th:first-child{white-space:nowrap;min-width:16rem}.blog-content-table.is-reference-table[data-cols="2"] td:last-child,.blog-content-table.is-reference-table[data-cols="2"] th:last-child{min-width:9.5rem}.blog-content-table.is-reference-table[data-cols="2"] td code,.blog-content-table.is-reference-table[data-cols="2"] th code{white-space:nowrap;overflow-wrap:normal;word-break:normal;font-size:.88em;line-height:1.42;display:inline-block}.blog-post-prev-next-grid{grid-template-columns:1fr}.blog-single-post-content .blog-post-prev-next-card{min-height:0;padding:.9rem}.blog-author-box{gap:.9rem;padding:.92rem 0 0}.blog-single-post-content .blog-author-box-name{font-size:.98rem}.blog-author-box-role{font-size:.82rem}.blog-author-box-description{font-size:.88rem;line-height:1.58}.blog-post-prev-next-card-next:only-child{grid-column:auto}.blog-post-prev-next-card-next{text-align:left;align-items:flex-start}.blog-post-prev-next-card-next .blog-post-prev-next-meta{justify-content:flex-start}.blog-author-box{grid-template-columns:1fr;gap:.82rem;padding:.96rem 0 0}.blog-author-box-avatar{width:56px;max-width:56px;height:56px}.blog-author-box-description{margin-bottom:.8rem;font-size:.92rem}.blog-author-links{gap:.42rem}.blog-author-links a{min-height:34px;font-size:.8rem}.blog-discussion-shell{padding:.96rem 0 0}.blog-single-disqus{margin-top:2.6rem}}@media (width<=640px){.site-nav,.blog-header{min-height:48px}.blog-name{max-width:10rem;font-size:.96rem}.blog-search input{min-height:34px;padding-left:.92rem;padding-right:2.45rem;font-size:.86rem}.blog-search-submit{width:28px;height:28px;right:.24rem}.blog-search-drawer input{min-height:38px;padding-right:6rem}.blog-search-drawer .blog-search-submit{min-width:4.85rem;padding:0 .72rem}.blog-nav-toggle{width:48px;height:48px}.blog-nav-toggle-icon{width:16px;height:11px}.blog-category-title{font-size:1.56rem;line-height:1.14}.blog-section-title{font-size:1.68rem;line-height:1.14}.blog-category-summary{font-size:.96rem;line-height:1.72}.rss-copy-panel{grid-template-columns:1fr;gap:.58rem;padding:.68rem}.rss-copy-button{width:100%}.footer-heading{font-size:.76rem}}
