.blog-post-title{font-family:var(--ff-display);color:var(--ink);letter-spacing:-.01em;margin:0 0 16px;font-size:clamp(26px,4vw,44px);font-weight:900;line-height:1.15}.blog-prose{color:var(--ink-2);max-width:720px;font-size:17px;line-height:1.8}.blog-prose h2{font-family:var(--ff-display);color:var(--ink);margin:48px 0 14px;scroll-margin-top:80px;font-size:clamp(20px,2.5vw,28px);font-weight:800;line-height:1.25}.blog-prose h3{font-family:var(--ff-display);color:var(--ink);margin:36px 0 10px;scroll-margin-top:80px;font-size:clamp(17px,2vw,22px);font-weight:700;line-height:1.3}.blog-prose p{margin:0 0 22px}.blog-prose p:last-child{margin-bottom:0}.blog-prose blockquote{border-left:3px solid var(--green);color:var(--ink-2);margin:32px 0;padding:6px 20px;font-style:italic}.blog-prose blockquote p{margin:0}.blog-prose pre{font-family:var(--ff-mono);background:var(--paper-warm);border:1px solid var(--paper-edge);border-radius:var(--r-md);white-space:pre;margin:28px 0;padding:20px 24px;font-size:13px;line-height:1.6;overflow-x:auto}.blog-prose code{font-family:var(--ff-mono);background:var(--paper-warm);border:1px solid var(--paper-edge);border-radius:4px;padding:2px 6px;font-size:.875em}.blog-prose pre code{font-size:inherit;background:0 0;border:none;border-radius:0;padding:0}.blog-prose ul{margin:4px 0 22px;padding-left:28px;list-style:outside}.blog-prose ol{margin:4px 0 22px;padding-left:28px;list-style:decimal}.blog-prose li{margin-bottom:8px;line-height:1.7}.blog-prose li:last-child{margin-bottom:0}.blog-prose a{color:var(--green);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.blog-prose a:hover{text-decoration:none}.blog-prose figure{margin:36px 0}.blog-prose figcaption{color:var(--ink-3);font-size:13px;font-family:var(--ff-mono);text-align:center;margin-top:10px}.blog-toc{background:var(--paper-warm);border:1px solid var(--paper-edge);border-radius:var(--r-md);max-width:720px;margin-bottom:40px}.blog-toc summary{font-family:var(--ff-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:14px 18px;font-size:11px;font-weight:600;list-style:none;display:flex}.blog-toc summary::-webkit-details-marker{display:none}.blog-toc summary:before{content:"▶";color:var(--green);font-size:8px;transition:transform .15s;display:inline-block}.blog-toc[open]>summary:before{transform:rotate(90deg)}.blog-toc-nav{padding:2px 18px 16px}.blog-toc-list{border-top:1px solid var(--paper-edge);margin:0;padding:12px 0 0;list-style:none}.blog-toc-list li{margin-bottom:0}.blog-toc-list a{color:var(--ink-2);padding:4px 0;font-size:13px;line-height:1.5;text-decoration:none;transition:color .15s;display:block}.blog-toc-list a:hover{color:var(--green)}.blog-toc-h3{padding-left:16px}
