.blog-post-foot .share{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);margin-block-start:var(--sp-8);padding-block-start:var(--sp-6);border-block-start:1px solid var(--border)}.blog-post-foot .share-label{font-weight:600}.blog-post-foot .share-row{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.blog-post-foot .share-btn{display:inline-flex;align-items:center;justify-content:center;inline-size:2.5rem;block-size:2.5rem;border-radius:999px;border:1px solid var(--border);background:var(--bg-elev);color:var(--fg-muted);cursor:pointer;transition:transform var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.blog-post-foot .share-btn:hover{transform:translateY(-2px);color:#fff}.blog-post-foot .share-btn:active{transform:translateY(0)}.blog-post-foot .share-glyph{display:inline-flex;inline-size:1.2em;block-size:1.2em;font-size:1.05rem}.blog-post-foot .share-glyph svg{inline-size:100%;block-size:100%}.blog-post-foot .share-telegram:hover{background:#229ed9;border-color:#229ed9}.blog-post-foot .share-x:hover{background:#000;border-color:#000}.blog-post-foot .share-whatsapp:hover{background:#25d366;border-color:#25d366}.blog-post-foot .share-facebook:hover{background:#1877f2;border-color:#1877f2}.blog-post-foot .share-linkedin:hover{background:#0a66c2;border-color:#0a66c2}.blog-post-foot .share-copy:hover,.blog-post-foot .share-native:hover{background:var(--accent);border-color:var(--accent)}.blog-post-foot .share-copy.ok{color:var(--ok);border-color:var(--ok)}.blog-post-foot .share-copy.ok:hover{background:transparent}.blog-card,.blog-postnav-item{display:flex;flex-direction:column;color:inherit;text-decoration:none;background:var(--surface-raised);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-1);transition:transform var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease),border-color var(--dur-base) var(--ease)}.blog-postnav-item{padding:clamp(var(--sp-4),.6rem + 1.1vw,var(--sp-8))}.blog-card:hover,.blog-postnav-item:hover{text-decoration:none;transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:var(--border-strong);border-color:color-mix(in oklab,var(--accent) 34%,var(--hairline))}@media(prefers-reduced-motion:reduce){.blog-card:hover,.blog-postnav-item:hover{transform:none}}.blog-hero{display:flex;flex-direction:column;gap:var(--sp-3);padding-block-end:var(--sp-6);border-block-end:1px solid var(--hairline)}.blog-hero-title{font-size:clamp(2.1rem,1.4rem + 2.8vw,3.4rem);line-height:1.06;letter-spacing:-.028em;font-weight:var(--fw-bold);text-wrap:balance;max-inline-size:22ch}.blog-hero-lead{font-size:var(--fs-lg);line-height:1.55;color:var(--fg-muted);max-inline-size:60ch;text-wrap:pretty}.blog-cats{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-block-start:var(--sp-2)}.blog-cat{display:inline-flex;align-items:center;gap:var(--sp-2);padding-block:.4em;padding-inline:.95em;border-radius:var(--r-full);border:1px solid var(--hairline);background:var(--surface-raised);color:var(--fg-muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-decoration:none;unicode-bidi:plaintext;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.blog-cat:hover{color:var(--fg);text-decoration:none;border-color:color-mix(in oklab,var(--accent) 45%,var(--hairline))}.blog-cat[aria-current=page]{color:var(--accent-fg);background:var(--accent-soft);border-color:color-mix(in oklab,var(--accent) 60%,transparent)}.blog-cat-n{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--fg-subtle);unicode-bidi:isolate}.blog-grid{--col: 19rem;gap:clamp(var(--sp-4),.4rem + 1.5vw,var(--sp-8));align-items:stretch;margin-block-start:var(--sp-8)}a.blog-card{position:relative;padding:0;gap:0;block-size:100%;overflow:clip}.blog-card:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.blog-card-body{display:flex;flex-direction:column;gap:var(--sp-3);flex:1;padding:clamp(var(--sp-4),.55rem + 1vw,var(--sp-6))}.blog-card-title{font-size:var(--fs-lg);line-height:var(--lh-heading);font-weight:var(--fw-semibold);letter-spacing:-.01em;color:var(--fg);text-wrap:pretty}.blog-card-excerpt{color:var(--fg-muted);font-size:var(--fs-sm);line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-card-tags{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-3)}.blog-card-more{margin-block-start:auto;padding-block-start:var(--sp-1);display:inline-flex;align-items:center;gap:.35em;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--accent-fg)}.blog-card-fallback{font-size:var(--fs-xs);color:var(--fg-subtle)}.blog-arrow{inline-size:1em;block-size:1em;flex:none;transition:translate var(--dur-fast) var(--ease)}.blog-arrow:dir(rtl){transform:scaleX(-1)}.blog-card:hover .blog-arrow{translate:.25em 0}.blog-card:hover .blog-arrow:dir(rtl){translate:-.25em 0}.blog-card-lead{grid-column:1 / -1}.blog-card-lead .blog-card-title{font-size:clamp(1.45rem,1rem + 1.5vw,2.15rem);line-height:1.15;letter-spacing:-.02em;text-wrap:balance}.blog-card-lead .blog-card-excerpt{font-size:var(--fs-md);-webkit-line-clamp:4;line-clamp:4}@media(min-width:880px){.blog-card.blog-card-lead{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.blog-card-lead .blog-cover{aspect-ratio:auto;min-block-size:18rem;border-block-end:0;border-inline-end:1px solid var(--hairline)}.blog-card-lead .blog-card-body{justify-content:center;padding:clamp(var(--sp-6),1rem + 1.6vw,var(--sp-12))}}.blog-cover{position:relative;display:grid;place-items:center;aspect-ratio:16 / 9;overflow:hidden;isolation:isolate;border-block-end:1px solid var(--hairline);background:linear-gradient(135deg,#0f766e,#0e7490);color:#fff}.blog-cover[data-tone="2"]{background:linear-gradient(135deg,#3f5cf5,#7c4dff)}.blog-cover[data-tone="3"]{background:linear-gradient(135deg,#0369a1,#0891b2)}.blog-cover[data-tone="4"]{background:linear-gradient(135deg,#5b21b6,#a21caf)}.blog-cover[data-tone="5"]{background:linear-gradient(135deg,#065f46,#4d7c0f)}.blog-cover[data-tone="6"]{background:linear-gradient(135deg,#1e293b,#0f766e)}.blog-cover:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgb(255 255 255 / 9%) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / 9%) 1px,transparent 1px);background-size:22px 22px;mask-image:radial-gradient(75% 85% at 50% 50%,#000 30%,transparent 85%)}.blog-cover:after{content:"";position:absolute;inset:-30%;z-index:-1;background:radial-gradient(40% 45% at 30% 25%,rgb(255 255 255 / 26%),transparent 70%),radial-gradient(45% 50% at 80% 90%,rgb(0 0 0 / 30%),transparent 70%)}.blog-cover-img{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover}.blog-cover-art{display:inline-flex;inline-size:clamp(3rem,2rem + 3vw,4.75rem);block-size:clamp(3rem,2rem + 3vw,4.75rem);padding:.9rem;border-radius:28%;background:#ffffff24;border:1px solid rgb(255 255 255 / 28%);box-shadow:0 12px 40px #00000047;backdrop-filter:blur(4px)}.blog-cover-art svg{inline-size:100%;block-size:100%}.blog-cover-kind{position:absolute;inset-block-start:var(--sp-3);inset-inline-start:var(--sp-3);padding-block:.25em;padding-inline:.8em;border-radius:var(--r-full);background:#00000057;border:1px solid rgb(255 255 255 / 20%);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.06em;color:#fff;unicode-bidi:isolate}.blog-card:hover .blog-cover-art{transform:translateY(-3px) scale(1.04)}.blog-cover-art{transition:transform var(--dur-base) var(--ease)}@media(prefers-reduced-motion:reduce){.blog-card:hover .blog-cover-art{transform:none}}.blog-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--fg-subtle)}.blog-meta>*{unicode-bidi:isolate}.blog-dot{opacity:.55}.blog-chip{display:inline-flex;align-items:center;padding-block:.15em;padding-inline:.7em;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-fg);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-decoration:none;unicode-bidi:plaintext}a.blog-chip:hover{text-decoration:none;background:color-mix(in oklab,var(--accent) 22%,var(--accent-soft))}.blog-tag{font-size:var(--fs-xs);color:var(--fg-subtle);unicode-bidi:plaintext}a.blog-tag{display:inline-flex;padding-block:.3em;padding-inline:.8em;border-radius:var(--r-full);border:1px solid var(--hairline);background:var(--surface-raised);color:var(--fg-muted);font-size:var(--fs-sm);text-decoration:none;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}a.blog-tag:hover{color:var(--fg);text-decoration:none;border-color:color-mix(in oklab,var(--accent) 45%,var(--hairline))}.blog-notice{text-align:center}.blog-more{display:flex;justify-content:center;margin-block-start:var(--sp-8)}.blog-progress{display:none}@supports (animation-timeline: scroll()){.blog-progress{display:block;position:fixed;inset-block-start:0;inset-inline:0;z-index:70;block-size:3px;background:var(--grad-brand);transform-origin:0 50%;transform:scaleX(0);animation:blog-progress linear both;animation-timeline:scroll(root);pointer-events:none}.blog-progress:dir(rtl){transform-origin:100% 50%}}@keyframes blog-progress{to{transform:scaleX(1)}}.blog-article{max-inline-size:calc(var(--measure) + 2 * var(--gutter))}.blog-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-block-end:var(--sp-6);font-size:var(--fs-sm);color:var(--fg-subtle)}.blog-crumbs a{color:inherit;text-decoration:none;unicode-bidi:isolate}.blog-crumbs a:hover{color:var(--fg)}.blog-crumb-sep{opacity:.5}.blog-post-head{display:flex;flex-direction:column;gap:var(--sp-4);padding-block-end:var(--sp-6);margin-block-end:var(--sp-8);border-block-end:1px solid var(--hairline)}.blog-post-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.blog-kind{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-fg);unicode-bidi:isolate}.blog-post-title{font-size:clamp(2rem,1.25rem + 2.9vw,3.15rem);line-height:1.1;letter-spacing:-.026em;font-weight:var(--fw-bold);text-wrap:balance}.blog-post-lede{font-size:var(--fs-lg);line-height:1.6;color:var(--fg-muted);max-inline-size:var(--measure);text-wrap:pretty}.blog-avatar{display:inline-grid;place-items:center;inline-size:2rem;block-size:2rem;border-radius:var(--r-full);background:var(--grad-brand);color:#fff;font-size:var(--fs-sm);font-weight:var(--fw-bold)}.blog-byline-name{color:var(--fg-muted);font-weight:var(--fw-semibold)}.blog-post-cover{margin:0 0 var(--sp-8);border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--hairline)}.blog-post-cover img{display:block;inline-size:100%;block-size:auto}.blog-toc{margin-block-end:var(--sp-8);padding:var(--sp-4);border:1px solid var(--hairline);border-radius:var(--r-lg);background:var(--surface-raised);font-size:var(--fs-sm)}.blog-toc-title{margin-block-end:var(--sp-2);padding-inline:var(--sp-2);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle)}.blog-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;counter-reset:blog-toc}.blog-toc li{counter-increment:blog-toc}.blog-toc a{display:flex;gap:var(--sp-2);padding-block:.4em;padding-inline:var(--sp-2);border-radius:var(--r-sm);color:var(--fg-muted);line-height:1.4;text-decoration:none}.blog-toc a:before{content:counter(blog-toc,decimal-leading-zero);flex:none;min-inline-size:1.7em;font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold);color:var(--accent-fg)}.blog-toc a:hover{color:var(--fg);background:var(--accent-soft);text-decoration:none}.blog-post-head{grid-area:head}.blog-post-cover{grid-area:cover}.blog-prose{grid-area:prose;min-inline-size:0}.blog-toc{grid-area:toc}.blog-post-foot{grid-area:foot}@media(min-width:1180px){.blog-article.has-toc{max-inline-size:calc(var(--measure) + 17rem + 3.5rem + 2 * var(--gutter))}.has-toc .blog-body{display:grid;grid-template-columns:minmax(0,var(--measure)) 17rem;grid-template-areas:"head head" "cover cover" "prose toc" "foot toc";grid-template-rows:auto auto auto 1fr;column-gap:3.5rem}.has-toc .blog-toc{position:sticky;inset-block-start:calc(var(--h-topbar) + var(--sp-6));align-self:start;margin:0}}.blog-post-foot{display:flex;flex-direction:column;gap:var(--sp-4);margin-block-start:var(--sp-12)}.blog-post-tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.blog-post-tags-label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--fg-muted)}.blog-post-foot .share{margin-block-start:0}.blog-cta{position:relative;overflow:hidden;display:grid;gap:var(--sp-6);align-items:center;margin-block-start:var(--sp-12);padding:clamp(var(--sp-6),1rem + 2vw,var(--sp-12));border-radius:var(--r-xl);border:1px solid color-mix(in oklab,var(--accent) 38%,var(--hairline));background:radial-gradient(120% 150% at 0% 0%,color-mix(in oklab,var(--accent) 22%,transparent),transparent 62%),radial-gradient(90% 120% at 100% 100%,color-mix(in oklab,var(--accent-3) 14%,transparent),transparent 60%),var(--surface-raised)}@media(min-width:760px){.blog-cta{grid-template-columns:minmax(0,1fr) auto}}.blog-cta-title{font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:-.01em;text-wrap:balance}.blog-cta-body{margin-block-start:var(--sp-2);color:var(--fg-muted);max-inline-size:54ch;text-wrap:pretty}.blog-cta-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.blog-postnav{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);margin-block-start:var(--sp-8)}.blog-postnav .blog-postnav-item{gap:var(--sp-1)}.blog-postnav-next{grid-column:2;text-align:end}.blog-postnav-dir{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-subtle)}.blog-postnav-title{font-weight:var(--fw-semibold);text-wrap:pretty}@media(max-width:560px){.blog-postnav{grid-template-columns:1fr}.blog-postnav-next{grid-column:auto;text-align:start}}.blog-back{margin-block-start:var(--sp-8)}.blog-missing{display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);max-inline-size:640px;margin-inline:auto;text-align:center}.blog-missing-code{font-size:clamp(4.5rem,3rem + 7vw,8rem);font-weight:800;line-height:1;letter-spacing:-.04em;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.blog-missing-title{font-size:var(--fs-2xl);font-weight:var(--fw-bold)}.blog-missing-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-3);margin-block-start:var(--sp-2)}.blog-panel .blog-grid{margin-block-start:var(--sp-6)}.blog-panel .blog-cats{margin-block-start:0}.blog-panel.blog-article{margin-inline:auto}.blog-panel .blog-post-title{font-size:clamp(1.75rem,1.15rem + 2.2vw,2.65rem)}.blog-panel [id]{scroll-margin-block-start:calc(var(--h-topbar) + var(--sp-6))}.blog-panel .blog-progress{z-index:calc(var(--z-sticky) + 1)}@media(max-width:599px){.blog-panel a.blog-card:not(.blog-card-lead){display:grid;grid-template-columns:5.5rem minmax(0,1fr)}.blog-panel .blog-card:not(.blog-card-lead) .blog-cover{aspect-ratio:auto;min-block-size:5.5rem;border-block-end:0;border-inline-end:1px solid var(--hairline)}.blog-panel .blog-card:not(.blog-card-lead) .blog-cover-kind{display:none}.blog-panel .blog-card:not(.blog-card-lead) .blog-cover-art{inline-size:2.5rem;block-size:2.5rem;padding:.55rem}.blog-panel .blog-card:not(.blog-card-lead) .blog-card-body{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4)}.blog-panel .blog-card:not(.blog-card-lead) .blog-card-title{font-size:var(--fs-md)}.blog-panel .blog-card:not(.blog-card-lead) .blog-card-excerpt{-webkit-line-clamp:2;line-clamp:2}.blog-panel .blog-card:not(.blog-card-lead) .blog-card-tags,.blog-panel .blog-card:not(.blog-card-lead) .blog-card-more{display:none}.blog-panel .blog-grid{gap:var(--sp-3)}}.blog-panel-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2) var(--sp-4);margin-block-end:var(--sp-6);font-size:var(--fs-sm)}.blog-panel-back,.blog-panel-site{display:inline-flex;align-items:center;gap:var(--sp-2);border-radius:var(--r-sm);font-weight:var(--fw-medium);text-decoration:none;unicode-bidi:isolate}.blog-panel-back{color:var(--fg-muted)}.blog-panel-site{color:var(--accent-fg)}.blog-panel-back:hover,.blog-panel-site:hover{color:var(--fg);text-decoration:none}.blog-panel-bar .blog-panel-back .icon{transform:scaleX(calc(-1 * var(--dir, 1)))}@media(pointer:coarse){.blog-panel-back,.blog-panel-site{min-block-size:44px}}@media(min-width:1180px)and (max-width:1439px){.blog-panel.blog-article.has-toc{max-inline-size:calc(var(--measure) + 2 * var(--gutter))}.blog-panel.has-toc .blog-body{display:block}.blog-panel.has-toc .blog-toc{position:static;margin-block-end:var(--sp-8)}}
