@layer components{.blog{max-width:68ch;margin-inline:auto;padding-block:var(--space-7) var(--space-8);padding-inline:var(--gutter);font-family:var(--ff-sans);line-height:var(--lh-loose);color:var(--text)}.blog-head,.author-head{margin-bottom:var(--space-7)}.blog-head h1,.author-head h1{font-weight:700;font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);color:var(--ink);margin-bottom:var(--space-3)}.blog-head p{color:var(--text-2);font-size:var(--fs-lg);max-width:52ch}.author-head{display:flex;gap:var(--space-5);align-items:flex-start}.author-head img{flex:none;border-radius:50%;object-fit:cover}.blog-empty{color:var(--text-2);padding-block:var(--space-6);border-block:1px solid var(--line)}.section-h{font-weight:700;font-size:var(--fs-h3);line-height:var(--lh-snug);letter-spacing:var(--tracking-snug);color:var(--ink);margin-bottom:var(--space-4)}.post-list{list-style:none;padding:0;margin:0}.post-card{padding-block:var(--space-6);border-top:1px solid var(--line)}.post-card:last-child{border-bottom:1px solid var(--line)}.post-card h2,.post-card h3{font-weight:700;font-size:var(--fs-h3);line-height:var(--lh-snug);letter-spacing:var(--tracking-snug);color:var(--ink);margin-block:var(--space-2) var(--space-2)}.post-card h2 a,.post-card h3 a{color:inherit;text-decoration:none}.post-card h2 a:hover,.post-card h2 a:focus-visible,.post-card h3 a:hover,.post-card h3 a:focus-visible{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}.post-card p{color:var(--text-2);margin-bottom:var(--space-3)}.post-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);font-family:var(--ff-mono);font-size:var(--fs-sm);letter-spacing:var(--tracking-mono);color:var(--text-3)}.post-meta a{color:inherit;text-decoration:none}.post-meta a:hover,.post-meta a:focus-visible{color:var(--blue-deep);text-decoration:underline;text-underline-offset:2px}.tags{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0;margin:0}.tags li{font-family:var(--ff-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--text-2);padding:2px 8px;border:1px solid var(--line);border-radius:var(--r-pill)}.crumbs{font-family:var(--ff-mono);font-size:var(--fs-sm);letter-spacing:var(--tracking-mono);margin-bottom:var(--space-5)}.crumbs a{color:var(--text-3);text-decoration:none}.crumbs a:before{content:"← "}.crumbs a:hover,.crumbs a:focus-visible{color:var(--blue-deep);text-decoration:underline;text-underline-offset:2px}.post-head{margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--line)}.post-head h1{font-weight:700;font-size:var(--fs-h2);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);color:var(--ink);margin-bottom:var(--space-3);text-wrap:balance}.post-head .lede{color:var(--text-2);font-size:var(--fs-lg);margin-bottom:var(--space-4)}.post-body{font-size:var(--fs-md)}.post-body h2{font-weight:700;font-size:var(--fs-h3);line-height:var(--lh-snug);letter-spacing:var(--tracking-snug);color:var(--ink);margin-block:var(--space-6) var(--space-3)}.post-body h3{font-weight:600;font-size:var(--fs-h4);line-height:var(--lh-snug);color:var(--ink);margin-block:var(--space-5) var(--space-2)}.post-body p,.post-body ul,.post-body ol,.post-body blockquote,.post-body pre,.post-body table,.post-body figure{margin-bottom:var(--space-4)}.post-body ul,.post-body ol{padding-left:1.2rem;list-style:revert}.post-body li+li{margin-top:var(--space-2)}.post-body li::marker{color:var(--text-3)}.post-body strong{color:var(--ink);font-weight:600}.post-body a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:2px;font-weight:600}.post-body a:hover,.post-body a:focus-visible{color:var(--blue)}.post-body code{font-family:var(--ff-mono);font-size:.92em;padding:1px 6px;background:var(--surface-3);border-radius:var(--r-ctrl);color:var(--ink)}.post-body pre{font-family:var(--ff-mono);font-size:var(--fs-sm);line-height:var(--lh-loose);padding:var(--space-4);background:var(--surface-3);border-radius:var(--r-md);overflow-x:auto}.post-body pre code{padding:0;background:none}.post-body blockquote{padding-left:var(--space-4);border-left:3px solid var(--blue-100);color:var(--text-2)}.post-body img{display:block;max-width:100%;height:auto;border:1px solid var(--line);border-radius:var(--r-md)}.post-body figcaption{margin-top:var(--space-2);font-size:var(--fs-sm);color:var(--text-3)}.post-body figure{margin-block:var(--space-5)}.post-body figure img{width:100%}@media(min-width:1040px){.post-body figure{margin-inline:-7rem}.post-body figcaption{padding-inline:7rem}}.post-body table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);display:block;overflow-x:auto}.post-body th,.post-body td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);vertical-align:top}.post-body th{color:var(--ink);font-weight:600;border-bottom-color:var(--line-2)}.post-body hr{border:0;border-top:1px solid var(--line);margin-block:var(--space-6)}.post>.tags{margin-top:var(--space-6)}.author-card{display:flex;gap:var(--space-4);align-items:flex-start;margin-top:var(--space-6);padding:var(--space-4);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-card)}.author-card img{flex:none;border-radius:50%;object-fit:cover}.author-name{font-weight:600;color:var(--ink);margin-bottom:var(--space-1)}.author-name a{color:inherit;text-decoration:none}.author-name a:hover,.author-name a:focus-visible{color:var(--blue-deep);text-decoration:underline;text-underline-offset:2px}.author-role{font-weight:400;color:var(--text-3);font-size:var(--fs-sm)}.author-name .author-role:before{content:"· "}.author-bio{color:var(--text-2);font-size:var(--fs-sm);margin:0}.author-head .author-role{margin-bottom:var(--space-3)}.author-head .author-bio{font-size:var(--fs-md);margin-bottom:var(--space-3)}.author-head a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:2px;font-weight:600}.read-next{margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--line)}.read-next h2{font-family:var(--ff-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--text-3);margin-bottom:var(--space-3)}.read-next ul{list-style:none;padding:0;margin:0}.read-next li+li{margin-top:var(--space-2)}.read-next a{font-weight:600;color:var(--ink);text-decoration:none}.read-next a:hover,.read-next a:focus-visible{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}.post-cta{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-top:var(--space-7);padding:var(--space-5);background:var(--blue-50);border-radius:var(--r-lg)}.post-cta p{flex:1 1 100%;color:var(--ink);margin-bottom:var(--space-2)}@media(max-width:640px){.author-head{flex-direction:column;gap:var(--space-4)}.post-cta .btn{width:100%}}}
