@layer tokens{:root{--color-editorial-veil:color-mix(in srgb, var(--color-surface) 97%, transparent);--editorial-veil-reach:clamp(var(--space-m), 7vw, var(--space-xl));--font-code:ui-monospace,"SFMono-Regular",consolas,"Liberation Mono",monospace;--measure-blog:46rem}}@layer layout{main.blog-index,main.blog-post{inline-size:100%;max-inline-size:var(--measure-blog);flex:1;padding-block:var(--space-l) var(--space-xl);position:relative;isolation:isolate}main.blog-index::before,main.blog-post::before{position:absolute;z-index:-1;inset:calc(-1 * var(--space-m)) 0;background:var(--color-editorial-veil);box-shadow:0 0 var(--editorial-veil-reach) var(--color-editorial-veil);content:"";pointer-events:none}.blog-post>article>section,.post-list>li{padding-block:var(--space-l);border-block-start:1px solid var(--color-rule)}}@layer components{.blog-index>header,.blog-post-heading{padding-block-end:var(--space-xl)}.blog-index h1,.blog-post h1{align-items:flex-start;color:var(--color-text);font-size:clamp(2.4rem, 9vw, 4.8rem);letter-spacing:-.035em;line-height:1.02;text-wrap:balance}.blog-kicker{margin-block-end:var(--space-s);color:var(--color-accent);font-size:var(--size-step-xs);letter-spacing:.2em;text-transform:uppercase}.blog-kicker a{color:inherit;text-decoration-color:color-mix(in srgb,var(--color-accent) 35%,transparent);text-underline-offset:0.25em}.blog-kicker a:focus-visible,.blog-kicker a:hover{text-decoration-color:currentcolor}.blog-dek{max-inline-size:40rem;margin-block-start:var(--space-m);color:var(--color-muted);font-size:var(--size-step-1);line-height:1.5;text-wrap:balance}.blog-meta{display:flex;flex-wrap:wrap;gap:var(--space-2xs) var(--space-xs);margin-block-start:var(--space-m);color:var(--color-muted);font-size:var(--size-step-xs);letter-spacing:.04em}.blog-post li,.blog-post section>p,.post-list article>p{text-wrap:pretty}.blog-post section>aside+p,.blog-post section>figure+p,.blog-post section>ol+pre,.blog-post section>p+p,.blog-post section>pre+p{margin-block-start:var(--space-m)}.blog-post code{font-family:var(--font-code);font-size:.88em}.blog-photo{margin:var(--space-l) 0}.blog-photo-portrait{max-inline-size:30rem;margin-inline:auto}.blog-photo img{display:block;inline-size:100%;block-size:auto;border-radius:.35rem}.blog-photo figcaption{margin-block-start:var(--space-xs);color:var(--color-muted);font-size:var(--size-step-sm);line-height:1.5;text-wrap:pretty}.blog-post li code,.blog-post p code{overflow-wrap:anywhere;padding:.12em .3em;border:1px solid var(--color-rule);border-radius:.2rem;background:color-mix(in srgb,var(--color-text) 4%,transparent)}.blog-post pre{overflow-x:auto;margin-block:var(--space-m) 0;padding:var(--space-m);border:1px solid var(--color-rule);border-radius:.35rem;background:color-mix(in srgb,var(--color-text) 4%,transparent);color:var(--color-text);font-size:var(--size-step-xs);line-height:1.6;tab-size:4}.blog-post pre code{font-size:inherit}.blog-code{margin-block:var(--space-m) 0}.blog-code figcaption{padding:var(--space-xs) var(--space-m);border:1px solid var(--color-rule);border-block-end:0;border-radius:.35rem .35rem 0 0;color:var(--color-muted);font-family:var(--font-code);font-size:var(--size-step-xs);overflow-wrap:anywhere}.blog-code pre{margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0}.blog-post blockquote{margin:var(--space-m) 0;padding:var(--space-s) var(--space-m);border-inline-start:0.2rem solid var(--color-accent);color:var(--color-muted);font-size:var(--size-step-1);line-height:1.5}.blog-note{margin-block-start:var(--space-m);padding:var(--space-m);border:1px solid var(--color-rule);border-radius:.35rem;color:var(--color-muted);font-size:var(--size-step-sm)}.blog-post ol,.blog-post section ul{display:grid;gap:var(--space-xs);margin-block:var(--space-m);padding-inline-start:1.4rem}.blog-post ol{list-style:decimal}.blog-post section ul{list-style:disc}.blog-post a,.post-list a{color:var(--color-accent);text-decoration-color:color-mix(in srgb,var(--color-accent) 35%,transparent);text-underline-offset:0.2em}.blog-post a:focus-visible,.blog-post a:hover,.post-list a:focus-visible,.post-list a:hover{text-decoration-color:currentcolor}.blog-meta a{color:inherit;text-decoration-color:color-mix(in srgb,currentcolor 35%,transparent)}.blog-sources{font-size:var(--size-step-sm)}.post-list{margin:0;padding:0;list-style:none}.post-list h2{margin-block-end:var(--space-xs);font-size:clamp(1.5rem, 5vw, 2.25rem);letter-spacing:-.015em;line-height:1.2;text-transform:none}.post-list h2 a{color:var(--color-text);text-decoration:none}.post-list h2 a:focus-visible,.post-list h2 a:hover{color:var(--color-accent)}.post-list-meta{margin-block-end:var(--space-xs);color:var(--color-muted);font-size:var(--size-step-xs);letter-spacing:.04em}}