.social-share[data-astro-cid-w7whim4q]{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);margin-top:3rem;padding:clamp(1.5rem,4vw,2.5rem)}.social-share[data-astro-cid-w7whim4q] h2[data-astro-cid-w7whim4q]{color:var(--color-text);margin:.4rem 0 0}.social-share[data-astro-cid-w7whim4q]>div[data-astro-cid-w7whim4q]>p[data-astro-cid-w7whim4q]:last-child{color:var(--color-text-muted);margin:.75rem 0 0;font-size:.95rem}.social-share__actions[data-astro-cid-w7whim4q]{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:1.5rem;display:flex}.social-share__button[data-astro-cid-w7whim4q]{border:1px solid var(--color-border);width:48px;height:48px;color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border-radius:.65rem;flex:0 0 48px;justify-content:center;align-items:center;padding:0;font-size:.88rem;text-decoration:none;display:inline-flex}.social-share__button[data-astro-cid-w7whim4q]:hover{border-color:var(--color-accent);color:var(--color-accent-strong)}.social-share__button[data-astro-cid-w7whim4q]:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.social-share__button[data-astro-cid-w7whim4q] svg[data-astro-cid-w7whim4q]{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.social-share__feedback[data-astro-cid-w7whim4q]{min-height:1.5em;color:var(--color-accent-strong);margin:.7rem 0 0;font-size:.85rem}.social-share__button[data-astro-cid-w7whim4q] span[data-astro-cid-w7whim4q]{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.article-page{padding-bottom:clamp(5rem,10vw,9rem)}.article-hero{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);align-items:end;gap:clamp(2.5rem,7vw,7rem);padding-block:clamp(3.5rem,8vw,7rem);display:grid}.breadcrumbs{color:var(--color-text-subtle);flex-wrap:wrap;grid-column:1/-1;gap:.5rem;font-size:.9rem;display:flex}.breadcrumbs a{color:inherit;text-decoration:none}.breadcrumbs a:hover{color:var(--color-accent-strong)}.article-hero h1{letter-spacing:-.06em;max-width:14ch;margin:.8rem 0 1.25rem;font-size:clamp(2.8rem,6vw,5.75rem);line-height:.98}.article-hero__description{max-width:45rem;color:var(--color-text-muted);font-size:clamp(1.1rem,2vw,1.3rem)}.article-meta{color:var(--color-text-subtle);font-family:var(--font-code);flex-wrap:wrap;gap:.65rem;margin-top:1.75rem;font-size:.78rem;display:flex}.article-meta>*+:before{content:"•";margin-right:.65rem}.article-cover{aspect-ratio:4/3;border:1px solid var(--color-border);background-image:radial-gradient(circle, color-mix(in srgb, var(--color-accent) 13%, transparent), transparent 58%), linear-gradient(var(--color-border) 1px, transparent 1px), linear-gradient(90deg, var(--color-border) 1px, transparent 1px);color:var(--color-text-subtle);font-family:var(--font-code);text-transform:uppercase;letter-spacing:.1em;background-size:auto,2rem 2rem,2rem 2rem;place-items:center;padding:1.5rem;font-size:.75rem;display:grid}.article-cover strong{color:var(--color-accent-strong);font-size:clamp(3rem,7vw,6rem)}.article-cover__label{place-self:start}.article-layout{border-top:1px solid var(--color-border);grid-template-columns:15rem minmax(0,46rem);justify-content:center;gap:clamp(2.5rem,7vw,6rem);padding-top:clamp(4rem,8vw,7rem);display:grid}.article-aside__sticky{border-left:2px solid var(--color-accent);color:var(--color-text-subtle);padding-left:1rem;font-size:.9rem;position:sticky;top:7rem}.article-aside__title{color:var(--color-text);font-weight:700}.article-aside ol{gap:.8rem;margin:1rem 0 0;padding-left:1.1rem;display:grid}.article-aside a{color:inherit;text-decoration:none}.article-aside a:hover{color:var(--color-accent-strong)}.article-content{min-width:0;color:var(--color-text-muted);font-size:clamp(1.05rem,1.5vw,1.16rem);line-height:1.8}.article-content>:first-child{margin-top:0}.article-content h2,.article-content h3{color:var(--color-text);letter-spacing:-.035em;scroll-margin-top:7rem;line-height:1.15}.article-content h2{margin:3.25rem 0 1rem;font-size:clamp(1.8rem,3vw,2.5rem)}.article-content h3{margin:2.5rem 0 .75rem;font-size:1.4rem}.article-content a{color:var(--color-accent-strong)}.article-content code{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-family:var(--font-code);border-radius:.3rem;padding:.15em .35em;font-size:.9em}.article-content pre{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);max-width:100%;padding:1.25rem;overflow-x:auto}.article-content pre code{background:0 0;border:0;padding:0}.article-content blockquote{border-left:3px solid var(--color-accent);color:var(--color-text);margin:2rem 0;padding:.25rem 0 .25rem 1.25rem}.article-tags{border-top:1px solid var(--color-border);flex-wrap:wrap;gap:.55rem;margin-top:4rem;padding-top:1.5rem;font-size:.85rem;display:flex}.article-tags span{border:1px solid var(--color-border);border-radius:999px;padding:.35rem .65rem}.article-share{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);margin-top:3rem;padding:clamp(1.5rem,4vw,2.5rem)}.article-share h2{margin-top:.4rem}.article-share__links{flex-wrap:wrap;gap:.6rem;margin-top:1.5rem;display:flex}.article-share__links a,.article-share__links button{border:1px solid var(--color-border);color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border-radius:.55rem;padding:.65rem .85rem;text-decoration:none}.article-share__links a:hover,.article-share__links button:hover{border-color:var(--color-accent)}.copy-feedback{min-height:1.5em;color:var(--color-accent-strong);margin-bottom:0;font-size:.85rem}.related-section{border-top:1px solid var(--color-border);margin-top:clamp(5rem,10vw,9rem);padding-top:clamp(4rem,8vw,7rem)}@media (width<=900px){.article-hero{grid-template-columns:1fr}.article-cover{width:100%;max-width:38rem}.article-layout{grid-template-columns:1fr}.article-aside__sticky{position:static}}@media (width<=600px){.article-hero{padding-block:3rem 4rem}.article-cover{aspect-ratio:16/10}.article-meta{display:grid}.article-meta>*+:before{content:none}}
