html,body,.blog-page{overflow-x:clip}.blog-page{font-family:var(--font);color:var(--ink-1);grid-template-columns:minmax(0,1fr);gap:36px;padding-top:36px;padding-bottom:72px;display:grid}.blog-page :focus-visible{outline:2px solid var(--son);outline-offset:2px}.blog-page a:active,.blog-page button:active{transform:translateY(1px)}.blog-page button:disabled,.blog-page [aria-disabled=true]{opacity:.55;color:var(--ink-3);background-color:var(--glaze-1);cursor:not-allowed}.blog-page .mt-h1,.blog-page .mt-h2,.blog-hero__title{font-family:var(--font-serif);overflow-wrap:break-word;text-wrap:balance;min-width:0}.blog-head{border-bottom:1px solid var(--line-0);gap:12px;padding-bottom:24px;display:grid}.blog-tabs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.blog-tab{border-radius:var(--r-md);border:1px solid var(--line-1);background-color:var(--glaze-card);min-height:44px;color:var(--ink-1);font-family:var(--font);justify-content:center;align-items:center;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.blog-tab:hover{background-color:var(--son-wash);border-color:var(--vang-line);color:var(--son)}.blog-tab[aria-current=page]{background-color:var(--son);border-color:var(--son);color:var(--on-son)}[data-theme=dark] .blog-tab:hover{color:var(--ink-0)}.blog-hero{background-color:var(--glaze-card);border:1px solid var(--vang-line);outline:1px solid var(--line-1);outline-offset:4px;border-radius:var(--r-lg);grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;margin:4px;display:grid;overflow:hidden}.blog-hero__media{background-color:var(--glaze-1);border-right:1px solid var(--line-0);min-height:280px;display:block;position:relative;overflow:hidden}.blog-hero__img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;min-height:280px;display:block}.blog-hero__body{flex-direction:column;justify-content:center;gap:16px;min-width:0;padding:28px 28px 28px 4px;display:flex}.blog-hero__title{color:var(--ink-0);margin:0;font-size:clamp(24px,2.8vw,34px);font-weight:600;line-height:1.2}.blog-hero__title a{color:inherit;text-decoration:none}.blog-hero__title a:hover{color:var(--son);text-underline-offset:4px;text-decoration:underline}.blog-hero__excerpt{font-family:var(--font);color:var(--ink-1);max-width:62ch;margin:0;font-size:15px;line-height:1.65}.blog-hero__actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px;display:flex}.blog-meta{font-family:var(--font);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px;display:flex}.blog-meta__item{align-items:center;gap:4px;display:inline-flex}.blog-meta__item+.blog-meta__item{border-left:1px solid var(--line-1);padding-left:12px}.blog-grid-sec{gap:20px;display:grid}.blog-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:stretch;gap:24px;display:grid}.blog-card{background-color:var(--glaze-card);border:1px solid var(--line-1);border-radius:var(--r-lg);flex-direction:column;transition:border-color .15s,background-color .15s;display:flex;overflow:hidden}.blog-card:hover{border-color:var(--vang-line)}.blog-card__media{aspect-ratio:16/10;background-color:var(--glaze-1);border-bottom:1px solid var(--line-0);display:block;overflow:hidden}.blog-card__img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.blog-card__body{flex-direction:column;flex:1;gap:12px;min-width:0;padding:20px;display:flex}.blog-card__title{font-family:var(--font);color:var(--ink-0);overflow-wrap:break-word;margin:0;font-size:18px;font-weight:600;line-height:1.4}.blog-card__title a{color:inherit;text-decoration:none}.blog-card__title a:hover{color:var(--son);text-underline-offset:3px;text-decoration:underline}.blog-card__excerpt{font-family:var(--font);color:var(--ink-2);max-width:60ch;margin:0;font-size:14px;line-height:1.6}.blog-card__foot{border-top:1px solid var(--line-0);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:12px;display:flex}.blog-tools{background-color:var(--glaze-1);border:1px solid var(--vang-line);border-radius:var(--r-lg);gap:20px;padding:28px;display:grid}.blog-tools__head{gap:8px;display:grid}.blog-tools__grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.blog-tool-item{background-color:var(--glaze-card);border:1px solid var(--line-1);border-radius:var(--r-md);color:var(--ink-0);flex-direction:column;justify-content:space-between;gap:12px;padding:16px;text-decoration:none;transition:border-color .15s,background-color .15s;display:flex}.blog-tool-item:hover{border-color:var(--son);background-color:var(--son-wash)}.blog-tool-item__title{font-family:var(--font);color:var(--ink-0);margin:0;font-size:16px;font-weight:600}.blog-tool-item__desc{font-family:var(--font);color:var(--ink-2);margin:4px 0 0;font-size:13px;line-height:1.5}.blog-crumb{font-family:var(--font);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.blog-crumb a{color:var(--son);font-weight:500;text-decoration:none}.blog-crumb a:hover{text-underline-offset:3px;text-decoration:underline}.blog-article-head{gap:16px;max-width:820px;display:grid}.blog-figure{background-color:var(--glaze-1);border:1px solid var(--line-1);border-radius:var(--r-lg);margin:0;overflow:hidden}.blog-figure__img{-o-object-fit:cover;object-fit:cover;width:100%;max-height:480px;display:block}.blog-figure__cap{font-family:var(--font);color:var(--ink-2);border-top:1px solid var(--line-0);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px 16px;font-size:13px;line-height:1.5;display:flex}.blog-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}.blog-main{gap:32px;min-width:0;display:grid}.blog-sec{gap:16px;scroll-margin-top:84px;display:grid}.blog-sec .mt-body{margin:0}.blog-list{font-family:var(--font);color:var(--ink-1);gap:8px;max-width:68ch;margin:0;padding-left:20px;font-size:15px;line-height:1.65;display:grid}.blog-callout{background-color:var(--son-wash);border:1px solid var(--vang-line);border-radius:var(--r-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px;display:flex}.blog-callout__info{gap:4px;max-width:56ch;display:grid}.blog-callout__title{font-family:var(--font);color:var(--ink-0);margin:0;font-size:16px;font-weight:600}.blog-callout__desc{font-family:var(--font);color:var(--ink-1);margin:0;font-size:14px;line-height:1.5}.blog-conclusion{background-color:var(--vang-wash);border:1px solid var(--vang-line);border-radius:var(--r-md);gap:12px;padding:24px;display:grid}.blog-tags{border-top:1px solid var(--line-0);flex-wrap:wrap;align-items:center;gap:8px;padding-top:16px;display:flex}.blog-aside{gap:20px;display:grid;position:sticky;top:80px}.blog-toc{background-color:var(--glaze-card);border:1px solid var(--line-1);border-radius:var(--r-md);gap:12px;padding:20px;display:grid}.blog-toc__list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.blog-toc__link{border-radius:var(--r-sm);font-family:var(--font);color:var(--ink-1);padding:8px 12px;font-size:14px;line-height:1.45;text-decoration:none;transition:background-color .15s,color .15s;display:block}.blog-toc__link:hover{background-color:var(--son-wash);color:var(--son)}.blog-side-panel{background-color:var(--glaze-1);border:1px solid var(--vang-line);border-radius:var(--r-md);gap:16px;padding:20px;display:grid}.blog-side-features{gap:12px;display:grid}.blog-side-item{background-color:var(--glaze-card);border:1px solid var(--line-0);border-radius:var(--r-sm);gap:8px;padding:12px;display:grid}.blog-side-item__title{font-family:var(--font);color:var(--ink-0);margin:0;font-size:15px;font-weight:600}.blog-side-item__desc{font-family:var(--font);color:var(--ink-2);margin:0;font-size:13px;line-height:1.5}.blog-related{border-top:1px solid var(--line-0);gap:20px;padding-top:32px;display:grid}@media (max-width:960px){.blog-hero{grid-template-columns:minmax(0,1fr)}.blog-hero__media{border-right:0;border-bottom:1px solid var(--line-0)}.blog-hero__body{padding:20px}.blog-layout{grid-template-columns:minmax(0,1fr)}.blog-aside{position:static}}@media (max-width:640px){.blog-page{gap:28px;padding-top:24px;padding-bottom:64px}.blog-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.blog-tab,.blog-card,.blog-tool-item,.blog-toc__link{transition:none}}
