@layer astro.images{:where([data-astro-image]){height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}[data-astro-image-fit=fill]{object-fit:fill}[data-astro-image-fit=contain]{object-fit:contain}[data-astro-image-fit=cover]{object-fit:cover}[data-astro-image-fit=scale-down]{object-fit:scale-down}[data-astro-image-pos=top]{object-position:top}[data-astro-image-pos=bottom]{object-position:bottom}[data-astro-image-pos=left]{object-position:left}[data-astro-image-pos=right]{object-position:right}[data-astro-image-pos=center]{object-position:center}[data-astro-image-pos=top-bottom]{object-position:top bottom}[data-astro-image-pos=top-left]{object-position:top left}[data-astro-image-pos=top-right]{object-position:top right}[data-astro-image-pos=top-center]{object-position:top center}[data-astro-image-pos=bottom-top]{object-position:bottom top}[data-astro-image-pos=bottom-left]{object-position:bottom left}[data-astro-image-pos=bottom-right]{object-position:bottom right}[data-astro-image-pos=bottom-center]{object-position:bottom center}[data-astro-image-pos=left-top]{object-position:left top}[data-astro-image-pos=left-bottom]{object-position:left bottom}[data-astro-image-pos=left-right]{object-position:left right}[data-astro-image-pos=left-center]{object-position:left center}[data-astro-image-pos=right-top]{object-position:right top}[data-astro-image-pos=right-bottom]{object-position:right bottom}[data-astro-image-pos=right-left]{object-position:right left}[data-astro-image-pos=right-center]{object-position:right center}[data-astro-image-pos=center-top]{object-position:center top}[data-astro-image-pos=center-bottom]{object-position:center bottom}[data-astro-image-pos=center-left]{object-position:center left}[data-astro-image-pos=center-right]{object-position:center right}}.blog{padding-bottom:clamp(4rem,8vh,6rem)}.blog-hero{padding:clamp(3rem, 8vh, 5rem) var(--gutter) 2rem}.blog-hero h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:clamp(2rem,4vw,3rem);font-weight:500;line-height:1.1}.blog-intro{max-width:40rem;color:var(--ink-mid);margin-top:1rem;font-size:1.05rem;line-height:1.6}.blog-list{padding:0 var(--gutter)}.blog-list-heading{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:3rem 0 1.25rem;font-size:1.5rem;font-weight:500}.blog-list-grid,.post-grid{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:1.5rem;display:grid}.post-grid{padding:0 var(--gutter)}.blog-empty{padding:0 var(--gutter);color:var(--ink-faint)}.blog-featured{padding:0 var(--gutter)}.post-card.post-card-featured{flex-direction:row;align-items:stretch}.post-card.post-card-featured .post-card-cover{aspect-ratio:40/21;border-radius:var(--radius) 0 0 var(--radius);flex:0 0 58%}.post-card.post-card-featured .post-card-cover img{height:100%}.post-card.post-card-featured .post-card-body{align-self:center;padding:2rem}.post-card-featured .post-card-title{font-size:clamp(1.6rem,2.5vw,2.25rem)}.post-card-featured .post-card-desc{font-size:1.05rem}.post-card-latest{background:var(--accent-soft);color:var(--accent-deep);border-radius:100px;padding:.15rem .5rem}.post-card{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);flex-direction:column;display:flex}.post-card-body{flex-direction:column;flex:1;gap:.6rem;padding:1.5rem;display:flex}.post-card-cover{background:var(--bg-soft);border-radius:var(--radius) var(--radius) 0 0;margin:0;display:block;overflow:clip}.post-card-cover img{aspect-ratio:40/21;object-fit:cover;width:100%;height:100%;display:block}.post-card-cover img.cover-card{object-fit:contain;background:#10201b}.post-card-meta{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.72rem;display:flex}.post-card-read:before{content:"·";margin-right:.75rem}.post-card-foot{border-top:1px solid var(--rule);color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:auto;padding-top:.75rem;font-size:.85rem;display:flex}.post-card-author{color:var(--ink-mid);font-weight:500}.post-card-tags{flex-wrap:wrap;gap:.35rem;display:flex}.post-card-tags span{border:1px solid var(--rule);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-radius:100px;padding:.1rem .5rem;font-size:.68rem}.post-card-foot .post-card-more{margin-left:auto}.post-card-lang{border:1px solid var(--rule);border-radius:100px;padding:.15rem .5rem}.post-card-title{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.35rem;font-weight:500;line-height:1.25}.post-card-title a{color:var(--ink);text-decoration:none}.post-card-title a:hover{color:var(--accent)}.post-card-desc{color:var(--ink-mid);flex:1;line-height:1.55}.post-card-more{color:var(--accent);font-size:.875rem;font-weight:500;text-decoration:none}.post-card-more:hover{text-decoration:underline}.post{padding:clamp(3rem, 8vh, 5rem) var(--gutter) clamp(4rem, 8vh, 6rem)}.post article{max-width:54rem;margin:0 auto}.post-header{margin-bottom:2rem}.post-meta{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);gap:.75rem;font-size:.72rem;display:flex}.post-author:before,.post-updated:before,.post-read:before{content:"·";margin-right:.75rem}.post-header h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin-top:.75rem;font-size:clamp(2rem,4vw,3rem);font-weight:500;line-height:1.1}.post-lead{color:var(--ink-mid);margin-top:1rem;font-size:1.1rem;line-height:1.6}.post-tags{flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding:0;list-style:none;display:flex}.post-tags li{border:1px solid var(--rule);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-radius:100px;padding:.2rem .6rem;font-size:.72rem}.post-cover{border-radius:var(--radius);width:100%;height:auto;margin:0 0 2rem}.post-body h2{font-family:var(--font-display);color:var(--ink);margin:2.5rem 0 1rem;font-size:1.6rem;font-weight:500;line-height:1.2}.post-body h3{color:var(--ink);margin:2rem 0 .75rem;font-size:1.15rem;font-weight:600}.post-body p{margin:0 0 1.25rem}.post-body ul,.post-body ol{margin:0 0 1.25rem 1.25rem}.post-body li{margin-bottom:.4rem}.post-body a{color:var(--accent)}.post-body blockquote{border-left:3px solid var(--accent);color:var(--ink);font-family:var(--font-display);margin:1.5rem 0;padding:.5rem 0 .5rem 1.25rem;font-size:1.15rem;font-style:italic}.post-body code{font-family:var(--font-mono);background:var(--bg-soft);border-radius:3px;padding:.1em .35em;font-size:.9em}.post-body pre{background:var(--bg-soft);border-radius:var(--radius);margin:0 0 1.25rem;padding:1rem 1.25rem;overflow-x:auto}.post-body pre code{background:0 0;padding:0}.post-body img{border-radius:var(--radius);max-width:100%;height:auto}.post-body hr{border:0;border-top:1px solid var(--rule);margin:2.5rem 0}.post-back{max-width:54rem;margin:3rem auto 0}.blog-latest-more{padding:0 var(--gutter);margin-top:2rem}@media (width<=880px){.post-card.post-card-featured{flex-direction:column}.post-card.post-card-featured .post-card-cover{border-radius:var(--radius) var(--radius) 0 0;flex:none}.post-card.post-card-featured .post-card-body{align-self:auto}}@media (width<=640px){.blog-list-grid,.post-grid{grid-template-columns:1fr}.post-card.post-card-featured .post-card-body{padding:1.5rem}}
