.blog-main{max-width:880px;padding:calc(var(--nav-h) + 72px) var(--pad-x) 96px;margin:0 auto}.blog-main-wide{max-width:var(--max-w)}.blog-head{margin-bottom:56px}.blog-head .big-title{margin:0 0 12px}.blog-head .muted{margin:0}.post-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.post-item{border-top:1px solid var(--line-soft);padding:28px 0}.post-item:last-child{border-bottom:1px solid var(--line-soft)}.post-item a.post-link{display:block}.post-meta{color:var(--muted);align-items:center;gap:12px;margin:0 0 8px;font-size:13px;display:flex}.post-title{font-family:var(--font-display);color:var(--ink-2);margin:0 0 8px;font-size:clamp(20px,3vw,26px);font-weight:600;line-height:1.25;transition:color .2s}.post-link:hover .post-title{color:var(--blue-bright)}.post-desc{color:var(--muted-soft);margin:0 0 12px;line-height:1.6}.post-tags{flex-wrap:wrap;gap:8px;display:flex}.series-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--clay);border:1px solid color-mix(in srgb, var(--clay) 45%, transparent);background:color-mix(in srgb, var(--clay) 12%, transparent);border-radius:999px;align-items:center;gap:6px;padding:3px 12px;font-size:12px;font-weight:600;display:inline-flex}a.series-badge:hover{background:color-mix(in srgb, var(--clay) 22%, transparent)}.post-header{margin-bottom:40px}.post-header .post-meta{margin-bottom:16px}.post-header h1{font-family:var(--font-display);color:var(--ink-2);margin:0 0 16px;font-size:clamp(30px,5vw,44px);font-weight:700;line-height:1.15}.post-header .post-tags{margin-top:4px}.post-disclaimer{border:1px solid var(--line-soft);border-left:3px solid var(--clay);color:var(--muted);background:#ffffff08;border-radius:10px;align-items:baseline;gap:10px;margin:0 0 32px;padding:12px 16px;font-size:13px;line-height:1.5;display:flex}.post-disclaimer i{color:var(--clay);font-size:12px}.post-hero{margin:0 0 40px}.post-hero img{border:1px solid var(--line-soft);border-radius:16px;width:100%;height:auto}.post-hero figcaption{text-align:center;color:var(--muted);margin-top:10px;font-size:13px}.post-hero figcaption a{color:var(--muted-soft);text-underline-offset:2px;text-decoration:underline}.post-hero figcaption a:hover{color:var(--blue-bright)}.prose{color:var(--ink);font-size:17px;line-height:1.75}.prose h2,.prose h3,.prose h4{font-family:var(--font-display);color:var(--ink-2);margin:2em 0 .6em;line-height:1.3}.prose h2{font-size:26px}.prose h3{font-size:21px}.prose p{margin:0 0 1.2em}.prose a{color:var(--blue-bright);text-underline-offset:3px;text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--blue-bright) 40%, transparent)}.prose a:hover{text-decoration-color:var(--blue-bright)}.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.4em}.prose li{margin-bottom:.4em}.prose blockquote{border-left:3px solid var(--clay);color:var(--muted-soft);margin:1.6em 0;padding:4px 0 4px 20px;font-style:italic}.prose img{border:1px solid var(--line-soft);border-radius:12px;height:auto;margin:1.6em auto}.prose img.img-white-bg{background:#fff;padding:14px}.prose figure{margin:1.6em 0}.prose figcaption{text-align:center;color:var(--muted);margin-top:8px;font-size:13px}.prose hr{border:none;border-top:1px solid var(--line);margin:2.4em 0}.prose code{background:var(--bg-3);border:1px solid var(--line-soft);border-radius:6px;padding:.15em .4em;font-size:.9em}.prose pre{border:1px solid var(--line-soft);border-radius:12px;margin:1.6em 0;padding:18px 20px;font-size:14px;line-height:1.6;overflow-x:auto}.code-wrap{margin:1.6em 0;position:relative}.code-wrap pre{margin:0}.code-copy{border:1px solid var(--line);width:34px;height:30px;color:var(--muted-soft);cursor:pointer;opacity:0;background:#ffffff12;border-radius:8px;justify-content:center;align-items:center;font-size:13px;transition:opacity .15s,color .15s,background .15s;display:inline-flex;position:absolute;top:10px;right:10px}.code-wrap:hover .code-copy,.code-copy:focus-visible,.code-copy.copied{opacity:1}.code-copy:hover{color:var(--ink-2);background:#4d9fff2e}.code-copy.copied{color:var(--mint,#7fd8be);border-color:currentColor}.prose pre code{font-size:inherit;background:0 0;border:none;padding:0}.prose table{border-collapse:collapse;width:100%;margin:1.6em 0;font-size:15px}.prose th,.prose td{border:1px solid var(--line);text-align:left;padding:8px 12px}.prose th{background:var(--bg-2);color:var(--ink-2)}.prose img,.post-hero img{cursor:zoom-in;transition:transform .25s}.prose img:hover,.post-hero img:hover{transform:scale(1.02)}.img-lightbox{z-index:300;-webkit-backdrop-filter:blur(4px);cursor:zoom-out;opacity:0;background:#0b0f17f0;justify-content:center;align-items:center;padding:3vh 3vw;transition:opacity .2s;display:flex;position:fixed;inset:0}.img-lightbox.open{opacity:1}.img-lightbox img{border-radius:10px;width:auto;max-width:100%;height:auto;max-height:100%;box-shadow:0 24px 80px #0009}.img-lightbox img.img-white-bg{background:#fff;padding:18px}.post-note{border-top:1px solid var(--line-soft);color:var(--muted);margin-top:56px;padding-top:24px;font-size:14px}.post-note a{color:var(--blue-bright)}.series-head{border:1px solid color-mix(in srgb, var(--clay) 30%, transparent);background:color-mix(in srgb, var(--clay) 7%, transparent);border-radius:var(--card-radius);margin-bottom:56px;padding:32px}.series-head .big-title{margin:12px 0}.series-head .big-title em{color:var(--clay)}.series-head p{color:var(--muted-soft);margin:0;line-height:1.7}.blog-footer{border-top:1px solid var(--line-soft);padding:40px var(--pad-x) 48px;text-align:center}.blog-footer-social{justify-content:center;gap:18px;margin-bottom:14px;display:flex}.blog-footer-social a{border:1px solid var(--line);width:40px;height:40px;color:var(--muted-soft);border-radius:50%;justify-content:center;align-items:center;transition:color .2s,border-color .2s;display:inline-flex}.blog-footer-social a:hover{color:var(--ink-2);border-color:var(--blue)}.blog-footer-copy{color:var(--muted);margin:0;font-size:13px}@media (width<=620px){.blog-main{padding-top:calc(var(--nav-h) + 48px)}.series-head{padding:24px 20px}}
