.kb-prose{font-size:.9375rem;line-height:1.75;color:hsl(var(--foreground)/.85)}.kb-prose h2,.kb-prose h3{font-family:var(--font-space-grotesk),sans-serif;color:hsl(var(--foreground));letter-spacing:-.015em;scroll-margin-top:5.5rem}.kb-prose h2{font-size:1.375rem;font-weight:700;margin:2.75rem 0 .875rem;padding-top:1.5rem;border-top:1px solid hsl(var(--border))}.kb-prose h2:first-child{margin-top:0;padding-top:0;border-top:0}.kb-prose h3{font-size:1.0625rem;font-weight:600;margin:1.875rem 0 .625rem}.kb-prose .kb-anchor{margin-left:.5rem;color:hsl(var(--primary));opacity:0;text-decoration:none;font-weight:400;transition:opacity .15s}.kb-prose .kb-anchor:focus-visible,.kb-prose h2:hover .kb-anchor,.kb-prose h3:hover .kb-anchor{opacity:1}.kb-prose p{margin:0 0 1.125rem}.kb-prose strong{font-weight:600;color:hsl(var(--foreground))}.kb-prose em{font-style:italic}.kb-prose a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:4px;transition:color .15s}.kb-prose a:hover{color:hsl(var(--primary)/.8)}.kb-prose hr{border:0;border-top:1px solid hsl(var(--border));margin:2rem 0}.kb-prose blockquote{border-left:2px solid hsl(var(--primary)/.4);padding-left:1rem;margin:1.25rem 0;font-style:italic;color:hsl(var(--muted-foreground))}.kb-prose blockquote p:last-child{margin-bottom:0}.kb-prose ul{list-style:none;padding-left:0;margin:0 0 1.125rem}.kb-prose ul>li{position:relative;padding-left:1.25rem;margin-bottom:.4rem}.kb-prose ul>li:before{content:"▸";position:absolute;left:0;top:-.05em;color:hsl(var(--primary));font-size:.8em}.kb-prose ol{padding-left:1.25rem;margin:0 0 1.125rem;list-style:decimal}.kb-prose ol>li{margin-bottom:.4rem;padding-left:.25rem}.kb-prose li>ol,.kb-prose li>ul{margin-top:.4rem;margin-bottom:0}.kb-prose :not(pre)>code{font-family:ui-monospace,SF Mono,Cascadia Mono,Consolas,monospace;font-size:.85em;background:hsl(var(--muted));color:hsl(var(--primary)/.9);padding:.125rem .375rem;border-radius:4px;white-space:nowrap}.kb-prose .kb-code{margin:0 0 1.375rem;border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;background:hsl(var(--muted)/.2)}.kb-prose .kb-code-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .75rem .4rem 1rem;background:hsl(var(--muted)/.6);border-bottom:1px solid hsl(var(--border))}.kb-prose .kb-code-lang{font-family:ui-monospace,SF Mono,Cascadia Mono,Consolas,monospace;text-transform:uppercase;letter-spacing:.06em}.kb-prose .kb-code-lang,.kb-prose .kb-copy{font-size:.6875rem;color:hsl(var(--muted-foreground))}.kb-prose .kb-copy{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .5rem;border:1px solid transparent;border-radius:5px;background:transparent;font-family:inherit;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.kb-prose .kb-copy:hover{background:hsl(var(--background));border-color:hsl(var(--border));color:hsl(var(--foreground))}.kb-prose .kb-copy.ok{color:hsl(var(--primary));border-color:hsl(var(--primary)/.3);background:hsl(var(--primary)/.08)}.kb-prose .kb-code pre{margin:0;padding:1rem;overflow-x:auto}.kb-prose .kb-code code{font-family:ui-monospace,SF Mono,Cascadia Mono,Consolas,monospace;font-size:.8125rem;line-height:1.7;color:hsl(var(--foreground)/.9);white-space:pre}.tok-key{color:#5f21ca}.tok-str{color:#177847}.tok-num{color:#0e6a8b}.tok-com{color:hsl(var(--muted-foreground));font-style:italic}.tok-var{color:#ac5415}.tok-flag{color:#176d8c}.dark .tok-key{color:#b38bf9}.dark .tok-str{color:#64d89e}.dark .tok-num{color:#47dbf5}.dark .tok-var{color:#f6a35a}.dark .tok-flag{color:#42d6f0}.kb-prose .kb-tablewrap{margin:0 0 1.375rem;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:var(--radius)}.kb-prose table{width:100%;border-collapse:collapse;font-size:.875rem}.kb-prose th{text-align:left;padding:.625rem .875rem;background:hsl(var(--muted)/.5);border-bottom:1px solid hsl(var(--border));font-size:.6875rem;font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));white-space:nowrap}.kb-prose td{padding:.625rem .875rem;border-bottom:1px solid hsl(var(--border)/.6);vertical-align:top}.kb-prose tbody tr:last-child td{border-bottom:0}.kb-prose td>code{white-space:nowrap}