.blog-page{padding:2.4rem 0 6rem}.blog-page__header{margin-bottom:3.2rem;max-width:72rem}.blog-page__header h1{margin:0;font-family:var(--font-heading-family);font-size:clamp(2.8rem,4vw,4rem);font-weight:700;line-height:1.2}.blog-page__header p{margin:1.2rem 0 0;font-size:1.6rem;line-height:1.6;opacity:.72}.blog-empty{padding:4.8rem 2.4rem;text-align:center;border:1px dashed rgba(var(--color-foreground),.18);border-radius:1.2rem}.blog-empty p{margin:0;font-size:1.6rem;line-height:1.6;opacity:.72}.blog-empty a{font-weight:600}.blog-list{display:grid;gap:2.4rem;grid-template-columns:1fr;margin:0;padding:0;list-style:none}@media(min-width:750px){.blog-list{grid-template-columns:repeat(2,1fr);gap:2.8rem}}@media(min-width:990px){.blog-list{grid-template-columns:repeat(3,1fr)}}.blog-card{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit;border:1px solid rgba(var(--color-foreground),.08);border-radius:1.2rem;overflow:hidden;background:#fff;box-shadow:0 .4rem 1.6rem #1212120a;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.blog-card:hover{border-color:#2563eb38;box-shadow:0 1rem 2.8rem #12121214;transform:translateY(-2px)}.blog-card__media{overflow:hidden;aspect-ratio:16 / 10;background:rgba(var(--color-foreground),.04)}.blog-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.blog-card:hover .blog-card__media img{transform:scale(1.03)}.blog-card__body{padding:1.8rem 2rem 2.2rem;flex:1;display:flex;flex-direction:column;gap:.8rem}.blog-card__meta{font-size:1.3rem;opacity:.65;display:flex;flex-wrap:wrap;gap:.6rem 1.2rem}.blog-card__title{margin:0;font-size:1.8rem;font-weight:600;line-height:1.35}.blog-card__desc{margin:0;font-size:1.4rem;line-height:1.55;opacity:.72;flex:1}.blog-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none}.blog-tags li{font-size:1.2rem;padding:.25rem .8rem;border-radius:.4rem;background:rgba(var(--color-foreground),.06);line-height:1.4}.blog-breadcrumb{font-size:1.4rem;padding:2rem 0 0}.blog-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.2rem;margin:0;padding:0;list-style:none}.blog-breadcrumb a{text-decoration:none;opacity:.7}.blog-breadcrumb a:hover{opacity:1}.blog-breadcrumb li:last-child{font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blog-breadcrumb li:not(:last-child):after{content:"/";margin-left:1.2rem;opacity:.4}.blog-article{padding:2.4rem 0 6rem;max-width:78rem;margin:0 auto}.blog-article--with-toc{max-width:112rem}.blog-article__body{min-width:0}.blog-article__body--with-toc{display:grid;gap:2.4rem;grid-template-columns:1fr}@media(min-width:1100px){.blog-article__body--with-toc{grid-template-columns:minmax(22rem,26rem) minmax(0,1fr);gap:3.6rem;align-items:start}}.blog-toc{min-width:0}.blog-toc__panel{margin:0;border:1px solid rgba(var(--color-foreground),.1);border-radius:1.2rem;background:#f7f8fa;overflow:hidden}.blog-toc__head{display:flex;align-items:center;gap:1rem;padding:1.2rem 1.4rem}.blog-toc__title{margin:0;font-family:var(--font-heading-family);font-size:1.35rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#121212c7}.blog-toc__count{margin-left:auto;font-size:1.25rem;font-weight:500;color:#12121280}.blog-toc__toggle{display:none;align-items:center;justify-content:center;width:3.6rem;height:3.6rem;margin:-.6rem -.4rem -.6rem 0;padding:0;border:1px solid rgba(18,18,18,.12);border-radius:.8rem;background:#fff;cursor:pointer;color:#121212b3}.blog-toc.is-collapsible .blog-toc__toggle{display:inline-flex}.blog-toc__toggle:hover{border-color:#2563eb59;color:rgb(var(--color-highlight))}.blog-toc__toggle-icon{display:block;width:.7rem;height:.7rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-.3rem;transition:transform .2s ease}.blog-toc.is-open .blog-toc__toggle-icon{transform:rotate(-135deg);margin-top:.2rem}.blog-toc__list{list-style:none;margin:0;padding:0 1rem 1.2rem;border-top:1px solid rgba(var(--color-foreground),.08);max-height:min(55vh,42rem);overflow-y:auto;-webkit-overflow-scrolling:touch}.blog-toc__item{margin:0;padding:0}.blog-toc__item a{display:block;padding:.7rem .9rem;border-radius:.6rem;font-size:1.4rem;line-height:1.4;color:#121212b8;text-decoration:none;border-left:.3rem solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease}.blog-toc__item a:hover{color:rgb(var(--color-foreground));background:#ffffffbf}.blog-toc__item a.is-active,.blog-toc__item a[aria-current=location]{color:rgb(var(--color-highlight));font-weight:600;background:#fff;border-left-color:rgb(var(--color-highlight));box-shadow:0 1px 4px #1212120a}.blog-toc__item--h3 a{padding-left:1.8rem;font-size:1.3rem;color:#12121299}.blog-toc.is-collapsible:not(.is-open) .blog-toc__list{display:none}@media(min-width:1100px){.blog-toc{position:sticky;top:9.6rem;max-height:calc(100vh - 11rem)}.blog-toc__panel{max-height:inherit;display:flex;flex-direction:column;background:#fff;box-shadow:0 .4rem 1.6rem #1212120a}.blog-toc.is-collapsible .blog-toc__toggle,.blog-toc__toggle{display:none}.blog-toc.is-collapsible:not(.is-open) .blog-toc__list,.blog-toc__list{display:block;max-height:none;flex:1;overflow-y:auto;padding:0 1.2rem 1.6rem}}@media(prefers-reduced-motion:reduce){.blog-toc__toggle-icon,.blog-toc__item a{transition:none}}@media(prefers-reduced-motion:no-preference){html:has(.blog-toc){scroll-behavior:smooth}}.blog-article__header{margin-bottom:2.4rem}.blog-article__header h1{margin:0;font-family:var(--font-heading-family);font-size:clamp(2.8rem,4.2vw,4.2rem);font-weight:700;line-height:1.18;letter-spacing:-.02em}.blog-article__deck{margin:1.4rem 0 0;font-size:1.8rem;line-height:1.55;color:#121212b8;max-width:64rem}.blog-article__meta{margin-top:1.8rem;padding-top:1.6rem;border-top:1px solid rgba(var(--color-foreground),.08);font-size:1.35rem;color:#121212a6;display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.6rem}.blog-byline{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;width:100%;font-size:1.35rem;color:#121212b3}.blog-byline strong{color:#121212e0;font-weight:600}.blog-article__meta .blog-tags{margin-left:auto}.blog-article__cover{margin:0 0 3.6rem;border-radius:1.2rem;overflow:hidden;border:1px solid rgba(var(--color-foreground),.06);background:rgba(var(--color-foreground),.03)}.blog-article__cover img{width:100%;aspect-ratio:1200 / 630;height:auto;object-fit:cover;display:block}.blog-prose{font-size:1.7rem;line-height:1.75;color:#121212eb;--blog-border: rgba(18, 18, 18, .1);--blog-muted: rgba(18, 18, 18, .68);--blog-surface: #f7f8fa;--blog-surface-blue: #eff6ff}.blog-prose>*:first-child{margin-top:0}.blog-prose :where(h2,h3,h4){font-family:var(--font-heading-family);line-height:1.28;color:rgb(var(--color-foreground));scroll-margin-top:8rem}.blog-prose h2{margin:4rem 0 1.4rem;padding-bottom:1rem;font-size:clamp(2.2rem,2.8vw,2.6rem);font-weight:700;border-bottom:1px solid var(--blog-border)}.blog-prose h3{margin:2.8rem 0 1rem;font-size:2rem;font-weight:650}.blog-prose h4{margin:2.2rem 0 .8rem;font-size:1.7rem;font-weight:600}.blog-prose p{margin:0 0 1.5rem}.blog-prose>p:first-child:has(>strong:only-child){margin:0 0 .8rem;font-size:1.25rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--color-highlight))}.blog-prose>p:first-child:has(>strong:only-child) strong{font-weight:700}.blog-prose>p:first-child:has(>strong:only-child)+ul{margin:0 0 2.4rem;padding:1.6rem 2rem 1.6rem 2.8rem;list-style:disc;background:var(--blog-surface-blue);border:1px solid rgba(37,99,235,.12);border-left:.4rem solid rgb(var(--color-highlight));border-radius:0 1rem 1rem 0}.blog-prose>p:first-child:has(>strong:only-child)+ul li{margin:.6rem 0;padding-left:.2rem}.blog-prose ul{list-style:disc;margin:0 0 1.6rem;padding-left:2.2rem}.blog-prose ol{list-style:decimal;margin:0 0 1.6rem;padding-left:2.2rem}.blog-prose li{margin:.45rem 0;padding-left:.2rem}.blog-prose li>ul,.blog-prose li>ol{margin:.4rem 0 .6rem}.blog-prose li::marker{color:#12121273}.blog-prose a{color:rgb(var(--color-highlight));text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}.blog-prose a:hover{text-decoration-thickness:2px}.blog-prose strong{font-weight:650;color:rgb(var(--color-foreground))}.blog-prose em{font-style:italic}.blog-prose hr{margin:3.2rem 0;border:0;border-top:1px solid var(--blog-border)}.blog-prose blockquote{margin:0 0 1.8rem;padding:1.2rem 1.6rem 1.2rem 2rem;border-left:.4rem solid rgb(var(--color-highlight));background:var(--blog-surface);border-radius:0 .8rem .8rem 0;color:var(--blog-muted)}.blog-prose blockquote p:last-child{margin-bottom:0}.blog-prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;padding:.15em .4em;border-radius:.35rem;background:rgba(var(--color-foreground),.06)}.blog-prose pre{margin:0 0 1.8rem;padding:1.4rem 1.6rem;overflow-x:auto;border-radius:.8rem;background:#111827;color:#f9fafb;font-size:1.4rem;line-height:1.55}.blog-prose pre code{padding:0;background:transparent;color:inherit;font-size:inherit}.blog-prose img{max-width:100%;height:auto;border-radius:.8rem;display:block;margin:0 auto 1.6rem}.blog-prose figure{margin:0 0 2rem}.blog-prose figcaption{margin-top:.8rem;font-size:1.35rem;text-align:center;color:var(--blog-muted)}.blog-table-wrap{margin:0 0 2.2rem;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--blog-border);border-radius:1rem;background:#fff;box-shadow:0 .4rem 1.2rem #12121208}.blog-prose table{width:100%;min-width:48rem;border-collapse:collapse;font-size:1.45rem;line-height:1.45;background:#fff}.blog-prose thead th{font-family:var(--font-heading-family);font-size:1.35rem;font-weight:700;letter-spacing:.01em;text-align:left;vertical-align:bottom;padding:1.2rem 1.4rem;background:var(--blog-surface-blue);color:rgb(var(--color-foreground));border-bottom:1px solid rgba(37,99,235,.18);white-space:nowrap}.blog-prose tbody td{padding:1.15rem 1.4rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--blog-border);color:#121212e0}.blog-prose tbody tr:last-child td{border-bottom:0}.blog-prose tbody tr:nth-child(2n) td{background:#f7f8fab3}.blog-prose tbody tr:hover td{background:#eff6ff8c}.blog-prose tbody td:first-child{font-weight:600;color:rgb(var(--color-foreground));white-space:nowrap}.blog-prose table:has(th:nth-child(2):last-child),.blog-prose table:has(th:nth-child(3):last-child){min-width:0}@media(max-width:749px){.blog-prose{font-size:1.6rem;line-height:1.7}.blog-prose h2{margin-top:3.2rem;font-size:2.1rem}.blog-prose thead th,.blog-prose tbody td{padding:1rem 1.1rem;font-size:1.35rem}.blog-prose tbody td:first-child{white-space:normal}.blog-article__meta .blog-tags{margin-left:0;width:100%}}.blog-cta{margin-top:4.8rem;padding:2.4rem 2.8rem;border-radius:1.2rem;background:var(--blog-surface-blue);border:1px solid rgba(37,99,235,.12);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.6rem}.blog-cta p{margin:0;font-size:1.6rem;line-height:1.5;max-width:48rem;font-weight:500}@media(prefers-reduced-motion:reduce){.blog-card,.blog-card__media img{transition:none}.blog-card:hover{transform:none}}
