.jk-prose{max-width:760px;margin:0 auto;color:var(--jk-ink-1);font-size:16px;line-height:1.78}.jk-prose h2{margin-top:2.4em;margin-bottom:.8em;font-size:22px;color:var(--jk-ink-0);border-left:3px solid var(--jk-brand);padding-left:12px}.jk-prose h3{margin-top:1.8em;margin-bottom:.6em;font-size:18px;color:var(--jk-ink-0)}.jk-prose p{margin:1em 0}.jk-prose strong{color:var(--jk-ink-0)}.jk-prose a{color:var(--jk-brand);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.jk-prose a:hover{color:var(--jk-brand-2)}.jk-prose ul,.jk-prose ol{margin:1em 0;padding-left:1.6em}.jk-prose li{margin:.4em 0}.jk-prose blockquote{margin:1.2em 0;padding:12px 16px;border-left:3px solid var(--jk-line-2);background:var(--jk-bg-2);color:var(--jk-ink-2);border-radius:0 var(--jk-r-sm) var(--jk-r-sm) 0}.jk-prose code{font-family:var(--jk-font-mono);font-size:.92em;padding:2px 6px;background:var(--jk-bg-2);border-radius:4px;border:1px solid var(--jk-line)}.jk-prose pre{margin:1.2em 0;padding:16px;background:var(--jk-bg-2);border:1px solid var(--jk-line);border-radius:var(--jk-r-md);overflow-x:auto}.jk-prose pre code{background:transparent;border:none;padding:0}.jk-prose hr{border:none;border-top:1px solid var(--jk-line);margin:2.4em 0}.jk-prose img{display:block;max-width:100%;height:auto;margin:1.6em auto 0;border:1px solid var(--jk-line);border-radius:var(--jk-r-md);box-shadow:0 4px 18px #0000001a;background:#fff}.jk-prose p:has(>img:only-child){margin:0;text-align:center}.jk-prose p:has(>img:only-child)+blockquote{margin:.4em auto 2em;max-width:720px;padding:6px 12px;border-left:none;background:transparent;color:var(--jk-ink-3);font-size:13px;line-height:1.65;text-align:center;border-radius:0}.jk-prose p:has(>img:only-child)+blockquote p{margin:0}html[theme-mode=dark] .jk-prose img{background:#fff;padding:8px}.jk-prose table{width:100%;margin:1.8em 0;border-collapse:collapse;border:1px solid var(--jk-line);border-radius:var(--jk-r-md);overflow:hidden;font-size:14.5px;line-height:1.6;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.jk-prose table thead{background:color-mix(in srgb,var(--jk-brand) 8%,transparent);border-bottom:2px solid color-mix(in srgb,var(--jk-brand) 28%,transparent)}.jk-prose table th{padding:12px 16px;text-align:left;font-weight:700;color:var(--jk-ink-0);white-space:nowrap}.jk-prose table td{padding:12px 16px;border-top:1px solid var(--jk-line);color:var(--jk-ink-1);vertical-align:top}.jk-prose table td:first-child{font-weight:600;color:var(--jk-ink-0)}.jk-prose table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--jk-ink-0) 3%,transparent)}.jk-prose table tbody tr:hover{background:color-mix(in srgb,var(--jk-brand) 6%,transparent)}@media(max-width:640px){.jk-prose table{font-size:13px}.jk-prose table th,.jk-prose table td{padding:10px 12px}}.jk-content-wrap{padding:56px 0 96px}.jk-content-head{max-width:760px;margin:0 auto 40px;text-align:left}.jk-content-head h1{font-size:36px;line-height:1.2;color:var(--jk-ink-0);margin:0 0 12px}.jk-content-head .lede{font-size:17px;color:var(--jk-ink-2);margin:0}.jk-meta{font-family:var(--jk-font-mono);font-size:12px;color:var(--jk-ink-3);letter-spacing:.04em;display:flex;gap:16px;flex-wrap:wrap;margin:14px 0 0}.jk-meta .cat{padding:2px 8px;border:1px solid var(--jk-line-2);border-radius:4px;color:var(--jk-brand)}.jk-card-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.jk-card{display:flex;flex-direction:column;gap:10px;padding:22px;background:var(--jk-bg-1);border:1px solid var(--jk-line);border-radius:var(--jk-r-md);transition:border-color .15s,transform .15s;color:inherit}.jk-card:hover{border-color:var(--jk-brand);transform:translateY(-2px)}.jk-card h3{font-size:18px;color:var(--jk-ink-0);margin:0;line-height:1.4}.jk-card .desc{font-size:14px;color:var(--jk-ink-2);margin:0;flex:1}.jk-card .foot{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-family:var(--jk-font-mono);font-size:11px;color:var(--jk-ink-3);letter-spacing:.04em}.jk-card .foot .cat{padding:2px 8px;border:1px solid var(--jk-line-2);border-radius:4px;color:var(--jk-brand)}.jk-card .tag{padding:2px 8px;background:var(--jk-bg-2);border-radius:4px;color:var(--jk-ink-2)}.jk-related{max-width:760px;margin:64px auto 0;padding-top:32px;border-top:1px solid var(--jk-line)}.jk-related h2{font-size:18px;color:var(--jk-ink-0);margin:0 0 20px}.jk-back{display:inline-flex;align-items:center;gap:6px;color:var(--jk-ink-2);font-size:14px;margin-bottom:24px}.jk-back:hover{color:var(--jk-brand)}
