@charset "UTF-8";
:root{color-scheme:dark;--bg:#101312;--panel:#171b19;--panel-2:#1b211e;--text:#edf0e7;--muted:#a3afa5;--accent:#e6a875;--line:#303a33;--mono:"Cascadia Code","SFMono-Regular",Consolas,monospace;--sans:Inter,"Segoe UI","Noto Sans",Arial,"Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,select{cursor:pointer}button{color:inherit}a,button,input,select{touch-action:manipulation}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:#825432;color:#fff}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.16;font-weight:600;letter-spacing:-.04em}p{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;left:20px;top:-100px;background:var(--accent);color:var(--bg);padding:10px 20px;z-index:100}.skip:focus{top:12px}
.site-header{height:84px;display:flex;align-items:center;gap:32px;padding:0 max(32px,calc((100vw - 1328px)/2));border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:rgba(16,19,18,.97)}.brand{font-size:24px;display:inline-flex;align-items:center;font-weight:750;letter-spacing:-1.2px;flex-shrink:0}.brand-symbol{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--accent);color:var(--bg);margin-right:12px;font:bold 28px/1 var(--mono)}.brand-dot{color:var(--accent)}.top-nav{display:flex;gap:26px;font-size:14px;white-space:nowrap}.top-nav a:hover,.text-link:hover,.site-footer a:hover{color:var(--accent)}.header-search{margin-left:auto;display:flex;align-items:center;max-width:240px;min-width:100px;height:36px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.header-search input{width:100%;min-width:0;background:none;border:0;color:var(--text);padding:6px 10px;font-size:13px}.header-search button{background:none;border:0;padding:0 12px;font-size:23px;line-height:1}.language{background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--text);padding:6px 8px;max-width:132px;font-size:13px}.menu-button{display:none}.home-main{max-width:1264px;padding:0 32px;margin:auto}.hero{display:grid;grid-template-columns:1.07fr 1fr;gap:64px;align-items:center;padding:106px 0 92px}.eyebrow{font:11px/1.6 var(--mono);letter-spacing:1.4px;color:var(--accent);margin-bottom:26px}.status-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:10px;vertical-align:2px}.hero h1{font-size:clamp(42px,5.2vw,76px);line-height:1.06;letter-spacing:-.065em;margin-bottom:28px}.hero h1 br+*{color:var(--accent)}.hero-lead{max-width:500px;font-size:17px;line-height:1.8;margin-bottom:30px}.actions{display:flex;flex-wrap:wrap;gap:24px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:13px 20px;border:1px solid var(--line);border-radius:5px;font-size:14px;font-weight:600;line-height:1.5}.primary{background:var(--accent);color:#1b201c;border-color:var(--accent)}.primary:hover{background:#f3ba89;border-color:#f3ba89}.text-link{font-size:14px;font-weight:500}.hero-tags{display:flex;flex-wrap:wrap;gap:20px;margin-top:34px;font:10px/1.5 var(--mono);color:var(--muted)}.hero-tags span:before{content:"/";color:#586b5c;margin-right:8px}
.stack-art{position:relative;border:1px solid #374039;padding:22px;background:repeating-linear-gradient(0deg,transparent,transparent 31px,#202922 32px),repeating-linear-gradient(90deg,transparent,transparent 31px,#202922 32px);border-radius:10px;box-shadow:12px 12px 0 #141916}.art-heading,.art-bottom{display:flex;justify-content:space-between;align-items:center;font:9px/1.5 var(--mono);letter-spacing:1.2px;color:#95a998}.cross{color:var(--accent);font-size:21px}.stack-layers{display:grid;gap:12px;margin:30px 0}.stack-layer{display:flex;align-items:center;gap:18px;padding:20px 16px;border:1px solid #3b4940;background:#19211c;border-radius:4px;box-shadow:0 4px 0 #111611}.stack-layer:nth-child(2){margin-left:10px;margin-right:-5px}.stack-layer:nth-child(3){margin-left:20px;margin-right:-10px}.stack-layer:nth-child(4){margin-left:30px;margin-right:-15px;border-color:#9b7654;background:#24281f}.stack-layer>span:first-child{color:#718875;font:11px var(--mono)}.stack-layer strong{display:block;font-size:15px;font-weight:500;letter-spacing:-.02em;margin-bottom:6px}.stack-layer code{display:block;font:9px/1.6 var(--mono);color:var(--muted)}.stack-arrow{margin-left:auto;color:#9ead98;font-size:17px}.art-bottom{padding-top:14px;border-top:1px solid #374039;font-size:8px}.entry-section,.compute-section{padding:64px 0 72px;border-top:1px solid var(--line)}.section-heading .eyebrow{margin-bottom:14px}.section-heading h2{font-size:34px;margin-bottom:15px}.section-heading p:not(.eyebrow){font-size:15px;max-width:700px}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}.path-card{padding:25px 25px 22px;border:1px solid var(--line);border-radius:6px;background:var(--panel);transition:border-color .18s,transform .18s}.path-card:hover{border-color:#ad865c;transform:translateY(-3px)}.card-index{font:11px var(--mono);color:var(--accent)}.path-card h3{font-size:19px;margin:27px 0 13px;letter-spacing:-.025em;display:flex;justify-content:space-between;gap:12px}.path-card h3 span{color:var(--accent)}.path-card p{font-size:14px;line-height:1.8;margin:0}.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:32px 0 26px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.library-grid a{position:relative;padding:25px 45px 26px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.library-grid a:hover{background:var(--panel)}.library-grid strong{font:20px/1.5 var(--mono);color:var(--text)}.library-grid span{font-size:12px;color:var(--muted)}.library-grid b{position:absolute;right:24px;top:28px;font-weight:400;color:#728a78}.quick-section{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;padding:64px 0 76px;border-top:1px solid var(--line);align-items:center}.quick-section h2{font-size:34px;margin-bottom:20px}.quick-section p{font-size:15px}.terminal{min-width:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#141916}.terminal-bar{display:flex;justify-content:space-between;align-items:center;padding:13px 20px;border-bottom:1px solid var(--line);font:9px var(--mono);letter-spacing:1px;color:var(--muted)}.terminal-dots{letter-spacing:4px;color:#536458}.terminal pre{position:relative;margin:0;padding:28px 22px;overflow:auto;color:#e5ba95;font:12px/2 var(--mono)}.terminal p{padding:0 22px 18px;margin:0;font-size:11px;line-height:1.7}.closing{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:44px 0 65px}.closing h2{font-size:30px;margin:0}.site-footer{max-width:1264px;margin:auto;display:flex;align-items:center;gap:28px;padding:28px 32px 40px;border-top:1px solid var(--line);font-size:12px}.site-footer p{margin:0}.site-footer nav{display:flex;gap:24px;margin-left:auto;color:var(--muted)}
.doc .site-header{padding-left:28px;padding-right:28px}.sidebar{position:fixed;top:84px;bottom:0;left:0;width:266px;padding:28px 20px 50px 24px;border-right:1px solid var(--line);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#344139 transparent;background:var(--bg)}.nav-group{margin-bottom:24px}.nav-group h2{font:11px/1.5 var(--mono);letter-spacing:.6px;text-transform:uppercase;color:var(--accent);margin:0 10px 10px}.nav-group a{display:block;padding:7px 10px;font-size:12px;line-height:1.6;color:var(--muted);border-radius:4px;overflow-wrap:anywhere}.nav-group a:hover{color:var(--text);background:var(--panel)}.nav-group a[aria-current]{color:var(--accent);background:#29251f;border-left:2px solid var(--accent);padding-left:8px}.subtle{font:9px var(--mono);margin-left:5px;color:#7e8b82}.doc-main{margin-left:266px;margin-right:220px;padding:37px 46px 90px;max-width:1020px;min-height:80vh}.article-top{display:flex;align-items:center;justify-content:space-between;gap:16px;font:10px/1.6 var(--mono);color:var(--muted);margin-bottom:36px}.article-top a:hover{color:var(--accent)}.prose{font-size:15px;line-height:1.85;overflow-wrap:anywhere;min-width:0}.prose h1{font-size:36px;line-height:1.25;margin:0 0 25px;letter-spacing:-.045em}.prose h2{font-size:25px;line-height:1.35;margin:46px 0 18px;padding-top:12px;border-top:1px solid var(--line)}.prose h3{font-size:19px;line-height:1.5;margin:30px 0 15px}.prose h4{font-size:16px;margin:22px 0 12px}.prose p{margin-bottom:19px;color:#bac3bc}.prose strong{color:var(--text);font-weight:600}.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:#76583e;text-underline-offset:3px}.prose a:hover{text-decoration-color:var(--accent)}.prose ul,.prose ol{padding-left:25px;color:#bac3bc}.prose li{padding-left:3px;margin:7px 0}.prose code{font-family:var(--mono);font-size:.85em;padding:2px 5px;border-radius:3px;background:#222a24;color:#e0b994}.prose pre{margin:22px 0;padding:24px 22px;overflow:auto;border:1px solid var(--line);border-radius:6px;font:12px/1.85 var(--mono);tab-size:4;background:#141916}.prose pre code{background:none;padding:0;color:inherit;font:inherit}.codehilite{position:relative;background:transparent!important}.codehilite pre{background:#141916!important}.prose table{display:block;overflow:auto;border-collapse:collapse;font-size:13px;margin:24px 0;max-width:100%;scrollbar-width:thin}.prose th,.prose td{border:1px solid var(--line);padding:12px 14px;text-align:left;min-width:85px}.prose th{background:var(--panel-2);color:var(--text);font-weight:500}.prose td{color:#bac3bc}.prose blockquote{margin:24px 0;border-left:2px solid var(--accent);padding:5px 20px;background:var(--panel)}.prose img{max-width:100%}.copy-button{position:absolute;right:7px;top:7px;border:1px solid var(--line);border-radius:4px;padding:3px 8px;font-size:10px;background:var(--panel);color:var(--muted);opacity:0;transition:opacity .15s}.codehilite:hover .copy-button,.terminal:hover .copy-button,.copy-button:focus-visible{opacity:1}.terminal{position:relative}.terminal>.copy-button{top:53px}.page-toc{position:fixed;right:0;top:84px;bottom:0;width:220px;padding:35px 24px 25px 12px;overflow:auto;scrollbar-width:thin;scrollbar-color:#344139 transparent}.page-toc>p{font:10px var(--mono);letter-spacing:1px;text-transform:uppercase;margin-bottom:22px;color:var(--accent)}.page-toc ul{list-style:none;padding:0;margin:0}.page-toc li{font-size:11px;line-height:1.65;margin:10px 0;color:var(--muted)}.page-toc li ul{padding-left:12px;border-left:1px solid var(--line)}.page-toc a:hover{color:var(--accent)}.page-toc>.toc>ul>li>a{display:none}.page-toc>.toc>ul>li>ul{padding-left:0;border:0}.doc .site-footer{margin-left:266px;margin-right:220px;padding-left:46px;flex-wrap:wrap}.doc .site-footer nav{margin-left:0}.search-main{max-width:900px;margin:0 auto;min-height:70vh;padding:70px 32px}.search-main h1{font-size:42px;line-height:1.25}.search-main>p{font-size:14px}.search-main form{display:flex;gap:12px;margin:32px 0 18px}.search-main input{flex:1;min-width:0;background:var(--panel);color:var(--text);border:1px solid var(--line);padding:14px 18px;border-radius:5px;font-size:16px}#search-status{font:12px var(--mono);color:var(--muted);min-height:20px}.search-result{display:block;padding:24px 0;border-bottom:1px solid var(--line)}.search-result h2{font-size:19px;line-height:1.5;margin:6px 0 9px;letter-spacing:-.015em}.search-result:hover h2{color:var(--accent)}.search-result .result-page{font:10px/1.6 var(--mono);color:var(--accent)}.search-result p{margin:0;font-size:13px;line-height:1.8}.search-result mark{background:#55432c;color:#f4d4aa}
@media(min-width:1700px){.doc-main{margin-left:calc((100vw - 1600px)/2 + 266px)}.sidebar{padding-left:max(24px,calc((100vw - 1600px)/2));width:calc((100vw - 1600px)/2 + 266px)}.page-toc{right:calc((100vw - 1600px)/2)}.doc .site-footer{margin-left:calc((100vw - 1600px)/2 + 266px)}}
@media(max-width:1180px){.site-header{gap:22px;padding:0 24px}.hero{gap:38px;padding-top:78px}.stack-art{padding:18px}.stack-layer{padding:18px 10px;gap:12px}.stack-layer code{font-size:8px}.page-toc{display:none}.doc-main{margin-right:0;padding:32px}.doc .site-footer{margin-right:0}.doc .header-search{max-width:200px}.hero-lead{font-size:16px}.library-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.site-header{height:72px;gap:18px;padding:0 20px;flex-wrap:nowrap}.brand{font-size:22px}.brand-symbol{width:25px;height:25px;font-size:23px;margin-right:8px}.top-nav{gap:14px;font-size:12px}.header-search{max-width:180px}.hero{grid-template-columns:1fr;padding:58px 0;gap:45px}.hero h1{font-size:68px}.hero-copy{max-width:610px}.hero-lead{max-width:570px}.stack-art{max-width:570px;width:100%;padding:24px}.stack-layer{padding:18px}.stack-layer code{font-size:10px}.stack-layers{margin:22px 0}.path-grid{grid-template-columns:1fr}.path-card{padding:22px}.path-card h3{margin:15px 0 10px}.quick-section{grid-template-columns:1fr;gap:24px}.closing h2{font-size:24px}.sidebar{top:72px;display:none;width:min(310px,85vw);z-index:15;box-shadow:30px 0 60px #0008}.sidebar.is-open{display:block}.doc-main{margin:0;padding:30px 28px 60px}.doc .site-footer{margin:0;padding:28px}.menu-button{display:inline-flex;gap:7px;align-items:center;border:1px solid var(--line);background:var(--panel);padding:6px 10px;border-radius:4px;font-size:11px}.doc .top-nav{display:none}.doc .header-search{margin-left:auto}.prose h1{font-size:32px}.entry-section,.compute-section,.quick-section{padding-top:45px;padding-bottom:45px}}
@media(max-width:560px){.site-header{gap:12px;padding:0 16px}.top-nav{gap:12px}.top-nav a:nth-child(2){display:none}.header-search{margin-left:auto;width:36px;min-width:36px;border:0;background:none}.header-search input{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px}.header-search:focus-within input{position:fixed;clip:auto;top:73px;left:0;width:100%;height:48px;background:var(--panel);border-bottom:1px solid var(--accent);padding:12px 20px}.header-search button{font-size:26px;padding:0 8px}.language{max-width:104px;font-size:11px;padding:6px}.doc .site-header{padding:0 14px;gap:10px}.doc .brand-symbol{display:none}.menu-button{font-size:0;gap:0;padding:5px 9px}.menu-button span{font-size:16px}.home-main{padding:0 22px}.hero{padding:45px 0 46px}.hero h1{font-size:52px;letter-spacing:-.06em}.eyebrow{font-size:9px;letter-spacing:.9px;margin-bottom:22px}.hero-lead{font-size:15px;line-height:1.8}.hero-tags{font-size:9px;gap:14px}.actions{gap:18px}.button{padding:12px 17px;gap:18px}.text-link{font-size:13px}.stack-art{padding:16px 20px 16px 14px}.stack-layer{padding:15px 10px;gap:10px}.stack-layer strong{font-size:13px}.stack-layer code{font-size:7.5px}.stack-arrow{font-size:13px}.stack-layer:nth-child(2){margin-left:5px;margin-right:-3px}.stack-layer:nth-child(3){margin-left:10px;margin-right:-6px}.stack-layer:nth-child(4){margin-left:15px;margin-right:-9px}.art-heading{font-size:8px}.art-bottom{font-size:6.8px}.section-heading h2,.quick-section h2{font-size:28px}.library-grid{grid-template-columns:1fr}.library-grid a{padding:20px 40px 20px 20px}.closing{display:block;padding:20px 0 45px}.closing h2{font-size:26px;margin-bottom:24px}.site-footer{padding:25px 22px;gap:14px;flex-wrap:wrap}.site-footer p{font-size:11px}.site-footer nav{margin-left:0;flex-basis:100%;gap:20px}.doc-main{padding:25px 20px 55px}.article-top{font-size:9px;margin-bottom:26px}.prose{font-size:14px}.prose h1{font-size:28px}.prose h2{font-size:23px}.prose pre{font-size:11px;padding:22px 15px}.copy-button{opacity:1}.search-main{padding:45px 20px}.search-main h1{font-size:34px}.search-main form{flex-direction:column}.search-main form button{align-self:flex-start}.search-main input{width:100%}.terminal pre{font-size:10px;padding-left:14px}.terminal p{padding-left:14px;padding-right:14px}}
.hero-install{margin:24px 0;max-width:100%}.hero-install pre{padding:18px 76px 18px 14px}.hero-install>.copy-button{top:50%;transform:translateY(-50%);opacity:1}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
