html.dark .zl-public-site .rich-text-content code,html.dark .zl-public-site .rich-text-content table thead{background-color:var(--zl-d-surface-3)}html.dark .zl-public-site .rich-text-content table td,html.dark .zl-public-site .rich-text-content table th{border-color:var(--zl-d-border-strong)}.zl-blog{--zb-bg:#fff;--zb-card:#fff;--zb-border:#eceef1;--zb-border-strong:#d1d5db;--zb-card-shadow:0 0 0 1px #1118270f,0 1px 2px #1118270d;--zb-card-shadow-hover:0 0 0 1px #11182714,0 8px 14px -8px #1118272e;--zb-fill:#f3f4f6;--zb-fill-hover:#e5e7eb;--zb-ink:#1c171a;--zb-ink-2:#4b5563;--zb-muted:#6b7280;--zb-brand:#cf2f62;--zb-brand-press:#d4384a;--zb-brand-text:#c92a3d;--zb-brand-soft:#fdeef0;--zb-on-brand:#fff;--zb-focus:#cf2f62;--zb-cat-l:46%;--zb-cat-c:.11;--zb-scrim-strong:#121212e0;--zb-scrim-mid:#12121273;--zb-scrim-none:#12121200;--zb-on-scrim:#fff;--zb-on-scrim-muted:#fffc;--zb-gap:16px;--zb-thumb-ratio:1200/630;--zb-fs-xs:.875rem;--zb-fs-base:1rem;--zb-fs-lg:1.125rem;--zb-fs-xl:1.375rem;--zb-fs-2xl:1.75rem;--zb-fs-display:clamp(2rem,1.6vw + 1.3rem,2.75rem);--zb-r-tile:12px;--zb-r-inner:8px;--zb-r-pill:999px;--zb-ease:cubic-bezier(.25,1,.5,1);--zb-t-fast:.12s;--zb-t-state:.2s;--zb-t-zoom:.3s;--zb-header-h:64px;color:var(--zb-ink)}@media (min-width:768px){.zl-blog{--zb-gap:24px}}html.dark .zl-blog{--zb-bg:#121212;--zb-card:#1f1f1f;--zb-border:#1f1f1f;--zb-border-strong:#2a2a2a;--zb-card-shadow:none;--zb-card-shadow-hover:none;--zb-fill:#2a2a2a;--zb-fill-hover:#333;--zb-ink:#fff;--zb-ink-2:#b3b3b3;--zb-muted:#b3b3b3;--zb-brand-text:#f07080;--zb-brand-soft:#e5415329;--zb-focus:#f07080;--zb-cat-l:80%;--zb-cat-c:.08}.zb-top-glow{z-index:-1;pointer-events:none;background:linear-gradient(#e541531a,#fff);background:linear-gradient(180deg,oklch(64% .17 var(--blog-cat-h,19)/.12),#fff);height:40vh;position:absolute;inset:0 0 auto}html.dark .zb-top-glow{background:linear-gradient(#e5415329,#0000);background:linear-gradient(180deg,oklch(64% .17 var(--blog-cat-h,19)/.18),transparent)}.zb-container{padding-inline:16px;width:100%;max-width:1280px;margin-inline:auto;padding-top:24px}@media (min-width:768px){.zb-container{padding-inline:32px}}.zl-blog .zb-display,.zl-blog .zb-h{font-family:var(--font-heading),var(--font-body),sans-serif;font-synthesis:none;text-wrap:balance;letter-spacing:-.01em;color:var(--zb-ink);margin:0;line-height:1.2}.zl-blog :focus-visible{outline:2px solid var(--zb-focus);outline-offset:2px}.zb-ink-2{color:var(--zb-ink-2)}.zb-clamp-2,.zb-clamp-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.zb-clamp-2{-webkit-line-clamp:2;line-clamp:2}.zb-clamp-3{-webkit-line-clamp:3;line-clamp:3}.zb-btn{border-radius:var(--zb-r-pill);min-height:44px;font-size:var(--zb-fs-xs);white-space:nowrap;cursor:pointer;transition:background-color var(--zb-t-state) var(--zb-ease),color var(--zb-t-state) var(--zb-ease);border:0;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:600;display:inline-flex}.zb-btn:active{transition-duration:var(--zb-t-fast);transform:scale(.98)}.zb-btn-brand,.zb-btn-brand:visited{background:var(--zb-brand);color:var(--zb-on-brand)}.zb-btn-brand:hover{background:var(--zb-brand-press);color:var(--zb-on-brand)}.zb-tile{border-radius:var(--zb-r-tile);background:var(--zb-card);box-shadow:var(--zb-card-shadow);isolation:isolate}.zb-frame,.zb-tile{position:relative;overflow:hidden}.zb-frame{background:var(--zb-fill)}.zb-frame img{object-fit:cover;width:100%;height:100%;transition:transform var(--zb-t-zoom) var(--zb-ease)}.zb-lift{transition:box-shadow var(--zb-t-state) var(--zb-ease),background-color var(--zb-t-state) var(--zb-ease)}@media (hover:hover){.zb-lift:hover{box-shadow:var(--zb-card-shadow-hover)}html.dark .zl-blog .zb-lift:hover{background:#242424}.zb-lift:hover .zb-frame img{transform:scale(1.03)}.zb-lift:hover .zb-card-title{color:var(--zb-brand-text)}}.zb-lift:has(:focus-visible){outline:2px solid var(--zb-focus);outline-offset:2px}.zb-lift :focus-visible{outline:none}.zl-blog .zb-stretch,.zl-blog .zb-stretch:hover{color:inherit}.zb-stretch:after{content:"";z-index:1;position:absolute;inset:0}.zb-cat-text,.zb-label{font-size:var(--zb-fs-xs);color:oklch(var(--zb-cat-l) var(--zb-cat-c) var(--blog-cat-h,19));font-weight:600;line-height:1.4}a.zb-label:hover{text-underline-offset:3px;text-decoration:underline}.zb-meta{font-size:var(--zb-fs-xs);color:var(--zb-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0;display:flex}.zb-meta>span{align-items:center;gap:4px;display:inline-flex}.zb-hero{gap:32px;padding-top:24px;padding-bottom:48px}.zb-hero,.zb-hero-copy{grid-template-columns:minmax(0,1fr);display:grid}.zb-hero-copy{align-content:center;gap:12px;min-width:0}.zb-hero h1{font-size:var(--zb-fs-display);max-width:14ch}.zb-hero .zb-lede{font-size:var(--zb-fs-base);color:var(--zb-ink-2);text-wrap:pretty;max-width:40ch;margin:0}@media (min-width:1024px){.zb-hero{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:48px;padding-top:40px;padding-bottom:56px}}.zb-search{background:var(--zb-card);border-radius:var(--zb-r-pill);max-width:520px;box-shadow:var(--zb-card-shadow);transition:box-shadow var(--zb-t-state) var(--zb-ease);align-items:center;gap:8px;margin-top:12px;padding:4px 4px 4px 16px;display:flex}html.dark .zl-blog .zb-search{background:var(--zb-fill)}.zb-search:focus-within,.zb-search:hover{box-shadow:0 0 0 1px #1118272e,0 1px 2px #1118270d}html.dark .zl-blog .zb-search:focus-within{box-shadow:0 0 0 1px #3a3a3a}.zb-search>svg{color:var(--zb-muted);flex:none}.zb-search input{width:0;min-width:0;min-height:44px;color:var(--zb-ink);font-size:var(--zb-fs-base);background:0 0;border:0;outline:none;flex:1}.zl-blog .zb-search input:focus,.zl-blog .zb-search input:focus-visible{box-shadow:none;outline:none}.zb-search input::placeholder{color:var(--zb-muted);opacity:1}.zb-search input::-webkit-search-cancel-button{display:none}.zb-search .zb-btn{min-height:40px}.zb-overlay{aspect-ratio:var(--zb-thumb-ratio);color:var(--zb-on-scrim)}.zb-overlay .zb-frame{z-index:-1;position:absolute;inset:0}.zb-overlay .zb-shade{background:linear-gradient(to top,var(--zb-scrim-strong) 0,var(--zb-scrim-mid) 45%,var(--zb-scrim-none) 75%);flex-direction:column;justify-content:flex-end;gap:6px;padding:16px;display:flex;position:absolute;inset:0}.zl-blog .zb-overlay .zb-cat-text{color:oklch(85% .07 var(--blog-cat-h,19))}.zb-overlay .zb-h{font-size:var(--zb-fs-lg);max-width:32ch;color:var(--zb-on-scrim)}.zb-overlay .zb-meta{color:var(--zb-on-scrim-muted)}@media (min-width:640px){.zb-overlay .zb-shade{gap:8px;padding:24px}.zb-feat-lg .zb-h{font-size:var(--zb-fs-2xl)}}.zb-featured{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.zb-feat-sm{grid-template-columns:128px minmax(0,1fr);align-items:center;display:grid}.zb-feat-sm .zb-frame{aspect-ratio:var(--zb-thumb-ratio);border-radius:var(--zb-r-inner);margin:8px 0 8px 8px}.zb-feat-sm .zb-body{align-content:center;gap:2px;padding:8px 12px;display:grid}.zb-feat-sm .zb-card-title{font-size:var(--zb-fs-xs)}@media (min-width:640px){.zb-featured--3{grid-template-columns:repeat(2,minmax(0,1fr))}.zb-featured--3 .zb-feat-lg{grid-column:1/-1}}.zb-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-bottom:16px;display:flex}.zb-section-head .zb-h{font-size:var(--zb-fs-2xl)}.zb-chips{margin:0 -4px var(--zb-gap);scrollbar-width:none;scroll-snap-type:x proximity;gap:8px;padding:4px;list-style:none;display:flex;overflow-x:auto}.zb-chips::-webkit-scrollbar{display:none}.zb-chip{scroll-snap-align:start;border-radius:var(--zb-r-pill);min-height:40px;font-size:var(--zb-fs-xs);white-space:nowrap;background:var(--zb-card);box-shadow:var(--zb-card-shadow);color:var(--zb-ink-2);transition:box-shadow var(--zb-t-state) var(--zb-ease),color var(--zb-t-state) var(--zb-ease);flex:none;align-items:center;padding:0 16px;font-weight:500;display:inline-flex}html.dark .zl-blog .zb-chip{background:var(--zb-fill)}.zb-chip:hover{box-shadow:var(--zb-card-shadow-hover);color:var(--zb-ink)}html.dark .zl-blog .zb-chip:hover{background:var(--zb-fill-hover)}.zb-chip:active{transition-duration:var(--zb-t-fast);transform:scale(.97)}.zl-blog .zb-chip[aria-current=page],.zl-blog .zb-chip[aria-current=page]:hover,html.dark .zl-blog .zb-chip[aria-current=page]{background:var(--zb-brand);color:var(--zb-on-brand);box-shadow:none}@media (min-width:1024px){.zb-chips{flex-wrap:wrap;overflow:visible}}.zb-grid{gap:var(--zb-gap);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:720px){.zb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:720px) and (max-width:1023px){.zb-grid{grid-auto-flow:dense}.zb-grid>.zb-popular{grid-column:1/-1}}@media (min-width:1024px){.zb-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.zb-grid>[data-col]{grid-column:var(--zb-col) /span var(--zb-span);grid-row:var(--zb-row)}}.zb-card{flex-direction:column;display:flex}.zb-card .zb-frame{aspect-ratio:var(--zb-thumb-ratio)}.zb-card-body{flex:1;align-content:start;gap:8px;padding:16px;display:grid}.zb-card-title{font-family:var(--font-body),sans-serif;font-size:var(--zb-fs-base);color:var(--zb-ink);transition:color var(--zb-t-state) var(--zb-ease);margin:0;font-weight:600;line-height:1.4}.zb-card-body .zb-meta{margin-top:auto;padding-top:4px}.zb-popular{flex-direction:column;gap:8px;padding:20px;display:flex}.zb-popular .zb-h{font-size:var(--zb-fs-lg)}.zb-popular ol{flex-direction:column;flex:1;justify-content:space-between;margin:0;padding:0;list-style:none;display:flex}.zb-rank-item{isolation:isolate;border-top:1px solid var(--zb-border);padding:8px 40px 8px 0;position:relative}html.dark .zl-blog .zb-rank-item{border-top-color:#292929}.zb-rank-item:first-child{border-top:0}.zb-rank-item:has(:focus-visible){outline:2px solid var(--zb-focus);outline-offset:2px;border-radius:var(--zb-r-inner)}.zb-rank-item :focus-visible{outline:none}.zb-rank-no{z-index:-1;font-family:var(--font-heading),var(--font-body),sans-serif;color:var(--zb-brand);opacity:.14;font-variant-numeric:tabular-nums;pointer-events:none;transform-origin:100%;transition:transform var(--zb-t-zoom) var(--zb-ease),opacity var(--zb-t-zoom) var(--zb-ease);font-size:3.5rem;line-height:1;position:absolute;top:50%;right:0;transform:translateY(-50%)}html.dark .zl-blog .zb-rank-no{opacity:.22}.zb-rank-item a{font-size:var(--zb-fs-xs);color:var(--zb-ink);transition:color var(--zb-t-state) var(--zb-ease);font-weight:600;line-height:1.45;display:block}@media (hover:hover){.zb-rank-item:hover a{color:var(--zb-brand-text)}.zb-rank-item:hover .zb-rank-no{opacity:.24;transform:translateY(-50%)scale(1.35)}}.zb-rank-item .zb-meta{margin-top:4px}.zb-pager{flex-wrap:wrap;margin-top:40px;display:flex}.zb-pager,.zb-pager>a,.zb-pager>span{justify-content:center;align-items:center;gap:8px}.zb-pager>a,.zb-pager>span{border-radius:var(--zb-r-pill);min-width:44px;min-height:44px;font-size:var(--zb-fs-xs);font-variant-numeric:tabular-nums;background:var(--zb-card);box-shadow:var(--zb-card-shadow);color:var(--zb-ink);transition:box-shadow var(--zb-t-state) var(--zb-ease),background-color var(--zb-t-state) var(--zb-ease);padding:0 16px;font-weight:600;display:inline-flex}html.dark .zl-blog .zb-pager>a,html.dark .zl-blog .zb-pager>span{background:var(--zb-fill)}.zb-pager>a:hover{box-shadow:var(--zb-card-shadow-hover);color:var(--zb-ink)}html.dark .zl-blog .zb-pager>a:hover{background:var(--zb-fill-hover)}.zb-pager>a:active{transition-duration:var(--zb-t-fast);transform:scale(.97)}.zl-blog .zb-pager [aria-current=page],.zl-blog .zb-pager [aria-current=page]:hover,html.dark .zl-blog .zb-pager>[aria-current=page]{background:var(--zb-brand);color:var(--zb-on-brand);box-shadow:none}.zl-blog .zb-pager [aria-disabled=true],html.dark .zl-blog .zb-pager>[aria-disabled=true]{color:var(--zb-muted);box-shadow:none;background:0 0}.zb-pager .zb-page-n{padding:0}.zb-cta{display:grid}.zb-cta-copy{align-content:center;justify-items:start;gap:12px;padding:32px 24px;display:grid}.zb-cta-copy .zb-h{font-size:var(--zb-fs-2xl);max-width:18ch}.zb-cta-copy p{color:var(--zb-ink-2);max-width:44ch;margin:0 0 8px}.zb-cta-actions{flex-wrap:wrap;gap:8px;display:flex}.zb-btn-outline{background:var(--zb-card);color:var(--zb-ink);box-shadow:var(--zb-card-shadow)}.zb-btn-outline:hover{color:var(--zb-ink);box-shadow:var(--zb-card-shadow-hover)}html.dark .zl-blog .zb-btn-outline{background:var(--zb-fill)}html.dark .zl-blog .zb-btn-outline:hover{background:var(--zb-fill-hover)}.zb-cta .zb-frame{aspect-ratio:3/2;background:var(--zb-brand-soft);padding:24px 0 0 24px}.zb-cta .zb-frame img{object-position:left top;border-top-left-radius:var(--zb-r-inner);box-shadow:0 0 0 1px #1118270f,0 10px 14px -10px #11182740}@media (hover:hover){.zb-cta .zb-frame img{transition:none}}@media (min-width:900px){.zb-cta{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}.zb-cta-copy{padding:48px}.zb-cta .zb-frame{aspect-ratio:auto;height:100%;min-height:320px;padding:40px 0 0 40px}}.zb-section{padding-bottom:56px}@media (prefers-reduced-motion:reduce){.zl-blog *,.zl-blog :after,.zl-blog :before{transition-duration:1ms!important}.zb-lift:hover .zb-frame img{transform:none!important}.zb-rank-item:hover .zb-rank-no{transform:translateY(-50%)!important}}html.dark .zl-public-site .rich-text-content blockquote{border-left-color:var(--zl-d-border-strong);color:var(--zl-d-text-2);background-color:var(--zl-d-surface)}html.dark .zl-public-site .rich-text-content figure>figcaption{color:var(--zl-d-text-3)}html.dark .zl-public-site .rich-text-content table thead{background-color:var(--zl-d-surface-3)}html.dark .zl-public-site .rich-text-content table th{border-color:var(--zl-d-border-strong)}html.dark .zl-public-site hr{border-top-color:#0000;border-bottom-color:var(--zl-d-border)}html.dark:has(.zl-public-site) body{background-color:var(--zl-d-bg)}.zl-blog .zb-overlay .zb-card-title{color:var(--zb-on-scrim)}.zb-overlay .zb-cat-text,.zb-overlay .zb-card-title{text-shadow:0 1px 2px #00000080}.zl-blog .zl-md-figure{margin:28px 0}.zl-blog .zl-md-figure img{background:var(--zb-fill);border-radius:12px;width:100%;max-width:100%;height:auto;display:block}.zl-blog .zl-md-figure figcaption{font-size:var(--zb-fs-xs);color:var(--zb-muted);text-align:center;text-wrap:pretty;margin-top:8px;line-height:1.5}
