#infinite-scroll-root[data-astro-cid-vkrwobcx]{padding-bottom:2rem}.scroll-sentinel{height:0}.scroll-spacer{min-height:60px}.scroll-transition{position:relative;padding:2rem 0}.scroll-transition--expanded{padding-bottom:2rem}.scroll-divider{width:5rem;height:1px;background:var(--color-primary);margin:0 auto 2rem}.scroll-title{font-family:var(--font-heading);font-size:1.75rem;font-weight:500;line-height:1.3;letter-spacing:-.3px;color:var(--color-text);margin-top:0;margin-bottom:.75rem;transition:color .15s ease}.scroll-title-link{text-decoration:none;color:inherit}.scroll-title-link:hover{text-decoration:none}.scroll-title-link:hover .scroll-title{color:var(--color-primary)}.scroll-meta{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}.scroll-eyebrow{position:fixed;bottom:0;left:0;right:0;background:var(--color-surface);border-top:1px solid var(--color-border-subtle);z-index:50;opacity:0;transform:translateY(100%);transition:opacity .3s ease,transform .3s ease;will-change:transform,opacity}.scroll-eyebrow--visible{opacity:1;transform:translateY(0)}.scroll-eyebrow-inner{max-width:42rem;margin:0 auto;padding:.875rem 1.5rem}@media(max-width:640px){.scroll-eyebrow-inner{padding:.875rem 1rem}}.scroll-eyebrow-label{display:block;font-family:var(--font-mono);font-size:.625rem;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted);margin-bottom:.25rem}.scroll-eyebrow-title{display:block;font-family:var(--font-heading);font-size:1.25rem;font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scroll-feature-image{width:100%;height:auto;margin-bottom:2rem;border-radius:8px}.scroll-post-content{font-size:1.0625rem;line-height:1.8}.scroll-loading{display:flex;justify-content:center;padding:2rem 0}.scroll-spinner{width:24px;height:24px;border:2px solid var(--color-border-subtle);border-top-color:var(--color-primary);border-radius:50%;animation:scroll-spin .6s linear infinite}@keyframes scroll-spin{to{transform:rotate(360deg)}}.scroll-end{text-align:center;padding:2rem 0 4rem}.scroll-end-text{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted)}.post-header[data-astro-cid-gjtny2mx]{margin-bottom:2.5rem;padding-top:3rem}.post-header[data-astro-cid-gjtny2mx] h1[data-astro-cid-gjtny2mx]{font-family:var(--font-heading);font-size:clamp(1.75rem,1.25rem + 2.5vw,2.375rem);font-weight:500;line-height:1.2;letter-spacing:-.5px;margin-bottom:1rem}@media(max-width:640px){.post-header[data-astro-cid-gjtny2mx]{padding-top:2rem}}.post-meta[data-astro-cid-gjtny2mx]{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}.post-tags[data-astro-cid-gjtny2mx]{display:flex;flex-wrap:wrap;gap:.5rem}.post-tags[data-astro-cid-gjtny2mx] a[data-astro-cid-gjtny2mx]{font-family:var(--font-mono);font-size:.6875rem;background:var(--color-tag-bg);color:var(--color-tag-text);padding:.2rem .625rem;border-radius:4px;text-decoration:none;transition:background-color .15s ease}.post-tags[data-astro-cid-gjtny2mx] a[data-astro-cid-gjtny2mx]:hover{background:var(--color-border);text-decoration:none}.feature-image[data-astro-cid-gjtny2mx]{width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;margin-bottom:2rem;border-radius:8px}.post-content[data-astro-cid-gjtny2mx]{font-size:1.0625rem;line-height:1.8}.updated-date[data-astro-cid-gjtny2mx]{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);border-top:1px solid var(--color-border);padding-top:1rem;margin-top:2rem}.reading-progress{position:fixed;top:0;left:0;height:2px;background:var(--color-primary);width:0%;z-index:101;pointer-events:none;transition:width .1s linear}.post-fin[data-astro-cid-gjtny2mx]{text-align:center;padding:3rem 0 1rem}.fin-mark[data-astro-cid-gjtny2mx]{font-size:1.25rem;color:var(--color-primary);opacity:.6}.post-content pre{position:relative}.code-copy{position:absolute;top:.5rem;right:.5rem;font-family:var(--font-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.5px;padding:.25rem .5rem;background:var(--color-surface-raised);color:var(--color-text-muted);border:1px solid var(--color-border-subtle);border-radius:4px;cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease}.post-content pre:hover .code-copy{opacity:1}.code-copy:hover{color:var(--color-text)}.code-copy--copied{color:var(--color-primary)!important}
