.post-page .pp-head{max-width:72rem;margin:0 auto;padding:5rem 7% 2.5rem}.post-page .pp-kicker{font-family:var(--font-roboto-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:#6b6b6b;font-size:.85rem;font-weight:400}.post-page .pp-title{max-width:52rem;font-family:var(--font-cormorant), serif;color:#000;margin-top:1rem;font-size:clamp(3rem,6vw,5rem);font-style:normal;font-weight:400;line-height:1.02}.post-page .pp-cover{max-width:72rem;margin:0 auto;padding:0 7%}.post-page .post-image-frame{border-radius:16px;width:100%;margin:0;box-shadow:0 0 0 1px #0000000f,0 30px 70px #0000001a}.post-page .post-image{max-height:60vh}.post-page .post-body-wrapper{grid-template-columns:15rem minmax(0,1fr);gap:3rem;max-width:72rem;margin-top:4.5rem;padding:0 7% 8rem}.post-page .post-body-no-toc{grid-template-columns:minmax(0,1fr)}.post-page .post-toc{padding-right:0;top:2rem}.post-page .post-toc-title{font-family:var(--font-roboto-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:#8a8a8a;margin-bottom:1rem;font-size:.8rem;font-weight:400}.post-page .post-toc-nav{gap:0}.post-page .post-toc-item{font-family:var(--font-work-sans), sans-serif;color:#8a8a8a;border-left:1px solid #ececec;padding:.45rem 0 .45rem .9rem;font-size:.95rem;font-weight:300;line-height:1.35}@media (hover:hover) and (pointer:fine){.post-page .post-toc-item:hover{color:#000;border-left-color:#bdbdbd}}.post-page .post-toc-active{color:#000;border-left-color:#000;font-weight:400}.post-page .post-content{max-width:40rem;font-family:var(--font-work-sans), sans-serif;letter-spacing:0;color:#222;font-size:1.2rem;font-weight:300;line-height:1.75}.post-page .post-content p{font-size:1.2rem;line-height:1.75}.post-page .post-content .post-h1,.post-page .post-content h2,.post-page .post-content h3{font-family:var(--font-cormorant), serif;color:#000;letter-spacing:0;font-style:normal;font-weight:400;line-height:1.15}.post-page .post-content .post-h1{margin:3.5rem 0 1rem;font-size:2.6rem;font-weight:500}.post-page .post-content h2{margin:2.8rem 0 .8rem;font-size:2rem;font-weight:600}.post-page .post-content h3{margin:2.2rem 0 .6rem;font-size:1.5rem;font-weight:600}.post-page .post-content h4{font-family:var(--font-roboto-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:#6b6b6b;margin:2rem 0 .5rem;font-size:.85rem;font-weight:400;line-height:1.5}.post-page .post-content>:first-child{margin-top:0}.post-page .post-content a{color:inherit;text-underline-offset:4px;-webkit-text-decoration:underline #bdbdbd;text-decoration:underline #bdbdbd;text-decoration-thickness:1px;transition:text-decoration-color .2s}@media (hover:hover) and (pointer:fine){.post-page .post-content a:hover{color:inherit;text-underline-offset:4px;background:0 0;text-decoration-color:#000}}.post-page .post-content strong{color:#000;font-weight:500}.post-page .post-content code{font-family:var(--font-roboto-mono), monospace;background:#f3f2ef;border-radius:4px;padding:.1em .35em;font-size:.9em}.post-page .post-content blockquote{font-family:var(--font-work-sans), sans-serif;color:#444;background:0 0;border-left:2px solid #ddd;margin:2.5rem 0;padding:.2rem 0 .2rem 1.4rem;font-size:1.35rem;font-style:normal;font-weight:300;line-height:1.6}.post-page .post-hr{margin:3rem 0}.post-page .post-hr-default{background-color:#c8c8c8}.post-page .post-hr-dashed,.post-page .post-hr-dotted{border-top-width:1px;border-top-color:#b5b5b5}.post-page .post-content-image-frame,.post-page .post-content-image{border-radius:12px}.post-page .post-content-image-frame{box-shadow:0 0 0 1px #0000000f}.post-page .post-image-caption,.post-page .post-video-caption,.post-page .post-table-caption{font-family:var(--font-work-sans), sans-serif;color:#6b6b6b;font-size:.9rem;font-style:normal;font-weight:400}.post-page .post-code-block{background:#141414;border-radius:12px;margin:2.5rem 0;box-shadow:inset 0 0 0 1px #ffffff0f}.post-page .post-code-header{background:0 0;border-bottom:1px solid #ffffff14;padding:.8rem 1.4rem}.post-page .post-code-language,.post-page .post-code-filename,.post-page .post-code-copy{font-family:var(--font-roboto-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:#8a8a8a;font-size:.75rem;font-weight:400}@media (hover:hover) and (pointer:fine){.post-page .post-code-copy:hover{color:#fff}}.post-page .post-code-pre code{background:0 0;padding:0;font-size:.95rem}.post-page .post-callout{color:#222;background:#f3f2ef;border:0;border-radius:12px;margin:2.5rem 0;padding:1.4rem 1.6rem}.post-page .post-callout-title{font-family:var(--font-roboto-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:#6b6b6b;margin-bottom:.4rem;font-size:.8rem;font-weight:400}.post-page .post-table td{border-color:#ececec}.post-page .post-content>p:first-of-type{font-family:var(--font-cormorant), serif;color:#000;font-size:1.75rem;font-weight:400;line-height:1.4}.post-page .post-content .pp-num{font-family:var(--font-roboto-mono), monospace;letter-spacing:.06em;color:#6b6b6b;margin-bottom:.7rem;font-size:.85rem;font-weight:400;line-height:1;display:block}.post-page .post-toc-num{font-family:var(--font-roboto-mono), monospace;letter-spacing:.06em;margin-right:.6rem;font-size:.75rem}.post-page .post-content{counter-reset:pp-fig}.post-page .post-image-caption{counter-increment:pp-fig;text-align:left}.post-page .post-image-caption:before{content:"Fig. " counter(pp-fig) " · ";font-family:var(--font-roboto-mono), monospace;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}@media (min-width:1280px){.post-page .post-image-block{width:calc(100% + 8rem);max-width:none}}.post-page .pp-end{border-top:1px solid #ececec;grid-column:-2/-1;max-width:40rem;margin-top:2rem;padding-top:2.5rem}.post-page .pp-more,.post-page .pp-tile-kicker,.post-page .pp-tile-title{margin-bottom:0}.post-page .pp-more{font-family:var(--font-roboto-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:#6b6b6b;margin:0 0 1rem;font-size:.8rem;font-weight:400;line-height:1.4}.post-page .pp-next{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;display:grid}.post-page .pp-tile{color:inherit;background:#f3f2ef;border-radius:20px;flex-direction:column;padding:1.6rem;text-decoration:none;transition:transform .15s;display:flex;position:relative;overflow:hidden}.post-page .pp-tile-kicker{font-family:var(--font-roboto-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:#6b6b6b;font-size:.75rem;font-weight:400;line-height:1.4}.post-page .pp-tile-title{font-family:var(--font-cormorant), serif;color:#000;margin-top:.6rem;font-size:1.6rem;font-weight:400;line-height:1.15}.post-page .pp-tile-shot{height:9rem;margin:1.6rem -3rem -3rem 0;transition:transform .4s;display:block}.post-page .pp-tile-shot img{object-fit:cover;object-position:top left;border-radius:10px 0 0;width:100%;height:100%;display:block;box-shadow:0 0 0 1px #0000000f}@media (hover:hover) and (pointer:fine){.post-page .pp-tile:hover .pp-tile-shot{transform:translate(-6px,-6px)}}@media (hover:none),(pointer:coarse){.post-page .pp-tile:active{opacity:1;transform:scale(.985)}}@media (prefers-reduced-motion:reduce){.post-page .pp-tile,.post-page .pp-tile-shot{transition:none}}@media (max-width:900px){.post-page .pp-head{padding:3rem 6% 2rem}.post-page .pp-cover{padding:0 6%}.post-page .post-body-wrapper{grid-template-columns:minmax(0,1fr);margin-top:2.5rem;padding:0 6% 5rem}.post-page .post-toc{display:none}.post-page .post-content,.post-page .post-content p{font-size:1.1rem}.post-page .post-content>p:first-of-type{font-size:1.45rem}.post-page .pp-end{margin-top:1rem}.post-page .pp-next{grid-template-columns:minmax(0,1fr)}}.share-pill{z-index:50;color:#fff;background:#000;border-radius:999px;align-items:center;gap:2px;padding:4px;animation:.15s ease-out share-pill-in;display:flex;position:fixed;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 4px 16px #0000002e}@keyframes share-pill-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 4px))}}.share-btn{color:#8a8a8a;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:30px;height:30px;transition:color .2s,background .2s;display:grid}.share-btn:focus-visible{color:#fff;background:#1f1f1f}@media (hover:hover) and (pointer:fine){.share-btn:hover{color:#fff;background:#1f1f1f}}.share-copied{line-height:30px;font-family:var(--font-roboto-mono), monospace;letter-spacing:.06em;text-transform:uppercase;padding:0 12px;font-size:.75rem}@media (prefers-reduced-motion:reduce){.share-pill{animation:none}}
