:root{--fg:#1a1a2e;--muted:#555;--accent:#0d233f;--border:#e2e2e2;--bg:#fff;--bg-soft:#f7f8f8;--maxw:960px;--maxw-wide:1400px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--fg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6}.site-header{border-bottom:1px solid var(--border);background:var(--bg);z-index:10;align-items:center;gap:24px;padding:12px 24px;display:flex;position:sticky;top:0}.site-header .brand{color:var(--accent);font-size:1.1rem;font-weight:700;text-decoration:none}.site-header nav{flex:1;align-items:center;gap:18px;display:flex}.site-header nav>a{color:var(--fg);font-size:.95rem;text-decoration:none}.site-header nav>a:hover{color:var(--accent)}.site-header nav>a.active{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent);font-weight:600}.github-icon{opacity:.7;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain;width:24px;height:24px;transition:opacity .15s;display:inline-block}.github-icon:hover{opacity:1}main{max-width:var(--maxw);margin:0 auto;padding:24px}main.wide{max-width:var(--maxw-wide)}main.full-bleed{max-width:none;margin:0;padding:0;overflow:hidden}body.app-layout{flex-direction:column;height:100vh;display:flex;overflow:hidden}body.app-layout main.full-bleed{flex:1;min-height:0}body.app-layout .site-footer{margin-top:0}.prose{overflow-wrap:anywhere}.prose img{border:1px solid var(--border);border-radius:4px;max-width:100%;height:auto}.prose :is(h1,h2,h3,h4){scroll-margin-top:64px}.heading-anchor{color:var(--border);opacity:0;margin-left:.4em;font-weight:400;text-decoration:none;transition:opacity .15s}.heading-anchor:after{content:"#"}.prose :is(h2,h3,h4):hover .heading-anchor{opacity:1}.heading-anchor:hover{color:var(--accent)}.prose figure{border:1px solid var(--border);background:var(--bg-soft);border-radius:8px;margin:24px 0;padding:12px}.prose figure img{width:100%;height:auto;margin:0 auto;display:block}.prose .figure-row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:center;gap:12px;display:grid}.prose figcaption{text-align:center;color:var(--muted);margin-top:8px;font-size:.9rem;font-style:italic}.prose details{margin:1em 0}.usage{margin:1.5em 0}html:not([data-usage]) .usage-switch,html[data-usage=web] .usage-panel:not([data-usage=web]),html[data-usage=r] .usage-panel:not([data-usage=r]){display:none}.usage-switch{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.usage-switch button{font:inherit;background:var(--bg);color:var(--muted);cursor:pointer;border:0;padding:4px 14px;font-size:.9rem}.usage-switch button+button{border-left:1px solid var(--border)}html[data-usage=web] .usage-switch [data-usage-pick=web],html[data-usage=r] .usage-switch [data-usage-pick=r]{background:var(--accent);color:#fff}.prose summary{cursor:pointer;color:var(--muted)}.prose pre{background:var(--bg-soft);border-radius:6px;padding:14px;overflow-x:auto}.prose code{font-size:.9em}.prose table{border-collapse:collapse;width:100%}.prose th,.prose td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 10px}.site-footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;margin-top:48px;padding:20px 24px;font-size:.9rem}@media (width<=640px){.site-header{gap:16px;padding:10px 16px}.site-header nav{flex-wrap:wrap;gap:4px 14px}.github-icon{margin-left:auto}main{padding:16px}.prose :is(table,pre){display:block;overflow-x:auto}}
