.post-body>*+*{margin-top:1.4rem}.post-body p{font-family:var(--font-sans);color:var(--color-ink);font-size:1.0625rem;line-height:1.75}.post-body p.lede,.post-body .lede{color:var(--color-ink);font-size:1.25rem;font-weight:500;line-height:1.6}.post-body h2{font-family:var(--font-display);color:var(--color-ink);letter-spacing:-.022em;border-top:1px solid var(--color-line);margin-top:3rem;padding-top:1.5rem;font-size:1.75rem;font-weight:800;line-height:1.18}.post-body h3{font-family:var(--font-display);color:var(--color-ink);letter-spacing:-.018em;margin-top:2.25rem;font-size:1.375rem;font-weight:700;line-height:1.25}.post-body a{color:var(--color-ember);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklab, var(--color-ember) 35%, transparent);text-decoration-color:color-mix(in oklab, var(--color-ember) 35%, transparent);transition:color .2s,text-decoration-color .2s}.post-body a:hover{color:var(--color-ember-2);-webkit-text-decoration-color:var(--color-ember);text-decoration-color:var(--color-ember)}.post-body strong{color:var(--color-ink);font-weight:600}.post-body em{color:var(--color-slate-warm)}.post-body code{font-family:var(--font-mono);background:var(--color-paper-2);border:1px solid var(--color-line);color:var(--color-ink);border-radius:4px;padding:.1rem .35rem;font-size:.9em}.post-body pre{background:var(--color-ink-panel);border:1px solid var(--color-line-dark);color:var(--color-paper);font-size:.875rem;line-height:1.65;font-family:var(--font-mono);border-radius:8px;padding:1.1rem 1.25rem;overflow-x:auto}.post-body pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}.post-body blockquote{border-left:3px solid var(--color-ember);color:var(--color-slate-warm);padding:.4rem 0 .4rem 1.4rem;font-size:1.05rem;font-style:italic;line-height:1.7}.post-body ul,.post-body ol{padding-left:1.5rem}.post-body ul li{color:var(--color-ink);padding-left:1.25rem;line-height:1.7;list-style:none;position:relative}.post-body ul li+li{margin-top:.45rem}.post-body ul li:before{content:"";background:var(--color-ember);border-radius:50%;width:6px;height:6px;position:absolute;top:.65rem;left:0}.post-body ol{color:var(--color-ink);list-style:decimal}.post-body ol li{line-height:1.7}.post-body .table-wrap{border:1px solid var(--color-line);border-radius:8px;overflow-x:auto}.post-body table{border-collapse:collapse;width:100%;font-family:var(--font-sans);font-size:.9375rem;line-height:1.55}.post-body thead th{text-align:left;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-slate-warm);background:var(--color-paper-2);white-space:nowrap;padding:.7rem 1rem;font-size:.6875rem;font-weight:600}.post-body tbody td{color:var(--color-ink);border-top:1px solid var(--color-line);vertical-align:top;padding:.8rem 1rem}.post-body tbody td:first-child{white-space:nowrap}.post-body figure{margin:2.25rem 0}.post-body figure img{border:1px solid var(--color-line);background:var(--color-paper-2);border-radius:8px;width:100%;height:auto}.post-body figure figcaption{text-align:center;color:var(--color-slate-warm);letter-spacing:.02em;margin-top:.6rem;font-size:.8125rem}.post-body .pull-quote{border:1px solid var(--color-line);border-left:3px solid var(--color-ember);background:var(--color-paper-2);color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.018em;border-radius:6px;margin:2.5rem 0;padding:1.5rem 1.75rem;font-size:1.1rem;font-weight:700;line-height:1.5}.post-body hr{background:var(--color-line);border:0;height:1px;margin:2.5rem 0}.post-body .code-wrap{border:1px solid var(--color-line-dark);border-radius:8px;position:relative;overflow:hidden}.post-body .code-wrap pre{border:0;border-radius:0;margin:0}.post-body .code-lang{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#ffffff61;background:var(--color-ink-panel);padding:.45rem 1.25rem 0;font-size:.625rem;font-weight:500}.post-body .code-copy-btn{color:#fff6;opacity:0;cursor:pointer;background:#ffffff12;border:1px solid #ffffff24;border-radius:4px;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;padding:0;transition:opacity .15s,color .15s;display:flex;position:absolute;top:.5rem;right:.5rem}.post-body .code-wrap:hover .code-copy-btn{opacity:1}.post-body .code-copy-btn:hover{color:#ffffffe6}.post-body .code-copy-btn .icon-check,.post-body .code-copy-btn.copied .icon-copy{display:none}.post-body .code-copy-btn.copied .icon-check{color:#34d399;display:block}
