.blog-hero{padding-top:clamp(88px,16vh,170px);padding-bottom:var(--space-3xl)}.blog-hero h1{font-size:min(var(--6xl-size),8vw);line-height:var(--6xl-line);letter-spacing:var(--6xl-track);font-weight:450;text-wrap:balance}.blog-hero .lede{max-width:640px;margin-top:var(--space-lg)}.featured-post{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:center;margin-bottom:var(--space-4xl)}.featured-post__media{position:relative;aspect-ratio:16 / 9;border-radius:var(--shape-lg);background:radial-gradient(120% 120% at 20% 15%,color-mix(in srgb,var(--theme-accent) 16%,transparent),transparent 55%),var(--theme-surface-container-high);display:flex;align-items:flex-end;padding:var(--space-xl);overflow:hidden;text-decoration:none;transition:transform var(--dur-hover) var(--ease-out-quart)}.featured-post__media:hover{transform:scale(1.02)}.featured-post__media .icon-tile{width:56px;height:56px;border-radius:var(--shape-md, 12px);background:var(--theme-surface)}.featured-post__media .icon-tile svg{width:28px;height:28px}.featured-post__tag{position:absolute;top:var(--space-lg);left:var(--space-lg);display:inline-flex;padding:6px 12px;border-radius:var(--shape-sm);background:var(--theme-surface);font-size:var(--xs-size);font-weight:600;color:var(--theme-link)}.featured-post__copy h2{font-size:min(var(--4xl-size),4.4vw);line-height:var(--4xl-line);letter-spacing:var(--4xl-track);font-weight:450;text-wrap:balance}.featured-post__copy h2 a{text-decoration:none}.featured-post__copy h2 a:hover{color:var(--theme-link)}.featured-post__copy p{margin-top:var(--space-md);color:var(--theme-surface-on-variant);line-height:1.65}.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px var(--space-md);margin-top:var(--space-lg);font-size:var(--xs-size);color:var(--theme-surface-on-variant)}.post-meta strong{color:var(--theme-surface-on);font-weight:600}.post-meta .dot{opacity:.5}.blog-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md);padding-block:var(--space-lg);border-top:1px solid var(--divider);border-bottom:1px solid var(--divider)}.blog-cats{display:flex;flex-wrap:wrap;gap:8px}.blog-cats button{min-height:36px;padding:0 16px;border:1px solid var(--theme-outline-variant);border-radius:9999px;background:transparent;font:inherit;font-size:var(--sm-size);font-weight:500;color:var(--theme-surface-on-variant);cursor:pointer;transition:background var(--dur-hover) ease,color var(--dur-hover) ease,border-color var(--dur-hover) ease}.blog-cats button:hover{color:var(--theme-surface-on)}.blog-cats button[aria-pressed=true]{background:var(--theme-surface-on);border-color:var(--theme-surface-on);color:var(--theme-surface)}.blog-search{display:flex;align-items:center;gap:10px;min-width:min(280px,100%);padding:0 14px;border:1px solid var(--theme-outline-variant);border-radius:9999px;background:var(--theme-surface-container);color:var(--theme-surface-on-variant)}.blog-search input{flex:1;min-height:40px;border:none;background:transparent;font:inherit;font-size:var(--sm-size);color:var(--theme-surface-on)}.blog-search input:focus{outline:none}.blog-search:focus-within{border-color:var(--theme-accent);outline:2px solid color-mix(in srgb,var(--theme-accent) 35%,transparent)}.post-rows{margin-bottom:var(--space-5xl)}.post-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:var(--space-xl);align-items:baseline;padding-block:var(--space-xl);border-bottom:1px solid var(--divider);text-decoration:none}.post-row:hover .post-row__title{color:var(--theme-link)}.post-row__date{font-family:var(--font-mono);font-size:12.5px;color:var(--theme-surface-on-variant)}.post-row__title{font-size:var(--md-size);font-weight:600;line-height:1.35;transition:color var(--dur-hover) ease}.post-row__excerpt{margin-top:8px;font-size:var(--sm-size);color:var(--theme-surface-on-variant);line-height:1.6;max-width:72ch}.post-row__meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px;font-size:var(--xs-size);color:var(--theme-surface-on-variant);white-space:nowrap}.tag-chip{display:inline-flex;padding:4px 10px;border-radius:var(--shape-sm);background:var(--theme-surface-container);font-size:11px;font-weight:600;color:var(--theme-surface-on-variant)}.post-rows__empty{padding:var(--space-3xl) 0;color:var(--theme-surface-on-variant);text-align:center}.post-hero{padding-top:clamp(72px,12vh,140px);padding-bottom:var(--space-3xl)}.post-back{display:inline-flex;align-items:center;gap:8px;font-size:var(--sm-size);font-weight:500;color:var(--theme-surface-on-variant);text-decoration:none;margin-bottom:var(--space-xl)}.post-back:hover{color:var(--theme-surface-on)}.post-hero h1{font-size:clamp(2.25rem,3.8vw,3.25rem);line-height:1.15;letter-spacing:-.017em;font-weight:500;max-width:24ch;text-wrap:balance}.post-hero .post-meta{margin-top:var(--space-xl)}.prose{max-width:46rem;margin-top:var(--space-3xl);padding-bottom:var(--space-4xl);font-size:var(--md-size);line-height:1.75;color:var(--theme-surface-on)}.prose h2{margin-top:var(--space-4xl);font-size:min(var(--3xl-size),5vw);line-height:var(--3xl-line);letter-spacing:var(--3xl-track);font-weight:450}.prose h3{margin-top:var(--space-2xl);font-size:var(--lg-size);font-weight:600}.prose p{margin-top:var(--space-lg)}.prose a{color:var(--theme-link);text-decoration:underline;text-underline-offset:3px}.prose ul,.prose ol{margin-top:var(--space-lg);padding-left:1.4em}.prose li{margin-top:8px}.prose li::marker{color:var(--theme-link)}.prose strong{font-weight:650}.prose code{font-family:var(--font-mono);font-size:.88em;background:var(--theme-surface-container);border-radius:6px;padding:2px 6px}.prose pre{margin-top:var(--space-xl);padding:var(--space-lg) var(--space-xl);background:var(--theme-surface-container);border:1px solid var(--theme-outline-variant);border-radius:var(--shape-lg);overflow-x:auto;font-size:13px;line-height:1.7}.prose pre code{background:none;padding:0;font-size:inherit}.prose .astro-code,.prose .astro-code span{color:var(--shiki-light);background-color:var(--shiki-light-bg)}:root[data-theme=dark] .prose .astro-code,:root[data-theme=dark] .prose .astro-code span{color:var(--shiki-dark);background-color:var(--shiki-dark-bg)}.prose blockquote{margin-top:var(--space-xl);padding-left:var(--space-xl);border-left:3px solid var(--theme-accent);color:var(--theme-surface-on-variant)}.post-share{display:flex;align-items:center;gap:var(--space-md);max-width:46rem;padding-block:var(--space-xl);border-top:1px solid var(--divider);font-size:var(--sm-size);color:var(--theme-surface-on-variant)}.related-posts{max-width:46rem;padding-block:var(--space-3xl) var(--space-5xl);border-top:1px solid var(--divider)}.related-posts__list{display:grid;gap:12px;margin-top:var(--space-xl)}.related-post{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);background:var(--theme-surface-container);border-radius:var(--shape-md, 12px);text-decoration:none;transition:background var(--dur-hover) ease}.related-post:hover{background:var(--theme-surface-container-high)}.related-post strong{font-weight:600;font-size:var(--sm-size)}.related-post span{font-size:var(--xs-size);color:var(--theme-surface-on-variant);white-space:nowrap}@media(max-width:1024px){.featured-post{grid-template-columns:1fr}}@media(max-width:767px){.post-row{grid-template-columns:1fr;gap:8px}.post-row__meta{flex-direction:row;align-items:center}}
