.reading-progress[data-astro-cid-kw4rgypl]{z-index:200;pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0}.reading-progress-bar[data-astro-cid-kw4rgypl]{transform-origin:0;background:linear-gradient(90deg, var(--primary), var(--link,#2563eb));will-change:transform;width:100%;height:100%;transform:scaleX(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.post-card[hidden],.featured-card[hidden],.blog-grid[hidden],.filter-empty[hidden],.pagination[hidden],.pagination-button[hidden],.pagination-page[hidden]{display:none}.blog-stats{color:var(--ink-mute);margin:0 0 24px;font-size:.95rem}.blog-stats strong{color:var(--ink)}.tag-filter{border-bottom:1px solid var(--hairline);flex-wrap:wrap;gap:8px;margin-bottom:32px;padding-bottom:28px;display:flex}.tag-chip{border:1px solid var(--hairline);border-radius:var(--rounded-pill);background:var(--canvas);color:var(--ink-mute);cursor:pointer;padding:8px 16px;font-size:.82rem;font-weight:600;transition:color .2s,background .2s,border-color .2s}.tag-chip:hover{color:var(--primary);border-color:var(--primary-tint)}.tag-chip.is-active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.filter-empty{text-align:center;color:var(--ink-mute);padding:48px 0}.blog-result-count{color:var(--ink-mute);margin:-20px 0 24px;font-size:.85rem}.blog-result-count strong{color:var(--ink)}.pagination{border-top:1px solid var(--hairline);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding-top:32px;display:flex}.pagination-list{align-items:center;gap:8px;display:flex}.pagination-button,.pagination-page{border:1px solid var(--hairline);border-radius:var(--rounded-pill);background:var(--canvas);min-width:42px;height:42px;color:var(--ink-mute);cursor:pointer;justify-content:center;align-items:center;padding:0 14px;font-family:inherit;font-size:.9rem;font-weight:600;text-decoration:none;transition:color .2s,background .2s,border-color .2s;display:inline-flex}.pagination-button:hover:not(:disabled),.pagination-page:hover:not(.is-active){color:var(--primary);border-color:var(--primary-tint)}.pagination-button:disabled{opacity:.4;cursor:not-allowed}.pagination-page.is-active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.pagination-ellipsis{height:42px;color:var(--ink-mute);align-items:center;padding:0 2px;font-weight:600;display:inline-flex}.pagination-status{text-align:center;width:100%;color:var(--ink-mute);font-size:.8rem}.featured-card{border:1px solid var(--hairline);border-radius:var(--rounded-xl);background:var(--canvas);box-shadow:var(--elev-1);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0;margin-bottom:40px;text-decoration:none;transition:border-color .25s,transform .25s,box-shadow .25s;display:grid;overflow:hidden}.featured-card:hover{border-color:var(--primary-tint);box-shadow:var(--elev-3);transform:translateY(-3px)}.featured-image{object-fit:cover;width:100%;height:100%;min-height:260px;display:block}.featured-body{flex-direction:column;gap:12px;padding:32px;display:flex}.featured-flag{border-radius:var(--rounded-pill);background:var(--lavender);color:var(--primary);text-transform:uppercase;letter-spacing:1px;align-self:flex-start;padding:5px 12px;font-size:.68rem;font-weight:700}.featured-title{letter-spacing:-.4px;color:var(--ink);margin:0;font-size:1.65rem;font-weight:700;line-height:1.3;transition:color .25s}.featured-card:hover .featured-title{color:var(--primary)}.featured-description{color:var(--ink-mute);margin:0;line-height:1.65}.featured-meta{text-transform:uppercase;letter-spacing:.7px;color:var(--primary);align-items:center;gap:8px;font-size:.75rem;font-weight:700;display:flex}.post-card-image{object-fit:cover;border-radius:var(--rounded-lg);border:1px solid var(--hairline);width:100%;height:200px;box-shadow:var(--elev-1)}.blog-grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:48px;display:grid}.post-card{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--rounded-xl);box-shadow:var(--elev-1);flex-direction:column;gap:12px;padding:28px;text-decoration:none;transition:border-color .25s,transform .25s,box-shadow .25s;display:flex}.post-card:hover{border-color:var(--primary-tint);box-shadow:var(--elev-3);transform:translateY(-3px)}.post-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.post-date{color:var(--primary);text-transform:uppercase;letter-spacing:.6px;font-size:13px;font-weight:600}.post-readtime{color:var(--ink-mute);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap;font-size:12px;font-weight:600}.post-title{color:var(--ink);letter-spacing:-.3px;font-size:1.3rem;font-weight:700;line-height:1.35;transition:color .25s}.post-card:hover .post-title{color:var(--primary)}.post-description{color:var(--ink-mute);margin:0;line-height:1.6}.post-tags{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.post-page{padding-top:48px}.post-hero{max-width:1120px;margin:0 auto 32px;line-height:0}.post-hero img{border-radius:var(--rounded-xl);border:1px solid var(--hairline);width:100%;height:auto;box-shadow:var(--elev-1)}.post-hero figcaption{color:var(--muted);margin-top:10px;font-size:.8rem;line-height:1.6}.post-layout{grid-template-columns:280px minmax(0,1fr);align-items:stretch;gap:2.75rem;max-width:1120px;margin:0 auto;display:grid}.post-aside-sticky{flex-direction:column;gap:1rem;max-height:calc(100vh - 120px);display:flex;position:sticky;top:96px;overflow-y:auto}.post-aside-share{border:1px solid var(--hairline);border-radius:var(--rounded-lg);background:var(--canvas);flex-direction:column;gap:12px;padding:16px 18px;display:flex}.post-main{min-width:0}.blog-article{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--rounded-xl);box-shadow:var(--elev-1);color:var(--ink-mute);padding:clamp(24px,4vw,52px)}.blog-article>*{line-height:1.75}.blog-article h1,.blog-article h2,.blog-article h3,.blog-article h4{color:var(--ink);letter-spacing:-.3px;scroll-margin-top:120px}.blog-article h2{margin:2.2em 0 .6em;font-size:1.5rem;font-weight:700}.blog-article h3{margin:2em 0 .5em;font-size:1.15rem;font-weight:700}.blog-article h1:first-child,.blog-article h2:first-child{margin-top:0}.blog-article p{margin:1em 0}.blog-article a{color:var(--link);text-underline-offset:3px;text-decoration:underline}.blog-article ul,.blog-article ol{margin:1em 0;padding-left:1.5rem}.blog-article li{margin:.4em 0}.blog-article blockquote{border-left:3px solid var(--primary-tint);color:var(--ink);background:var(--surface-alt);border-radius:0 var(--rounded-md) var(--rounded-md) 0;margin:1.4em 0;padding:.25em 1.25em;font-style:italic}.blog-article hr{border:0;border-top:1px solid var(--hairline);margin:2.2em 0}.blog-article code{background:var(--surface-alt);border:1px solid var(--hairline);color:var(--primary);border-radius:6px;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.86em}.blog-article pre{background:var(--surface-alt);border:1px solid var(--hairline);border-radius:var(--rounded-lg);margin:1.4em 0;padding:18px 22px;line-height:1.6;overflow-x:auto}.blog-article pre code{color:inherit;background:0 0;border:0;padding:0;font-size:.86rem}.blog-article img{border-radius:var(--rounded-lg);max-width:100%;height:auto;margin:1.5em 0}.blog-article table{border-collapse:collapse;width:100%;margin:1.4em 0;font-size:.95rem}.blog-article th,.blog-article td{border:1px solid var(--hairline);text-align:left;padding:10px 14px}.blog-article th{background:var(--surface-alt);color:var(--ink);font-weight:700}.blog-article strong{color:var(--ink)}.blog-article table{white-space:nowrap;display:block;overflow-x:auto}@media (width>=900px){.blog-article table{white-space:normal;display:table}}.post-share-row{border-top:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:2.5rem;padding-top:2rem;display:flex}.newsletter-section{background:var(--lavender);border-radius:var(--rounded-xl);margin-top:4rem;padding:4rem 0;scroll-margin-top:96px}.newsletter-section .section-title{text-align:center;margin-bottom:1rem}.newsletter-section .section-subtitle{text-align:center;max-width:500px;color:var(--ink-mute);margin:0 auto 2rem}.newsletter-form{gap:.5rem;max-width:500px;margin:0 auto;display:flex}.newsletter-input{border:1px solid var(--hairline);border-radius:var(--rounded-lg);background:var(--canvas);color:var(--ink);flex:1;padding:.75rem 1rem;font-size:1rem}.newsletter-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4a154b1a}.newsletter-button{background:var(--primary);color:var(--on-primary);border-radius:var(--rounded-lg);cursor:pointer;border:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background .25s}.newsletter-button:hover{background:var(--primary-deep)}@media (width<=1023px){.post-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}.post-aside-sticky{position:static}.post-aside-share{flex-flow:wrap;justify-content:space-between;align-items:center}}@media (width<=860px){.blog-grid,.featured-card{grid-template-columns:1fr}.featured-image{height:220px;min-height:0}.featured-body{padding:24px}.newsletter-form{flex-direction:column}.pagination{gap:6px}.pagination-button,.pagination-page{min-width:38px;height:38px;padding:0 10px;font-size:.85rem}.pagination-label{display:none}.pagination-button{min-width:38px;padding:0 12px}}@media (width<=640px){.newsletter-section{padding:3rem 0}.newsletter-input,.newsletter-button{width:100%}.featured-title{font-size:1.35rem}}
