.writeup-article_shell__V3bkf{position:relative;z-index:1;min-height:100vh}.writeup-article_header__2K0Hx{position:-webkit-sticky;position:sticky;top:0;z-index:20;height:var(--header-height);display:flex;align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(243,244,246,.72)}.writeup-article_headerInner__hz6yh{width:min(100% - 2.5rem,var(--page-width));margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.writeup-article_brand__3Sp2m{font-family:var(--font-serif);font-size:1.125rem;font-weight:600;letter-spacing:-.01em;color:var(--fg);text-decoration:none}.writeup-article_nav__Btjx9{display:flex;gap:1.25rem;list-style:none}.writeup-article_nav__Btjx9 a{font-size:var(--type-small);color:var(--muted);text-decoration:none}.writeup-article_nav__Btjx9 a:hover{color:var(--fg)}.writeup-article_main__d_XR8{width:min(100% - 2.5rem,var(--page-width));margin-inline:auto;padding:3.5rem 0 6rem}.writeup-article_pageTitle__86MSL{margin:0 0 .5rem;font-size:var(--type-section);font-weight:600;letter-spacing:-.012em}.writeup-article_pageIntro__tkILK{margin:0 0 2.5rem;color:var(--body)}.writeup-article_list__6PjwH{list-style:none}.writeup-article_item__vSh7w{border-top:1px solid var(--rule)}.writeup-article_item__vSh7w:last-child{border-bottom:1px solid var(--rule)}.writeup-article_link__lHCdW{display:block;padding:1.25rem 0;text-decoration:none;color:inherit}.writeup-article_link__lHCdW:hover .writeup-article_title__noe9n{color:var(--link)}.writeup-article_date__YK1T1{font-family:var(--font-mono);font-size:var(--type-meta);letter-spacing:.02em;color:var(--muted)}.writeup-article_title__noe9n{display:block;margin-top:.35rem;font-family:var(--font-serif);font-size:1.3rem;font-weight:600;letter-spacing:-.01em;line-height:1.35;transition:color .16s ease}.writeup-article_desc__7mk9Q{margin-top:.4rem;color:var(--body);font-size:var(--type-small)}.writeup-article_articleHeader__Mlebf{margin-bottom:2.75rem}.writeup-article_back__IihBb{display:inline-block;margin-bottom:1.75rem;font-size:var(--type-small);color:var(--muted);text-decoration:none}.writeup-article_back__IihBb:hover{color:var(--fg)}.writeup-article_eyebrow__BjoEp{font-family:var(--font-mono);font-size:var(--type-meta);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 .85rem}.writeup-article_titleDisplay__EJYwx{margin:0;font-size:clamp(1.85rem,4vw,2.6rem);font-weight:600;letter-spacing:-.015em;line-height:1.15}.writeup-article_description__5U2qv{margin-top:1rem;color:var(--body);font-size:1.05rem}.writeup-article_tags__m5_ol{display:flex;flex-wrap:wrap;gap:.5rem 1rem;list-style:none;margin-top:1.25rem;font-family:var(--font-mono);font-size:var(--type-meta);color:var(--muted);letter-spacing:.02em}.writeup-article_article__cRyGD{color:var(--body)}.writeup-article_article__cRyGD :is(h2,h3,h4){color:var(--fg);margin:2.25rem 0 .85rem}.writeup-article_article__cRyGD h2{font-size:clamp(1.35rem,2vw,1.6rem)}.writeup-article_article__cRyGD h3{font-size:1.2rem}.writeup-article_article__cRyGD ol,.writeup-article_article__cRyGD p,.writeup-article_article__cRyGD ul{margin:0 0 1.1rem}.writeup-article_article__cRyGD ol,.writeup-article_article__cRyGD ul{padding-left:1.25rem}.writeup-article_article__cRyGD li+li{margin-top:.35rem}.writeup-article_article__cRyGD a{color:var(--link)}.writeup-article_article__cRyGD code{font-family:var(--font-mono);font-size:.9em;background:var(--code-bg);padding:.1em .35em;border-radius:3px}.writeup-article_article__cRyGD pre{overflow-x:auto;background:var(--code-bg);padding:1rem 1.1rem;border-radius:4px;margin:0 0 1.25rem}.writeup-article_article__cRyGD pre code{background:none;padding:0}.writeup-article_article__cRyGD blockquote{margin:0 0 1.25rem;padding-left:1rem;border-left:2px solid var(--rule);color:var(--muted)}.writeup-article_article__cRyGD img{margin:1.5rem 0;border-radius:2px}.writeup-article_article__cRyGD table{width:100%;border-collapse:collapse;margin:0 0 1.25rem;font-size:var(--type-small)}.writeup-article_article__cRyGD td,.writeup-article_article__cRyGD th{border-bottom:1px solid var(--rule);padding:.55rem .4rem;text-align:left;vertical-align:top}.writeup-article_article__cRyGD hr{border:none;border-top:1px solid var(--rule);margin:2rem 0}@media (max-width:720px){.writeup-article_headerInner__hz6yh,.writeup-article_main__d_XR8{width:min(100% - 1.5rem,var(--prose-width))}}