:root{color-scheme:light dark;--bg:light-dark(#fafafa,#0a0a0a);--bg-raised:light-dark(#fff,#111);--fg:light-dark(#1a1a1a,#d4d4d4);--fg-muted:light-dark(#6b6b6b,#737373);--brand-orange:#e88602;--brand-orange-dim:light-dark(#d97800,#f49a1f);--brand-orange-soft:light-dark(#f9e5c6,#4d3100);--accent:var(--brand-orange);--accent-dim:var(--brand-orange-dim);--code-bg:light-dark(#f4f4f5,#161616);--code-border:light-dark(#d4d4d8,#2a2a2a);--border:light-dark(#e0e0e0,#262626);--toc-bg:light-dark(#f8f8f8,#0f0f0f);--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"SF Mono", Consolas, "Liberation Mono", Menlo, monospace;--content-max:740px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-sans);font-feature-settings:"liga" 1, "calt" 1, "cv11" 1;background:var(--bg);color:var(--fg);line-height:1.7;min-height:100vh;display:flex;flex-direction:column}@supports (font-variation-settings:normal){body{font-family:"InterVariable", var(--font-sans)}}.site-nav{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:100}.site-nav-brand{display:flex;align-items:center;gap:.6rem;font-size:1.25rem;font-weight:700;color:var(--fg);text-decoration:none}.brand-mark{width:1.35rem;height:1.35rem;display:block;background:0 0}.site-nav-spacer{flex:1}.site-nav a{color:var(--fg-muted);text-decoration:none;font-weight:500;font-size:.9rem;padding:.35rem .6rem;border-radius:5px;transition:color .15s,background .15s}.site-nav a:hover{color:var(--fg);background:light-dark(#0000000d,#ffffff0f)}.site-nav-github{color:var(--fg-muted);transition:color .2s}.site-nav-github:hover{color:var(--fg)}.hero{padding:2.5rem 2rem 2rem;text-align:center;border-bottom:1px solid var(--border);background:radial-gradient(1200px 280px at 50% -40%, color-mix(in srgb, var(--brand-orange) 22%, transparent), transparent), linear-gradient(180deg, var(--bg) 0%, var(--bg-raised) 100%)}.hero-content{max-width:600px;margin:0 auto}.hero-mark{width:3.5rem;height:3.5rem;display:block;margin-bottom:.5rem;margin-left:auto;margin-right:auto;background:0 0;filter:drop-shadow(0 12px 26px color-mix(in srgb, var(--brand-orange) 28%, transparent))}.hero-title{font-size:2.75rem;font-weight:700;color:var(--fg);margin-bottom:.25rem;letter-spacing:-.02em}.hero-tagline{font-size:1.2rem;color:var(--accent);margin-bottom:.25rem;font-weight:500}.hero-sub{font-size:.9rem;color:var(--fg-muted);margin-bottom:.5rem}.hero-status{display:inline-block;font-size:.75rem;font-weight:600;color:var(--fg-muted);background:light-dark(#0000000f,#ffffff14);border:1px solid var(--border);padding:.2rem .75rem;border-radius:99px;margin-bottom:1.25rem;letter-spacing:.02em;text-transform:uppercase}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{display:inline-block;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;text-decoration:none;transition:all .2s}.btn-primary{background:var(--accent);color:light-dark(#fff,#000);box-shadow:0 8px 20px color-mix(in srgb, var(--accent) 25%, transparent)}.btn-primary:visited{color:light-dark(#fff,#000)}.btn-primary:hover{background:var(--accent-dim)}.btn-secondary{background:0 0;color:var(--fg);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--fg-muted)}.content{flex:1;max-width:var(--content-max);margin:0 auto;padding:2rem 1.5rem;width:100%}.docs-layout{display:flex;max-width:1100px;margin:0 auto;padding:2.5rem 1.5rem;gap:3.5rem}.docs-content{flex:1;min-width:0;max-width:var(--content-max)}.toc{width:240px;flex-shrink:0}.toc-inner{position:sticky;top:80px;background:var(--toc-bg);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem}.toc h2{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);margin-bottom:.75rem;border:none;padding:0}.toc ul{list-style:none;padding:0;margin:0}.toc ul ul{margin-left:0;margin-top:.15rem;padding-left:.85rem;border-left:2px solid var(--border)}.toc li{margin-bottom:.15rem}.toc a{display:block;color:var(--fg-muted);text-decoration:none;font-size:.8rem;line-height:1.4;padding:.2rem .4rem;border-radius:4px;transition:color .15s,background .15s}.toc a:hover{color:var(--fg);background:light-dark(#0000000a,#ffffff0a)}.toc a.active{color:var(--accent);font-weight:600;background:var(--brand-orange-soft)}article h1,article h2,article h3,article h4{scroll-margin-top:80px;line-height:1.3}article h1{font-size:2.1rem;margin-bottom:1.75rem;font-weight:750;color:var(--fg);letter-spacing:-.025em}article h2{font-size:1.4rem;margin-top:3rem;margin-bottom:1rem;font-weight:700;color:var(--fg);padding-left:.75rem;border-left:3px solid var(--accent);letter-spacing:-.01em}article h3{font-size:1.1rem;margin-top:2rem;margin-bottom:.75rem;font-weight:650;color:var(--fg)}article h4{font-size:.95rem;margin-top:1.5rem;margin-bottom:.5rem;font-weight:650;text-transform:uppercase;letter-spacing:.03em;color:var(--fg-muted)}article p{margin-bottom:1.15rem}article ul,article ol{margin-bottom:1.15rem;padding-left:1.5rem}article li{margin-bottom:.4rem}article li::marker{color:var(--fg-muted)}article a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-underline-offset:2px;text-decoration-thickness:1px;transition:text-decoration-color .15s}article a:hover{text-decoration-color:var(--accent)}article code{font-family:var(--font-mono);font-size:.85em;background:var(--code-bg);padding:.15em .4em;border-radius:4px;border:1px solid var(--code-border)}article pre,.code-block{background:var(--code-bg);padding:1rem;border-radius:6px;overflow-x:auto;margin-bottom:1rem;border:1px solid var(--code-border)}article pre.mermaid{border-radius:0;border:none;background:0 0;margin:2em 0;max-width:90%}.code-block{padding:0}.code-block .code-header{font-family:var(--font-mono);font-size:.75rem;color:var(--fg-muted);padding:.5rem 1rem;border-bottom:1px solid var(--border);background:light-dark(#00000008,#ffffff08);border-radius:6px 6px 0 0}.code-block pre{background:0 0;padding:1rem;margin:0;border:none;border-radius:0}.code-block{position:relative}.code-block .copy-btn{position:absolute;top:.5rem;right:.5rem;padding:.25rem .5rem;font-family:var(--font-mono);font-size:.7rem;background:light-dark(#0000000d,#ffffff1a);border:1px solid var(--border);border-radius:4px;color:var(--fg-muted);cursor:pointer;opacity:0;transition:opacity .15s,background .15s}.code-block:hover .copy-btn{opacity:1}.code-block .copy-btn:hover{background:light-dark(#0000001a,#ffffff26);color:var(--fg)}article pre code{background:0 0;padding:0;border:none;font-size:.85rem;line-height:1.5}article strong{font-weight:650;color:var(--fg)}article em{font-style:italic}article blockquote{border-left:3px solid var(--accent);margin:1.5rem 0;padding:.75rem 1.15rem;background:color-mix(in srgb, var(--brand-orange-soft) 30%, var(--bg-raised));border-radius:0 6px 6px 0;font-size:.95rem;color:var(--fg-muted)}article blockquote p:first-child{margin-top:0}article blockquote p:last-child{margin-bottom:0}article table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem;border:1px solid var(--border);border-radius:6px;overflow:hidden}article th,article td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}article th{font-weight:600;color:var(--fg);background:light-dark(#00000008,#ffffff08)}article tr:last-child td{border-bottom:none}article tr:hover td{background:light-dark(#00000005,#ffffff05)}footer{border-top:1px solid var(--border);padding:1.5rem;text-align:center;color:var(--fg-muted);font-size:.8rem}footer a{color:var(--accent-dim);text-decoration:none;transition:color .15s}footer a:hover{color:var(--accent)}article p img{max-width:100%;height:auto}@media (width<=1024px){.toc{display:none}.docs-layout{max-width:var(--content-max)}}@media (width<=768px){.content{padding:1.5rem 1rem}.docs-layout{padding:1.5rem 1rem}.hero{padding:3rem 1.5rem}.hero-title{font-size:2.5rem}.hero-tagline{font-size:1.25rem}.site-nav{padding:.75rem 1rem}article h1{font-size:1.75rem}}@view-transition{navigation:auto}::view-transition-old(root){animation:.15s ease-out fade-out}::view-transition-new(root){animation:.15s ease-in fade-in}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}