.topbar{position:sticky;top:0;display:flex;align-items:center;height:var(--topbar-h);padding:0 var(--s-7);border-bottom:var(--border);background:var(--bg);z-index:10}.layout{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,var(--doc-w)) var(--toc-w);gap:var(--s-9);max-width:var(--page-w);margin:0 auto;padding:0 var(--s-7)}.sidebar{position:sticky;top:var(--topbar-h);align-self:start;height:calc(100vh - var(--topbar-h));overflow-y:auto;padding:var(--s-7) 0;border-right:var(--border);font-size:var(--text-lg)}.sidebar-group,.toc-title{font-size:var(--text-lg);font-style:italic;text-transform:lowercase;color:var(--text-faint);margin-bottom:var(--s-3)}.sidebar ul,.toc ul{list-style:none}.sidebar-section+.sidebar-section{margin-top:var(--s-6)}.sidebar a{display:block;padding:var(--s-1) 0;color:var(--text-dim)}.sidebar a:hover{color:var(--text)}.sidebar a.active{color:var(--accent-bright);font-weight:var(--weight-medium)}.toc{position:sticky;top:var(--topbar-h);align-self:start;max-height:calc(100vh - var(--topbar-h));overflow-y:auto;padding:var(--s-7) 0;font-size:var(--text-base)}.toc a{display:block;padding:var(--s-0) 0;color:var(--text-mute)}.toc a:hover{color:var(--text)}.toc .depth-3{padding-left:var(--s-4)}.doc{padding:var(--s-9) 0 var(--s-12);min-width:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-loose)}.doc>h1{font-size:var(--text-3xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight);margin:0 0 var(--s-3);letter-spacing:var(--tracking-tight)}.subtitle{font-size:var(--text-base);color:var(--text-dim);margin:0 0 var(--s-8)}.prose p{margin:var(--s-3) 0}.prose :is(ul,ol){margin:var(--s-5) 0;padding-left:var(--s-8)}.prose li :is(ul,ol){margin:0}.prose h1,.prose h2{font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);padding-top:var(--s-7)}.prose h3{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);margin:var(--s-5) 0 var(--s-5)}.prose hr+:is(h1,h2){border-top:none;padding-top:0}.prose a{color:var(--accent-bright);text-decoration:underline;text-decoration-color:var(--accent-veil);text-decoration-thickness:var(--underline-w);text-underline-offset:var(--underline-offset)}.prose a:hover{color:var(--accent-hover);text-decoration-color:currentcolor}.prose h1 a,.prose h2 a,.prose h3 a{color:inherit;text-decoration:none}.prose code{font-family:var(--font-mono);font-weight:var(--weight-medium);font-size:var(--code-inline);background:var(--bg-inset);border:var(--border);border-radius:var(--r-sm);padding:var(--code-pad)}.prose pre{overflow-x:auto;padding:var(--s-5) var(--s-6);line-height:var(--leading-code);font-family:var(--font-mono);font-weight:var(--weight-medium);font-size:var(--text-base)}.prose pre code{background:none;border:none;padding:0;font-size:inherit}.prose blockquote{margin:var(--s-5) 0;padding:var(--s-1) var(--s-5);border-left:var(--rule-w) solid var(--line-strong);color:var(--text-dim)}.prose table{border-collapse:collapse;width:100%;margin:var(--s-5) 0;font-size:var(--text-md)}.prose th,.prose td{border:var(--border-strong);padding:var(--s-3) var(--s-4);text-align:left}.prose th{background:var(--bg-card);font-weight:var(--weight-semibold)}.prose img{max-width:100%}.prose hr{border:none;border-top:var(--border);margin:var(--s-8) 0}.code-block{position:relative;margin:var(--s-5) 0;background:var(--bg-card);border:var(--border-strong);border-radius:var(--r-lg);overflow:hidden}.code-block pre{margin:0;background:none!important}.code-head{display:flex;align-items:center;justify-content:space-between;padding:var(--s-1) var(--s-3) var(--s-1) var(--s-5);border-bottom:var(--border)}.code-title{font-size:var(--text-xs);color:var(--text-faint)}.code-copy{display:flex;align-items:center;justify-content:center;width:var(--control-sm);height:var(--control-sm);border:none;border-radius:var(--r-md);background:none;color:var(--text-faint);cursor:pointer}.code-copy:hover{color:var(--text);background:var(--line)}.code-copy .icon-check,.code-copy.copied .icon-copy{display:none}.code-copy.copied .icon-check{display:block;color:var(--accent)}.code-copy.floating{position:absolute;top:var(--s-3);right:var(--s-3);background:var(--bg-card);border:var(--border-strong);opacity:0;transition:opacity var(--transition-fast)}.code-block:hover .code-copy.floating,.code-copy.floating.copied{opacity:1}.callout{margin:var(--s-6) 0;padding:var(--s-4) var(--s-5);border:var(--border-strong);border-left:var(--rule-w) solid var(--accent);border-radius:var(--r-lg);background:var(--bg-raised);color:var(--text-dim)}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout .code-block{background:var(--bg);border-color:var(--line)}.param{margin:var(--s-5) 0;padding:var(--s-4) 0;border-top:var(--border)}.param-head{display:flex;align-items:baseline;gap:var(--s-4);margin-bottom:var(--s-1)}.param-name{font-family:var(--font-mono);font-weight:var(--weight-semibold);font-size:var(--text-lg);color:var(--accent-bright);background:none;border:none;padding:0}.param-type{font-size:var(--text-xs);color:var(--text-faint)}.param-body{color:var(--text-dim)}.param-body p{margin:0}@media(max-width:72rem){.layout{grid-template-columns:var(--sidebar-w) minmax(0,1fr)}.toc{display:none}}@media(max-width:48rem){.layout{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}}
