.blog-progress{background:var(--site-primary,#3b82f6);z-index:9999;width:0%;height:3px;transition:width 50ms linear;position:fixed;top:0;left:0}.blog-post{color:var(--site-text,#1f2937);font-family:var(--site-font-body,"Inter", system-ui, -apple-system, sans-serif);padding-block:2rem 4rem;line-height:1.8}.blog-post__header{text-align:center;margin-bottom:2rem}.blog-post__category{text-transform:uppercase;letter-spacing:.05em;color:var(--site-primary,#3b82f6);background:color-mix(in srgb, var(--site-primary,#3b82f6) 10%, transparent);border-radius:9999px;margin-bottom:1rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-block}.blog-post__category:hover{background:color-mix(in srgb, var(--site-primary,#3b82f6) 18%, transparent)}.blog-post__title{letter-spacing:0;color:var(--site-heading,var(--site-text,#111827));font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.15;font-family:var(--site-font-heading,var(--site-font-body,"Inter", system-ui, sans-serif));margin:.75rem 0 1rem}.blog-post__meta{color:var(--site-text-muted,#6b7280);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.blog-post__meta>:not(:last-child):after{content:"·";opacity:.4;margin-left:.5rem}.blog-post__reading-time{font-weight:500}.blog-post__featured-image{border-radius:var(--site-radius,12px);margin:2rem -1.25rem 2.5rem;overflow:hidden}.blog-post__featured-image picture{display:block}.blog-post__featured-image img{width:100%;height:auto;aspect-ratio:var(--blog-featured-image-aspect,var(--site-media-aspect-hero,16/9));object-fit:cover;display:block}@container site style(--site-bp:tablet) or style(--site-bp:desktop){.blog-post__featured-image{border-radius:var(--site-radius,16px);margin-left:-2rem;margin-right:-2rem}}@media (min-width:860px){.blog-post__featured-image{border-radius:var(--site-radius,16px);margin-left:-2rem;margin-right:-2rem}}.blog-post__body{font-size:1.0625rem;line-height:1.85}.blog-post__heading{font-family:var(--site-font-heading,var(--site-font-body,inherit));color:var(--site-heading,var(--site-text,#111827));letter-spacing:0;margin:2.5rem 0 .75rem;scroll-margin-top:80px;font-weight:700;line-height:1.3}h2.blog-post__heading{font-size:1.75rem}h3.blog-post__heading{font-size:1.375rem}h4.blog-post__heading{font-size:1.125rem}.blog-post__paragraph{color:var(--site-text,#374151);margin:0 0 1.5rem}.blog-post__paragraph a{color:var(--site-primary,#3b82f6);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.blog-post__paragraph a:hover{text-decoration-thickness:2px}.blog-post__paragraph strong{color:var(--site-heading,var(--site-text,#111827));font-weight:700}.blog-post__figure{margin:2rem 0}.blog-post__figure--narrow{max-width:28rem;margin-left:auto;margin-right:auto}.blog-post__figure--default{max-width:42rem;margin-left:auto;margin-right:auto}.blog-post__figure--wide{max-width:56rem;margin-left:auto;margin-right:auto}.blog-post__figure--full{max-width:none;margin-left:-1.25rem;margin-right:-1.25rem}.blog-post__figure-img{border-radius:var(--site-radius,10px);width:100%;height:auto;display:block}.blog-post__caption{text-align:center;color:var(--site-text-muted,#9ca3af);margin-top:.5rem;font-size:.8125rem;font-style:italic}.blog-post__gallery{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;margin:2rem 0;display:grid}.blog-post__gallery-img{width:100%;aspect-ratio:var(--blog-gallery-img-aspect,var(--site-media-aspect-square,1 / 1));object-fit:cover;border-radius:var(--site-radius,8px)}.blog-post__blockquote{border-left:4px solid var(--site-primary,#3b82f6);color:var(--site-text,#374151);background:color-mix(in srgb, var(--site-primary,#3b82f6) 4%, transparent);border-radius:0 var(--site-radius,8px) var(--site-radius,8px) 0;margin:2rem 0;padding:.5rem 0 .5rem 1.5rem;font-size:1.125rem;font-style:italic}.blog-post__code{border-radius:var(--site-radius,10px);background:#0d1117;border:1px solid #ffffff14;margin:2rem 0;overflow:hidden}.blog-post__code code{color:#e6edf3;white-space:pre;tab-size:2;padding:1.25rem 1.5rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.875rem;line-height:1.7;display:block;overflow-x:auto}.blog-post__code code .keyword{color:#ff7b72}.blog-post__code code .string{color:#a5d6ff}.blog-post__code code .comment{color:#8b949e;font-style:italic}.blog-post__code code .number{color:#79c0ff}.blog-post__code code .function{color:#d2a8ff}.blog-post__divider{border:none;border-top:1px solid color-mix(in srgb, var(--site-text,#d1d5db) 20%, transparent);max-width:120px;margin:2.5rem auto}.blog-post__callout{border-radius:var(--site-radius,12px);gap:.75rem;margin:2rem 0;padding:1.25rem 1.5rem;font-size:.9375rem;line-height:1.7;display:flex}.blog-post__callout:before{flex-shrink:0;font-size:1.25rem}.blog-post__callout--tip{color:#155e75;background:#ecfeff;border:1px solid #a5f3fc}.blog-post__callout--tip:before{content:"💡"}.blog-post__callout--info{color:#4c1d95;background:#ede9fe;border:1px solid #c4b5fd}.blog-post__callout--info:before{content:"ℹ️"}.blog-post__callout--warning{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.blog-post__callout--warning:before{content:"⚠️"}.blog-post__callout--success{color:#065f46;background:#ecfdf5;border:1px solid #6ee7b7}.blog-post__callout--success:before{content:"✅"}.blog-post__list{margin:1.5rem 0}.blog-post__list ul{padding-left:1.5rem;list-style:outside}.blog-post__list ol{padding-left:1.5rem;list-style:decimal}.blog-post__list li{margin-bottom:.5rem;line-height:1.7}.blog-post__embed{border-radius:var(--site-radius,12px);margin:2rem 0;overflow:hidden}.blog-post__embed iframe{border:none}.blog-post__toc{border-radius:var(--site-radius,12px);background:color-mix(in srgb, var(--site-text,#6b7280) 5%, transparent);border:1px solid color-mix(in srgb, var(--site-text,#d1d5db) 12%, transparent);margin:2rem 0;padding:1.5rem}.blog-post__toc strong{text-transform:uppercase;letter-spacing:.06em;color:var(--site-text-muted,#6b7280);margin-bottom:.75rem;font-size:.8125rem;font-weight:700;display:block}.blog-post__toc ul{margin:0;padding:0;list-style:none}.blog-post__toc li{color:var(--site-text,#374151);cursor:pointer;padding:.35rem 0;font-size:.9375rem;transition:color .15s}.blog-post__toc li:hover{color:var(--site-primary,#3b82f6)}.blog-post__table{border-collapse:collapse;border-radius:var(--site-radius,8px);border:1px solid color-mix(in srgb, var(--site-text,#d1d5db) 15%, transparent);width:100%;margin:2rem 0;font-size:.9375rem;overflow:hidden}.blog-post__table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;background:color-mix(in srgb, var(--site-text,#6b7280) 8%, transparent);color:var(--site-text-muted,#6b7280);border-bottom:2px solid color-mix(in srgb, var(--site-text,#d1d5db) 15%, transparent);padding:.75rem 1rem;font-size:.8125rem;font-weight:600}.blog-post__table td{border-bottom:1px solid color-mix(in srgb, var(--site-text,#d1d5db) 10%, transparent);color:var(--site-text,#374151);padding:.75rem 1rem}.blog-post__table tr:last-child td{border-bottom:none}.blog-post__toggle{border-radius:var(--site-radius,10px);border:1px solid color-mix(in srgb, var(--site-text,#d1d5db) 15%, transparent);margin:1.5rem 0;overflow:hidden}.blog-post__toggle summary{cursor:pointer;color:var(--site-heading,var(--site-text,#111827));background:color-mix(in srgb, var(--site-text,#6b7280) 3%, transparent);align-items:center;gap:.5rem;padding:1rem 1.25rem;font-weight:600;list-style:none;transition:background .15s;display:flex}.blog-post__toggle summary:hover{background:color-mix(in srgb, var(--site-text,#6b7280) 6%, transparent)}.blog-post__toggle summary:before{content:"▸";color:var(--site-text-muted,#9ca3af);font-size:.875rem;transition:transform .2s}.blog-post__toggle[open] summary:before{transform:rotate(90deg)}.blog-post__toggle summary::-webkit-details-marker{display:none}.blog-post__toggle>div{border-top:1px solid color-mix(in srgb, var(--site-text,#d1d5db) 10%, transparent);padding:1rem 1.25rem}.blog-post__cta{text-align:center;border-radius:var(--site-radius,16px);background:linear-gradient(135deg, color-mix(in srgb, var(--site-primary,#3b82f6) 8%, transparent), color-mix(in srgb, var(--site-primary,#3b82f6) 15%, transparent));border:1px solid color-mix(in srgb, var(--site-primary,#3b82f6) 20%, transparent);flex-direction:column;align-items:center;margin:2.5rem 0;padding:2.5rem 2rem;display:flex}.blog-post__cta-heading{color:var(--site-heading,var(--site-text,#111827));margin-bottom:.5rem;font-size:1.5rem;font-weight:800}.blog-post__cta-text{color:var(--site-text-muted,#6b7280);max-width:480px;margin-bottom:1.5rem;font-size:1rem}.blog-post__cta-button{border-radius:var(--site-radius,8px);color:#fff;background:var(--site-primary,#3b82f6);box-shadow:0 4px 14px color-mix(in srgb, var(--site-primary,#3b82f6) 30%, transparent);align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.blog-post__cta-button:hover{box-shadow:0 8px 24px color-mix(in srgb, var(--site-primary,#3b82f6) 40%, transparent);transform:translateY(-2px)}.blog-post__bookmark{border-radius:var(--site-radius,12px);border:1px solid color-mix(in srgb, var(--site-text,#d1d5db) 15%, transparent);color:inherit;margin:2rem 0;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.blog-post__bookmark:hover{border-color:var(--site-primary,#3b82f6);box-shadow:0 4px 12px #0000000f}.blog-post__bookmark-image{background:color-mix(in srgb, var(--site-text,#6b7280) 5%, transparent);flex-shrink:0;width:200px}.blog-post__bookmark-image img{object-fit:cover;width:100%;height:100%}.blog-post__bookmark-content{flex:1;min-width:0;padding:1rem 1.25rem}.blog-post__bookmark-title{color:var(--site-heading,var(--site-text,#111827));-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-bottom:.25rem;font-size:1rem;font-weight:600;display:-webkit-box;overflow:hidden}.blog-post__bookmark:hover .blog-post__bookmark-title{color:var(--site-primary,#3b82f6)}.blog-post__bookmark-desc{color:var(--site-text-muted,#6b7280);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.5rem;font-size:.8125rem;line-height:1.6;display:-webkit-box;overflow:hidden}.blog-post__bookmark-meta{color:var(--site-text-muted,#9ca3af);align-items:center;gap:.375rem;font-size:.75rem;display:flex}.blog-post__bookmark-favicon{border-radius:3px;width:16px;height:16px}@container site style(--site-bp:mobile){.blog-post__bookmark{flex-direction:column}.blog-post__bookmark-image{width:100%;height:160px}}@media (max-width:640px){.blog-post__bookmark{flex-direction:column}.blog-post__bookmark-image{width:100%;height:160px}}.blog-post__tags{border-top:1px solid color-mix(in srgb, var(--site-text,#d1d5db) 12%, transparent);flex-wrap:wrap;gap:.5rem;margin:2.5rem 0;padding-top:2rem;display:flex}.blog-post__tag{color:var(--site-text-muted,#6b7280);background:color-mix(in srgb, var(--site-text,#6b7280) 6%, transparent);border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.blog-post__share{flex-wrap:wrap;align-items:center;gap:.75rem;margin:2rem 0;display:flex}.blog-post__share-label{color:var(--site-text-muted,#6b7280);font-size:.8125rem;font-weight:600}.blog-post__share-link{border-radius:var(--site-radius,8px);color:var(--site-text,#374151);background:color-mix(in srgb, var(--site-text,#6b7280) 6%, transparent);align-items:center;gap:.375rem;padding:.375rem .875rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.blog-post__share-link:hover{background:color-mix(in srgb, var(--site-primary,#3b82f6) 10%, transparent);color:var(--site-primary,#3b82f6)}.blog-post__back{margin:2rem 0}.blog-post__back-link{color:var(--site-primary,#3b82f6);font-size:.9375rem;font-weight:500;text-decoration:none;transition:opacity .15s}.blog-post__back-link:hover{opacity:.8}.blog-related{padding-block:3rem 4rem}.blog-related__title{color:var(--site-heading,var(--site-text,#111827));text-align:center;margin-bottom:1.5rem;font-size:1.5rem;font-weight:800}.blog-related__grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.blog-card{border-radius:var(--site-radius,14px);color:inherit;border:1px solid color-mix(in srgb, var(--site-text,#d1d5db) 10%, transparent);flex-direction:column;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}[data-card-hover-shell]:hover .blog-card,.blog-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000014}.blog-card__image-wrap{aspect-ratio:16/9;overflow:hidden}.blog-card__image{object-fit:cover;width:100%;height:100%;transition:transform .3s}.blog-card:hover .blog-card__image{transform:scale(1.04)}.blog-card__image-placeholder{background:color-mix(in srgb, var(--site-text,#6b7280) 6%, transparent);width:100%;height:100%;color:var(--site-text-muted,#9ca3af);justify-content:center;align-items:center;font-size:.8125rem;display:flex}.blog-card__body{padding:1.25rem}.blog-card__title{color:var(--site-heading,var(--site-text,#111827));margin-bottom:.5rem;font-size:1.0625rem;font-weight:700;line-height:1.35}.blog-card__excerpt{color:var(--site-text-muted,#6b7280);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.75rem;font-size:.875rem;line-height:1.6;display:-webkit-box;overflow:hidden}.blog-card__meta{color:var(--site-text-muted,#9ca3af);font-size:.75rem}.blog-listing{max-width:1200px;font-family:var(--site-font-body,"Inter", system-ui, -apple-system, sans-serif);color:var(--site-text,#1f2937);margin:0 auto;padding:3rem 1.25rem 4rem}.blog-listing__header{text-align:center;margin-bottom:3rem}.blog-listing__title{letter-spacing:-.02em;color:var(--site-heading,var(--site-text,#111827));font-size:clamp(2rem,5vw,3rem);font-weight:800;font-family:var(--site-font-heading,var(--site-font-body,inherit));margin-bottom:.75rem}.blog-listing__subtitle{color:var(--site-text-muted,#6b7280);max-width:640px;margin:0 auto;font-size:1.0625rem;line-height:1.7}.blog-listing__empty{text-align:center;color:var(--site-text-muted,#9ca3af);padding:4rem 1rem;font-size:1rem}.blog-listing__layout{grid-template-columns:1fr;gap:3rem;display:grid}@container site style(--site-bp:tablet) or style(--site-bp:desktop){.blog-listing__layout{grid-template-columns:1fr 240px}}@media (min-width:860px){.blog-listing__layout{grid-template-columns:1fr 240px}}.blog-featured-card{border-radius:var(--site-radius,16px);color:inherit;border:1px solid color-mix(in srgb, var(--site-text,#d1d5db) 10%, transparent);grid-template-columns:1fr;gap:0;margin-bottom:2.5rem;text-decoration:none;transition:transform .25s,box-shadow .25s;display:grid;overflow:hidden}[data-card-hover-shell]:hover .blog-featured-card,.blog-featured-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #0000001a}@container site style(--site-bp:mobile) or style(--site-bp:tablet) or style(--site-bp:desktop){.blog-featured-card{grid-template-columns:1.2fr 1fr}}@media (min-width:640px){.blog-featured-card{grid-template-columns:1.2fr 1fr}}.blog-featured-card__image{aspect-ratio:16/10;overflow:hidden}.blog-featured-card__image img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.blog-featured-card:hover .blog-featured-card__image img{transform:scale(1.04)}.blog-featured-card__content{flex-direction:column;justify-content:center;padding:2rem;display:flex}.blog-featured-card__title{color:var(--site-heading,var(--site-text,#111827));margin:.5rem 0 .75rem;font-size:1.5rem;font-weight:800;line-height:1.3}.blog-featured-card__excerpt{color:var(--site-text-muted,#6b7280);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:1rem;font-size:.9375rem;line-height:1.7;display:-webkit-box;overflow:hidden}.blog-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.blog-card__category{text-transform:uppercase;letter-spacing:.04em;color:var(--site-primary,#3b82f6);background:color-mix(in srgb, var(--site-primary,#3b82f6) 10%, transparent);border-radius:9999px;margin-bottom:.5rem;padding:.2rem .6rem;font-size:.6875rem;font-weight:600;display:inline-block}.blog-card__reading-time{font-weight:500}.blog-card__meta>:not(:last-child):after{content:"·";opacity:.4;margin-left:.35rem}.blog-pagination{border-top:1px solid color-mix(in srgb, var(--site-text,#d1d5db) 10%, transparent);justify-content:center;align-items:center;gap:1rem;margin-top:3rem;padding-top:2rem;display:flex}.blog-pagination__link{border-radius:var(--site-radius,8px);color:var(--site-primary,#3b82f6);background:color-mix(in srgb, var(--site-primary,#3b82f6) 6%, transparent);align-items:center;gap:.375rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.blog-pagination__link:hover{background:color-mix(in srgb, var(--site-primary,#3b82f6) 12%, transparent)}.blog-pagination__info{color:var(--site-text-muted,#9ca3af);font-size:.8125rem}.blog-sidebar{align-self:start;position:sticky;top:2rem}.blog-sidebar__title{text-transform:uppercase;letter-spacing:.06em;color:var(--site-text-muted,#6b7280);margin-bottom:1rem;font-size:.8125rem;font-weight:700}.blog-sidebar__list{margin:0;padding:0;list-style:none}.blog-sidebar__link{border-radius:var(--site-radius,8px);color:var(--site-text,#374151);margin-bottom:.125rem;padding:.5rem .75rem;font-size:.9375rem;text-decoration:none;transition:background .15s,color .15s;display:block}.blog-sidebar__link:hover{background:color-mix(in srgb, var(--site-primary,#3b82f6) 6%, transparent);color:var(--site-primary,#3b82f6)}.blog-sidebar__link--active{background:color-mix(in srgb, var(--site-primary,#3b82f6) 10%, transparent);color:var(--site-primary,#3b82f6);font-weight:600}.blog-author{width:min(1160px,100% - 2.5rem);color:var(--site-text,#1f2937);font-family:var(--site-font-body,"Inter", system-ui, -apple-system, sans-serif);margin:0 auto;padding:clamp(2.5rem,6vw,5rem) 0 4.5rem}.blog-author__profile{border:1px solid color-mix(in srgb, var(--site-primary,#3b82f6) 15%, transparent);background:radial-gradient(circle at 10% 10%, color-mix(in srgb, var(--site-primary,#3b82f6) 18%, transparent), transparent 38%), linear-gradient(145deg, color-mix(in srgb, var(--site-primary,#3b82f6) 5%, #fff), #fff);border-radius:clamp(1.25rem,3vw,2rem);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(1.5rem,4vw,3.5rem);padding:clamp(1.5rem,5vw,4rem);display:grid;position:relative;overflow:hidden;box-shadow:0 22px 70px #0f172a17}.blog-author__portrait-wrap{aspect-ratio:1;background:var(--site-primary,#3b82f6);border:5px solid #ffffffe0;border-radius:50%;place-items:center;width:clamp(7.5rem,18vw,12rem);display:grid;overflow:hidden;box-shadow:0 16px 42px #0f172a29}.blog-author__portrait{object-fit:cover;width:100%;height:100%}.blog-author__initials{color:#fff;letter-spacing:-.05em;font-size:clamp(2rem,7vw,4rem);font-weight:800}.blog-author__profile-copy{max-width:47rem}.blog-author__eyebrow{color:var(--site-primary,#3b82f6);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .55rem;font-size:.75rem;font-weight:800}.blog-author__name{color:var(--site-heading,var(--site-text,#111827));font-family:var(--site-font-heading,var(--site-font-body,inherit));letter-spacing:-.045em;margin:0;font-size:clamp(2.25rem,6vw,4.25rem);font-weight:800;line-height:1}.blog-author__role{color:var(--site-heading,var(--site-text,#111827));margin:.8rem 0 0;font-size:clamp(1rem,2vw,1.2rem);font-weight:650}.blog-author__bio{max-width:65ch;color:var(--site-text-muted,#5f6978);margin:1.2rem 0 0;font-size:1.025rem;line-height:1.75}.blog-author__credentials,.blog-author__links{flex-wrap:wrap;gap:.55rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.blog-author__credentials li,.blog-author__credentials a{color:var(--site-heading,var(--site-text,#111827));text-decoration:none}.blog-author__credentials li{border:1px solid color-mix(in srgb, var(--site-primary,#3b82f6) 22%, transparent);background:color-mix(in srgb, var(--site-primary,#3b82f6) 8%, #fff);border-radius:999px;padding:.35rem .7rem;font-size:.75rem;font-weight:800}.blog-author__links a{min-height:2.5rem;color:var(--site-primary,#3b82f6);background:color-mix(in srgb, var(--site-primary,#3b82f6) 8%, transparent);border-radius:.7rem;align-items:center;padding:.48rem .8rem;font-size:.825rem;font-weight:700;text-decoration:none;transition:background .16s,transform .16s;display:inline-flex}.blog-author__links a:hover{background:color-mix(in srgb, var(--site-primary,#3b82f6) 15%, transparent);transform:translateY(-1px)}.blog-author__articles{padding-top:clamp(3.5rem,7vw,6rem)}.blog-author__articles-heading{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.75rem;display:flex}.blog-author__articles-heading h2{color:var(--site-heading,var(--site-text,#111827));font-family:var(--site-font-heading,var(--site-font-body,inherit));letter-spacing:-.035em;margin:0;font-size:clamp(1.8rem,4vw,2.7rem);font-weight:800;line-height:1.1}.blog-author__articles-heading>p{color:var(--site-text-muted,#6b7280);white-space:nowrap;margin:0 0 .25rem;font-size:.875rem}.blog-author .blog-card{background:var(--site-surface,#fff);min-height:100%;box-shadow:0 8px 30px #0f172a0b}.blog-author .blog-card__body{flex-direction:column;flex:1;display:flex}.blog-author .blog-card__meta{margin-top:auto;padding-top:.7rem}.blog-author .blog-pagination{justify-content:space-between}.blog-author__all-posts{color:#fff;background:var(--site-heading,#0f172a);border-radius:1.15rem;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:clamp(3rem,7vw,5rem);padding:clamp(1.25rem,4vw,2rem);display:flex}.blog-author__all-posts p{margin:0;font-size:clamp(1rem,2vw,1.2rem);font-weight:650}.blog-author__all-posts a{color:#fff;background:var(--site-primary,#3b82f6);border-radius:.7rem;flex:none;align-items:center;gap:.5rem;min-height:2.75rem;padding:.6rem 1rem;font-size:.875rem;font-weight:800;text-decoration:none;display:inline-flex}@container site style(--site-bp:mobile){.blog-author{width:min(100% - 2rem,40rem);padding-top:2rem}.blog-author__profile{grid-template-columns:1fr;justify-items:start;padding:1.4rem}.blog-author__portrait-wrap{width:6.5rem}.blog-author__articles-heading{flex-direction:column;align-items:start;gap:.6rem}.blog-author__all-posts{flex-direction:column;align-items:flex-start}}@media (max-width:640px){.blog-author{width:min(100% - 2rem,40rem);padding-top:2rem}.blog-author__profile{grid-template-columns:1fr;justify-items:start;padding:1.4rem}.blog-author__portrait-wrap{width:6.5rem}.blog-author__articles-heading{flex-direction:column;align-items:start;gap:.6rem}.blog-author__all-posts{flex-direction:column;align-items:flex-start}}@container site style(--site-bp:mobile){.blog-post{padding:1.25rem 1rem 3rem}.blog-post__title{font-size:1.75rem}h2.blog-post__heading{font-size:1.375rem}h3.blog-post__heading{font-size:1.125rem}.blog-post__body{font-size:1rem}.blog-post__featured-image{border-radius:0;margin-left:-1rem;margin-right:-1rem}.blog-post__figure--full{margin-left:-1rem;margin-right:-1rem}.blog-post__code code{padding:1rem;font-size:.8125rem}.blog-post__callout{padding:1rem}.blog-post__gallery{grid-template-columns:repeat(2,1fr)}.blog-related__grid{grid-template-columns:1fr}.blog-listing{padding:2rem 1rem 3rem}.blog-listing__layout{gap:2rem}.blog-featured-card__content{padding:1.25rem}.blog-featured-card__title{font-size:1.25rem}.blog-grid{grid-template-columns:1fr}.blog-post__table{font-size:.8125rem}.blog-post__table th,.blog-post__table td{padding:.5rem .625rem}}@media (max-width:640px){.blog-post{padding:1.25rem 1rem 3rem}.blog-post__title{font-size:1.75rem}h2.blog-post__heading{font-size:1.375rem}h3.blog-post__heading{font-size:1.125rem}.blog-post__body{font-size:1rem}.blog-post__featured-image{border-radius:0;margin-left:-1rem;margin-right:-1rem}.blog-post__figure--full{margin-left:-1rem;margin-right:-1rem}.blog-post__code code{padding:1rem;font-size:.8125rem}.blog-post__callout{padding:1rem}.blog-post__gallery{grid-template-columns:repeat(2,1fr)}.blog-related__grid{grid-template-columns:1fr}.blog-listing{padding:2rem 1rem 3rem}.blog-listing__layout{gap:2rem}.blog-featured-card__content{padding:1.25rem}.blog-featured-card__title{font-size:1.25rem}.blog-grid{grid-template-columns:1fr}.blog-post__table{font-size:.8125rem}.blog-post__table th,.blog-post__table td{padding:.5rem .625rem}}@media print{.blog-progress,.blog-post__share,.blog-post__back,.blog-related{display:none}.blog-post{color:#000;max-width:none}.blog-post__code{border:1px solid #ccc}}.blog-post__credentials{color:var(--site-text-muted,#6b7280);font-weight:500}.blog-post__reviewed{color:var(--site-text-muted,#6b7280);letter-spacing:.02em;margin-top:.75rem;font-size:.8125rem}.blog-post__reviewed time{font-variant-numeric:tabular-nums}.blog-post__citations,.blog-post__changelog,.blog-post__author-bio{border-top:1px solid color-mix(in srgb, var(--site-text,#374151) 12%, transparent);margin-top:3rem;padding-top:2rem}.blog-post__citations-title,.blog-post__changelog-title,.blog-post__author-bio-title{letter-spacing:.04em;text-transform:uppercase;color:var(--site-text-muted,#6b7280);margin:0 0 1rem;font-size:1rem;font-weight:700}.blog-post__citations-list{margin:0;padding-left:1.5rem;font-size:.9375rem;line-height:1.6}.blog-post__citation{color:var(--site-text,#374151);margin-bottom:.5rem}.blog-post__citation a{text-underline-offset:2px;text-decoration:underline}.blog-post__citation-publisher,.blog-post__citation-date{color:var(--site-text-muted,#6b7280)}.blog-post__citation-stat{color:var(--site-primary,#3b82f6);font-variant-numeric:tabular-nums}.blog-post__changelog-list{margin:0;padding:0;font-size:.9375rem;list-style:none}.blog-post__changelog-entry{border-bottom:1px solid color-mix(in srgb, var(--site-text,#374151) 8%, transparent);padding:.5rem 0}.blog-post__changelog-entry:last-child{border-bottom:0}.blog-post__changelog-date{color:var(--site-primary,#3b82f6);font-variant-numeric:tabular-nums;font-weight:600}.blog-post__changelog-summary{color:var(--site-text,#374151)}.blog-post__author-bio-body{align-items:flex-start;gap:1rem;display:flex}.blog-post__author-bio-avatar{object-fit:cover;border:1px solid #ffffff1a;border-radius:9999px;flex-shrink:0;width:64px;height:64px}.blog-post__author-bio-body p{color:#e2e8f0bf;margin:.5rem 0 0}.blog-post__author-bio-links{flex-wrap:wrap;gap:.75rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.blog-post__author-bio-links a{color:#38bdf8d9;text-underline-offset:2px;font-size:.8125rem;text-decoration:underline}@container site style(--site-bp:mobile){.blog-post__author-bio-body{flex-direction:column}.blog-post__author-bio-avatar{width:56px;height:56px}}@media (max-width:640px){.blog-post__author-bio-body{flex-direction:column}.blog-post__author-bio-avatar{width:56px;height:56px}}
