.post-list{word-break:keep-all;overflow-wrap:anywhere;gap:0;margin-top:16px;padding:0;list-style:none;display:grid}.post-list li+li{border-top:1px solid var(--line)}.post-list li:last-child{border-bottom:1px solid var(--line)}.post-list a{color:inherit;grid-template-columns:auto 1fr;gap:14px;padding:22px 0;text-decoration:none;display:grid}.post-emoji{font-size:23px;line-height:1.16}.post-list h2{letter-spacing:-.01em;font-size:19px;font-weight:700;line-height:1.4;transition:color .15s}.post-list a:hover h2{color:var(--accent)}.post-list p{max-width:42em;color:var(--muted);margin-top:7px;font-size:14px;line-height:1.75}.post-date{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:10px;font-size:12px;display:block}.post-found{color:var(--muted);margin-top:18px;font-size:12.5px}.post-pager{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;margin-top:32px;font-size:12.5px;display:flex}.post-pager a,.post-pager span{min-width:28px;height:28px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;padding:0 8px;text-decoration:none;transition:color .15s,background .15s;display:inline-flex}.post-pager a:hover{background:var(--accent-soft);color:var(--accent)}.post-pager .post-pager-current{color:var(--accent);font-weight:700}.post-pager .post-pager-off{opacity:.4}.post-pager .post-pager-gap{min-width:0;padding:0 2px}.post-layout{--post-col:46rem;--post-toc:190px;--post-gap:48px;max-width:var(--post-col);margin:0 auto}.post-scope{word-break:keep-all;overflow-wrap:anywhere;container-type:inline-size}@container (min-width:860px){.post-layout--toc{grid-template-columns:minmax(0, var(--post-col)) var(--post-toc);gap:var(--post-gap);max-width:calc(var(--post-col) + var(--post-gap) + var(--post-toc));align-items:start;display:grid}}.post-main{min-width:0}.post-toc{max-height:calc(100vh - 140px);display:none;position:sticky;top:96px;overflow-y:auto}@container (min-width:860px){.post-layout--toc .post-toc{display:block}}.post-toc-label{letter-spacing:.16em;color:var(--muted);font-size:11px;font-weight:700}.post-toc ul{margin-top:12px;padding:0;list-style:none}.post-toc li[data-depth="3"]{padding-left:12px}.post-toc a{color:var(--muted);padding:5px 0;font-size:12.5px;line-height:1.5;text-decoration:none;transition:color .15s;display:block}.post-toc a:hover{color:var(--ink)}.post-toc a[aria-current=true]{color:var(--accent);font-weight:600}.post-head{max-width:42em;padding-top:40px}.post-title-emoji{margin-bottom:12px;font-size:30px;line-height:1;display:block}.post-title{letter-spacing:-.01em;text-wrap:balance;font-size:clamp(30px,5vw,40px);line-height:1.28}.post-byline{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:10px;font-size:12px}.post-byline .post-date{margin-top:0;display:inline}.post-lede{color:var(--muted);margin-top:14px;font-size:16px;line-height:1.6}.post-body{margin-top:40px;font-size:17px;line-height:1.85}.post-body p{margin-top:22px}.post-body h2,.post-body h3{scroll-margin-top:96px}.post-body h2{letter-spacing:-.01em;margin-top:46px;font-size:23px;font-weight:700;line-height:1.4}.post-body h3{margin-top:34px;font-size:18px;font-weight:700;line-height:1.45}.post-body ul,.post-body ol{margin-top:20px;padding-left:22px}.post-body li{margin-top:9px}.post-body ul{list-style:outside}.post-body ol{list-style:decimal}.post-body strong{font-weight:700}.post-body a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.post-body blockquote{border-left:3.5px solid var(--accent);color:var(--muted);margin-top:24px;padding-left:18px}.post-body hr{border:0;border-top:1px solid var(--line);margin:40px 0}.post-body code{background:var(--wash);border-radius:5px;padding:2px 5px;font-size:.9em}.post-body pre{background:var(--wash);border-radius:10px;margin-top:24px;padding:16px 18px;font-size:13.5px;line-height:1.7;overflow-x:auto}.post-body pre code{background:0 0;padding:0}.post-body .scroll-x{margin-top:24px}.post-body table{border-collapse:collapse;width:100%;font-size:14px}.post-body th,.post-body td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap;padding:10px 14px 10px 0}.post-body th{font-weight:700}.post-body img{max-width:100%;height:auto}
