@import url('/tokens.css');
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);line-height:1.7}.blog-shell{width:min(100% - 2rem,72rem);margin:auto}.blog-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:5rem;border-bottom:1px solid var(--color-rule)}.blog-nav a{color:inherit;text-decoration:none}.blog-brand{font-family:var(--font-display);font-size:1.25rem;font-weight:750}.blog-links{display:flex;gap:1.25rem;flex-wrap:wrap}.blog-hero{padding:5rem 0 3rem}.blog-hero h1,.article h1{font-family:var(--font-display);font-size:clamp(2.8rem,7vw,5.8rem);line-height:.98;letter-spacing:-.055em;max-width:12ch;margin:0}.blog-hero p{font-size:1.2rem;max-width:52ch;color:var(--color-ink-soft)}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:1rem 0 6rem}.post-card{border-top:2px solid var(--color-ink);padding:1.5rem 0;display:flex;flex-direction:column;gap:.75rem}.post-card h2{font-family:var(--font-display);font-size:1.8rem;line-height:1.05;margin:0}.post-card p{color:var(--color-ink-soft);margin:0}.post-card a{color:var(--color-thread-deep);font-weight:650}.eyebrow,.article-meta{font-size:.82rem;color:var(--color-muted)}.article{width:min(100% - 2rem,48rem);margin:auto;padding:4rem 0 7rem}.article h1{font-size:clamp(2.7rem,7vw,5.2rem);max-width:14ch}.article .dek{font-size:1.25rem;color:var(--color-ink-soft);margin:1.5rem 0 2rem}.article h2{font-family:var(--font-display);font-size:2rem;line-height:1.1;margin:3rem 0 1rem}.article h3{font-family:var(--font-display);font-size:1.35rem;margin:2rem 0 .5rem}.article p,.article li{font-size:1.05rem}.article pre{overflow:auto;background:var(--color-ink);color:var(--color-paper);padding:1.25rem;border-radius:.6rem}.article code{font-family:var(--font-mono);font-size:.92em}.article blockquote{margin:2rem 0;padding:1rem 1.5rem;border-left:4px solid var(--color-thread);background:var(--color-paper-blue)}.article a{color:var(--color-thread-deep)}.article-faq{margin-top:3rem;border-top:2px solid var(--color-ink)}.article-faq details{border-bottom:1px solid var(--color-rule);padding:1rem 0}.article-faq summary{font-weight:700;cursor:pointer}.blog-footer{border-top:1px solid var(--color-rule);padding:2rem 0 4rem;color:var(--color-muted);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}@media(max-width:48rem){.post-grid{grid-template-columns:1fr}.blog-links{display:none}.blog-hero{padding-top:3rem}}