html{scroll-padding-top:calc(var(--nav-h) + 36px)}.pg-post .post-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,680px) minmax(0,1fr);-moz-column-gap:clamp(32px,4vw,64px);column-gap:clamp(32px,4vw,64px)}.pg-post .post-grid>.col-main{grid-column:2;min-width:0}.pg-post .post-grid>.col-rail{grid-column:1;grid-row:1;min-width:0}.pg-post .post-head{padding-block:clamp(40px,6vw,88px) clamp(40px,5vw,64px)}.pg-post .post-head__rail{display:grid;align-content:start;gap:6px;padding-top:14px}.pg-post .post-head__rail .sec-head__index{font-size:var(--fs-xs)}.pg-post .crumbs{display:flex;align-items:center;gap:10px;margin-bottom:28px;color:var(--faint)}.pg-post .crumbs a{color:var(--muted);transition:color var(--t-1) ease}.pg-post .crumbs a:hover{color:var(--ink)}.pg-post .crumbs .arrow{transform:scaleX(-1)}.pg-post .crumbs a:hover .arrow{transform:scaleX(-1) translate(3px)}.pg-post .crumbs__sep{width:18px;height:1px;background:var(--line-3)}.pg-post .post-title{font-family:var(--font-display);font-weight:400;font-size:clamp(2.5rem,1.35rem + 3.5vw,4.25rem);line-height:1.02;letter-spacing:-.02em;color:var(--ink);text-wrap:balance;overflow-wrap:break-word}.pg-post .post-title em{font-style:italic;color:var(--accent)}.pg-post .post-title .pkg{display:block;font-size:.5em;line-height:1.1;letter-spacing:-.01em;color:var(--muted);margin-bottom:.3em}.pg-post .post-title .pkg i{color:var(--faint);font-style:normal}.pg-post .post-meta{display:grid;grid-template-columns:repeat(3,auto) minmax(0,1fr);margin-top:clamp(32px,4vw,44px);border-block:1px solid var(--line)}.pg-post .post-meta>div{display:grid;gap:4px;align-content:start;padding:14px 24px 16px 0}.pg-post .post-meta>div+div{padding-left:24px;border-left:1px solid var(--line)}.pg-post .post-meta dt,.pg-post .toc-bar__label{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.pg-post .post-meta dd{color:var(--ink);font-size:.975rem;font-variant-numeric:tabular-nums}.pg-post .post-meta dd .muted{font-size:.9rem}.pg-post .post-meta .chips{margin-top:1px}.pg-post .post-head__foot{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin-top:20px}.pg-post .ask-chip{height:32px;padding:0 14px 0 10px;gap:8px;font-size:.8125rem}.pg-post .ask-chip svg{width:15px;height:15px}.pg-post .ask-chip:hover{color:var(--ink)!important;background:var(--accent-tint);border-color:var(--accent)!important}.pg-post .ask-chip .arrow{color:var(--accent)}.pg-post .post-body{padding-bottom:clamp(56px,7vw,96px)}.pg-post .rail{position:sticky;top:calc(var(--nav-h) + 40px);display:grid;gap:28px;max-width:220px;padding-top:6px}.pg-post .rail__label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.pg-post .rail__label .eyebrow{color:var(--faint)}.pg-post .rail__left,.pg-post .toc-bar__left{font-family:var(--font-mono);font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.pg-post .toc{position:relative}.pg-post .toc:before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:1px;background:var(--accent-line);transform-origin:50% 0;transform:scaleY(var(--p, 0))}.pg-post .toc a{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);gap:4px;align-items:baseline}.pg-post .toc a.toc__sub{grid-template-columns:minmax(0,1fr);padding-left:42px}.pg-post .toc a .n{font-family:var(--font-mono);font-size:.6875rem;color:var(--faint);opacity:.75}.pg-post .toc a.is-active .n{color:var(--accent);opacity:1}.pg-post .rail__top{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:.75rem;color:var(--faint);transition:color var(--t-1) ease,opacity var(--t-2) ease;justify-self:start}.pg-post .rail__top:hover{color:var(--ink)}.pg-post .rail__top .arrow{transform:rotate(-90deg)}.pg-post .rail__top[data-hidden]{opacity:0;pointer-events:none}.pg-post .toc-bar{display:none}.pg-post .prose{max-width:none}.pg-post .prose :is(p,li){hanging-punctuation:first}.pg-post .prose h1{font-family:var(--font-display);font-weight:400;font-size:clamp(1.875rem,1.5rem + 1.2vw,2.375rem);line-height:1.12;letter-spacing:-.012em;color:var(--ink);margin-top:2.2em;text-wrap:balance}.pg-post .prose>:first-child{margin-top:0}.pg-post .prose :is(h1,h2){clear:both}.pg-post .prose :is(h5,h6){font-weight:600;color:var(--ink);margin-top:1.4em}.pg-post .prose h1+*{margin-top:.6em}.pg-post .prose li>:is(ul,ol){margin-top:.45em}.pg-post .prose li>p+p,.pg-post .prose blockquote>*+*{margin-top:.75em}.pg-post .prose .code-block{margin-block:1.6em}.pg-post .prose .code-block__lang{display:inline-flex;align-items:center;gap:8px}.pg-post .prose .code-block__lang:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold-bead);opacity:.9}.pg-post .prose .code-copy svg{width:14px;height:14px}.pg-post .prose .code-block pre code{font:inherit;background:none;border:0;padding:0}.pg-post .post-after{display:grid;gap:clamp(40px,5vw,56px);margin-top:clamp(48px,6vw,72px);padding-top:clamp(32px,4vw,48px);border-top:1px solid var(--line)}.pg-post .filed{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}.pg-post .filed .meta a{color:var(--muted)}.pg-post .filed .meta a:hover{color:var(--ink)}.pg-post .author{display:grid;grid-template-columns:88px minmax(0,1fr);gap:24px;align-items:start;padding:clamp(24px,3vw,32px);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}.pg-post .author .portrait{width:88px;height:88px}.pg-post .author__name{font-family:var(--font-display);font-size:1.75rem;line-height:1.1;color:var(--ink);margin-top:6px}.pg-post .author__name em{color:var(--accent)}.pg-post .author__bio{color:var(--muted);margin-top:8px;max-width:46ch;font-size:1rem;line-height:1.55}.pg-post .author__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:20px}.pg-post .pager{border-top:1px solid var(--line)}.pg-post .pager__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pg-post .pager__item{position:relative;display:grid;align-content:start;gap:10px;padding:clamp(28px,4vw,48px) clamp(20px,3vw,40px) clamp(32px,4vw,56px) 0;transition:background-color var(--t-2) ease}.pg-post .pager__item+.pager__item{border-left:1px solid var(--line);padding-left:clamp(20px,3vw,40px);padding-right:0;text-align:right;justify-items:end}.pg-post .pager__dir{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.pg-post .pager__dir .arrow{transition:transform var(--t-2) var(--ease-out)}.pg-post .pager__item--prev .pager__dir .arrow{transform:scaleX(-1)}.pg-post .pager__item--prev:hover .pager__dir .arrow{transform:scaleX(-1) translate(4px)}.pg-post .pager__item--next:hover .pager__dir .arrow{transform:translate(4px)}.pg-post .pager__title{font-family:var(--font-display);font-size:clamp(1.5rem,1.1rem + 1.2vw,2.125rem);line-height:1.12;letter-spacing:-.012em;color:var(--ink);text-wrap:balance;max-width:22ch;transition:color var(--t-1) ease}.pg-post .pager__title a:after{content:"";position:absolute;inset:0}.pg-post .pager__item:hover .pager__title{color:var(--accent-hi)}.pg-post .pager__meta{font-family:var(--font-mono);font-size:.8125rem;color:var(--faint);font-variant-numeric:tabular-nums}.pg-post .pager__item a:focus-visible{outline:none}.pg-post .pager__item:has(a:focus-visible){outline:2px solid var(--accent);outline-offset:-2px;border-radius:4px}.pg-post .pager__empty{color:var(--faint)}@media(max-width:1119px){.pg-post .post-grid{grid-template-columns:minmax(0,1fr);max-width:calc(720px + var(--gutter) * 2)}.pg-post .post-grid>.col-main,.pg-post .post-grid>.col-rail{grid-column:1;grid-row:auto}.pg-post .post-body .col-rail{display:none}.pg-post .post-head__rail{display:flex;align-items:center;gap:12px;padding-top:0;margin-bottom:20px}.pg-post .crumbs{margin-bottom:20px}html{scroll-padding-top:calc(var(--nav-h) + 72px)}.pg-post .toc-bar{display:block;position:sticky;top:var(--nav-h);z-index:40;margin-bottom:36px;margin-inline:calc(var(--gutter) * -1);background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:saturate(140%) blur(14px);border-block:1px solid var(--line)}.pg-post .toc-bar summary{display:flex;align-items:center;gap:12px;height:48px;padding-inline:var(--gutter);list-style:none;cursor:pointer;font-size:.9375rem}.pg-post .toc-bar summary::-webkit-details-marker{display:none}.pg-post .toc-bar__label,.pg-post .toc-bar__left{flex:none}.pg-post .toc-bar__current{flex:1;min-width:0;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pg-post .toc-bar__chev{width:10px;height:10px;flex:none;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:translateY(-3px) rotate(45deg);transition:transform var(--t-2) var(--ease-out)}.pg-post .toc-bar[open] .toc-bar__chev{transform:translateY(2px) rotate(-135deg)}.pg-post .toc-bar>nav{position:absolute;left:0;right:0;top:100%;padding:6px var(--gutter) 18px;background:color-mix(in srgb,var(--bg) 97%,transparent);border-bottom:1px solid var(--line);box-shadow:0 24px 40px -20px #000c;max-height:calc(100dvh - var(--nav-h) - 60px);overflow-y:auto}.pg-post .toc-bar[open]>nav{animation:toc-drop var(--t-2) var(--ease-out)}@keyframes toc-drop{0%{opacity:0;transform:translateY(-6px)}}.pg-post .toc-bar .toc a{padding-block:9px}}@media(max-width:640px){.pg-post .post-title .pkg{font-size:.56em}.pg-post .post-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.pg-post .post-meta>div{padding:12px 12px 14px 0}.pg-post .post-meta>div+div{padding-left:14px}.pg-post .post-meta>div:nth-child(4){grid-column:1 / -1;padding-left:0;border-left:0;border-top:1px solid var(--line)}.pg-post .prose{font-size:1.0625rem}.pg-post .author{grid-template-columns:minmax(0,1fr);gap:16px}.pg-post .author .portrait{width:72px;height:72px}.pg-post .pager__grid{grid-template-columns:minmax(0,1fr)}.pg-post .pager__item,.pg-post .pager__item+.pager__item{padding:28px 0;text-align:left;justify-items:start;border-left:0}.pg-post .pager__item+.pager__item{border-top:1px solid var(--line)}}
