.prose{max-width:68ch;color:var(--text);text-wrap:pretty;font-size:17px;line-height:1.65}.prose-wide{max-width:none}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose figure,.prose .table-wrap,.prose .callout{margin:0 0 1.25em}.prose h2,.prose h3,.prose h4{scroll-margin-top:var(--nav-h);text-wrap:balance}.prose h2{letter-spacing:-.035em;margin:2.2em 0 .7em;font-size:clamp(26px,2.6vw,34px);line-height:1.1}.prose h3{letter-spacing:-.025em;margin:1.8em 0 .6em;font-size:clamp(21px,1.9vw,25px);line-height:1.2}.prose h4{letter-spacing:-.015em;margin:1.5em 0 .5em;font-size:18px;font-weight:600;line-height:1.3}.prose a{color:var(--text);text-decoration:underline;text-decoration-color:var(--lime-deep);text-underline-offset:3px;text-decoration-thickness:2px;transition:background .2s}.prose a:hover{background:var(--lime)}.prose strong{font-weight:700}.prose em{font-style:italic}.prose ul,.prose ol{gap:.45em;padding-left:1.4em;display:grid}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li::marker{color:var(--lime-ink);font-weight:600}.prose li>ul,.prose li>ol{margin:.45em 0 0}.prose blockquote{border-left:3px solid var(--lime);color:var(--text-2);padding:4px 0 4px 22px;font-size:1.05em;line-height:1.55}.prose blockquote p:last-child{margin-bottom:0}.prose blockquote cite{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-top:.6em;font-size:12px;font-style:normal;display:block}.prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}.prose code{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:.15em .45em;font-size:.88em}.prose pre{border-radius:var(--r);background:var(--ink);color:#f2f5f0;padding:18px 20px;font-size:14px;line-height:1.55;overflow-x:auto}.prose pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}.prose img,.prose video{border-radius:var(--r-lg);border:1px solid var(--line);width:100%;height:auto}.prose figure{margin-inline:0}.prose figcaption{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-3);text-align:center;margin-top:10px;font-size:12px}.prose .table-wrap{border:1px solid var(--line);border-radius:var(--r);-webkit-overflow-scrolling:touch;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;min-width:520px;font-size:15px;line-height:1.45}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:12px 14px}.prose th{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);background:var(--surface-2);font-size:11.5px;font-weight:500}.prose tbody tr:last-child td{border-bottom:0}.prose .num,.prose td.num{font-variant-numeric:tabular-nums}.prose .callout{border-radius:var(--r);background:var(--bg-alt);border:1px solid var(--line);grid-template-columns:auto 1fr;align-items:start;gap:12px;padding:16px 18px;font-size:15.5px;line-height:1.5;display:grid}.prose .callout>.ic{background:var(--lime);color:#0a0a0a;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.prose .callout>.ic svg{width:15px;height:15px}.prose .callout b,.prose .callout strong.t{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--lime-ink);margin-bottom:4px;font-size:12px;font-weight:500;display:block}.prose .callout p{margin:0}.prose .callout p+p{margin-top:.6em}.prose .callout.tip{background:var(--ok-bg);border-color:#0000}.prose .callout.tip b,.prose .callout.tip strong.t{color:var(--ok)}.prose .callout.warn{background:var(--warn-bg);border-color:#0000}.prose .callout.warn b,.prose .callout.warn strong.t{color:var(--warn)}.prose .callout.warn>.ic{background:#fff}.prose .callout.heep{background:var(--forest);color:#f2f5f0;border-color:#0000}.prose .callout.heep b,.prose .callout.heep strong.t{color:var(--lime-2)}.prose .callout.heep a{color:#fff;text-decoration-color:var(--lime)}.prose .callout.heep a:hover{color:var(--lime);background:0 0}@media (width<=640px){.prose{font-size:16.5px}.prose h2{margin-top:1.8em}}
