.post-hero:where(.astro-4sn4zg3r){padding:72px 0 32px;position:relative;overflow:hidden}.post-hero__inner:where(.astro-4sn4zg3r){position:relative;z-index:1}.post-hero__z:where(.astro-4sn4zg3r){position:absolute;top:-40px;right:-40px;width:320px;height:320px;opacity:.07;pointer-events:none}.post-hero__tag:where(.astro-4sn4zg3r){margin-top:32px}.post-hero__title:where(.astro-4sn4zg3r){font-size:52px;line-height:1.1;margin-top:18px;margin-bottom:22px}.post-hero__sub:where(.astro-4sn4zg3r){font-size:22px;line-height:1.5;color:var(--fg-2);font-weight:300;margin:0}.post-hero__byline:where(.astro-4sn4zg3r){display:flex;align-items:center;gap:14px;margin-top:32px;padding-top:24px;border-top:1px solid var(--border);flex-wrap:wrap}.post-hero__avatar:where(.astro-4sn4zg3r){width:44px;height:44px;border-radius:50%;background:var(--orange-100);color:var(--orange-700);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:15px;font-weight:700}.post-hero__author:where(.astro-4sn4zg3r){flex:1;min-width:160px}.post-hero__author-name:where(.astro-4sn4zg3r){font-size:14px;font-weight:700}.post-hero__author-role:where(.astro-4sn4zg3r){font-size:12px;color:var(--fg-3)}.post-hero__meta:where(.astro-4sn4zg3r){font-size:13px;color:var(--fg-3)}.post-cover:where(.astro-4sn4zg3r){padding:32px 0}.post-cover__img:where(.astro-4sn4zg3r),.post-cover__placeholder:where(.astro-4sn4zg3r){width:100%;height:420px;border-radius:14px;position:relative;overflow:hidden;object-fit:cover}.post-cover__overlay:where(.astro-4sn4zg3r){position:absolute;inset:0;background-image:repeating-linear-gradient(-45deg,rgba(0,0,0,.06) 0,rgba(0,0,0,.06) 8px,transparent 8px,transparent 20px)}.post-body:where(.astro-4sn4zg3r){padding:32px 0 96px}.post-body__layout:where(.astro-4sn4zg3r){display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:64px;max-width:1100px;margin:0 auto}.post-body__layout:where(.astro-4sn4zg3r).is-no-toc{grid-template-columns:minmax(0,1fr);max-width:760px}.post-body__article:where(.astro-4sn4zg3r){max-width:720px;font-size:17px;line-height:1.8;color:var(--fg-1)}.post-body__layout:where(.astro-4sn4zg3r).is-no-toc .post-body__article:where(.astro-4sn4zg3r){margin-left:auto;margin-right:auto}.post-toc:where(.astro-4sn4zg3r){position:relative;height:100%}.post-toc__sticky:where(.astro-4sn4zg3r){position:sticky;top:100px;padding:20px 0;border-top:2px solid var(--fg-1)}.post-toc__title:where(.astro-4sn4zg3r){font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--fg-3);margin-bottom:16px}.post-toc__nav:where(.astro-4sn4zg3r){display:flex;flex-direction:column;gap:2px}.post-toc__link{display:block;padding:8px 0 8px 14px;font-size:13.5px;line-height:1.45;color:var(--fg-2);border-left:2px solid transparent;transition:all .12s var(--ease-out);cursor:pointer}.post-toc__link:hover{color:var(--fg-1)}.post-toc__link.is-active{color:var(--fg-1);font-weight:700;border-left-color:var(--zen-orange)}.post-toc__link--h3{padding-left:24px;font-size:12.5px;color:var(--fg-3)}.post-toc__link--h3.is-active{color:var(--fg-1)}.post-toc__actions:where(.astro-4sn4zg3r){margin-top:24px;padding-top:20px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.post-toc__action:where(.astro-4sn4zg3r){display:inline-flex;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;font-weight:600;color:var(--fg-2);background:transparent;border:0;border-radius:6px;cursor:pointer;font-family:inherit;text-align:left;transition:background .12s,color .12s}.post-toc__action:where(.astro-4sn4zg3r):hover{background:var(--bg-muted);color:var(--fg-1)}.post-toc__action:where(.astro-4sn4zg3r).is-active{color:var(--zen-orange)}.zen-prose:where(.astro-4sn4zg3r) h2{font-family:var(--font-display);font-weight:800;font-size:30px;margin:48px 0 18px;letter-spacing:-.015em;line-height:1.25;color:var(--fg-1);scroll-margin-top:96px}.zen-prose:where(.astro-4sn4zg3r) h3{scroll-margin-top:96px}.zen-prose:where(.astro-4sn4zg3r) h2:first-child{margin-top:0}.zen-prose:where(.astro-4sn4zg3r) h3{font-family:var(--font-display);font-weight:700;font-size:22px;margin:32px 0 12px;color:var(--fg-1)}.zen-prose:where(.astro-4sn4zg3r) p{font-size:17px;line-height:1.85;color:var(--fg-1);margin:0 0 20px}.zen-prose:where(.astro-4sn4zg3r) ul,.zen-prose:where(.astro-4sn4zg3r) ol{padding-left:24px;margin:0 0 24px;font-size:17px;line-height:1.75;color:var(--fg-1)}.zen-prose:where(.astro-4sn4zg3r) li{margin-bottom:8px}.zen-prose:where(.astro-4sn4zg3r) blockquote{margin:32px 0;padding:20px 32px;border-left:3px solid var(--zen-orange);background:var(--neutral-50);font-size:19px;font-weight:500;color:var(--fg-1);line-height:1.55}.zen-prose:where(.astro-4sn4zg3r) a{color:var(--orange-700);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.zen-prose:where(.astro-4sn4zg3r) strong{font-weight:700;color:var(--fg-1)}.zen-prose:where(.astro-4sn4zg3r) code{font-family:var(--font-mono);background:var(--bg-muted);padding:2px 6px;border-radius:4px;font-size:.9em}.post-related:where(.astro-4sn4zg3r){padding:64px 0 96px;border-top:1px solid var(--border)}.post-related__title:where(.astro-4sn4zg3r){font-size:30px;margin-bottom:32px}.post-related__grid:where(.astro-4sn4zg3r){display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.post-related__card:where(.astro-4sn4zg3r){display:block;color:inherit}.post-related__cover:where(.astro-4sn4zg3r){height:160px;border-radius:10px;margin-bottom:16px;position:relative;overflow:hidden}.post-related__overlay:where(.astro-4sn4zg3r){position:absolute;inset:0;background-image:repeating-linear-gradient(-45deg,rgba(0,0,0,.06) 0,rgba(0,0,0,.06) 6px,transparent 6px,transparent 14px)}.post-related__post-title:where(.astro-4sn4zg3r){font-size:17px;margin-top:12px;line-height:1.35}@media(max-width:1024px){.post-hero__title:where(.astro-4sn4zg3r){font-size:36px}.post-cover__img:where(.astro-4sn4zg3r),.post-cover__placeholder:where(.astro-4sn4zg3r){height:280px}.post-related__grid:where(.astro-4sn4zg3r){grid-template-columns:1fr}.post-body__layout:where(.astro-4sn4zg3r){grid-template-columns:1fr;gap:40px}.post-toc__sticky:where(.astro-4sn4zg3r){position:static;border-top:1px solid var(--border)}}
