
:root{--bg:#050806;--panel:#0a100c;--line:#20382a;--ink:#b6cfbf;--muted:#8ba996;--green:#3df07a;--white:#e0f0e5;--mono:'JetBrains Mono',monospace;--serif:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--bg);color:var(--ink);font:13px/1.8 var(--mono)}a{color:inherit;text-decoration:none}a:hover{color:var(--green)}button{font:inherit;cursor:pointer}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:5px}.preview{background:#122319;border-bottom:1px solid #294631;color:#b4d7bf;padding:7px 32px;font-size:10px;display:flex;justify-content:space-between;gap:16px}.preview strong{color:var(--green);font-weight:400}.top{height:74px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 32px;background:#070c09;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:12px;font-size:12px}.brand img{width:34px;height:34px;border:1px solid var(--line)}.brand b{font-weight:500;color:var(--white)}.slash{color:#44634e;margin:0 2px}.topnav{display:flex;gap:26px;align-items:center;font-size:11px}.pill{border:1px solid #31573f;padding:4px 9px;color:#b6e6c6;font-size:10px;white-space:nowrap}.dot{display:inline-block;width:5px;height:5px;background:var(--green);border-radius:50%;margin-right:7px;box-shadow:0 0 10px #3df07a55}.layout{max-width:1510px;margin:auto;display:grid;grid-template-columns:210px minmax(0,1fr)}aside{border-right:1px solid var(--line);padding:39px 23px 20px 32px;position:sticky;top:74px;height:calc(100vh - 74px);display:flex;flex-direction:column}.side-label{font-size:9px;color:#789682;letter-spacing:.12em;margin:0 0 13px}.side-links{display:grid;gap:3px;margin-bottom:32px}.side-links a{padding:7px 10px;font-size:11px;border-left:1px solid transparent}.side-links a.active{background:#102319;border-left-color:var(--green);color:var(--green)}.side-links a:hover{background:#0c1810}.side-links[aria-label="Related repositories"] a{font-size:10px;white-space:nowrap}.side-bottom{margin-top:auto;font-size:10px;color:#789682;padding-bottom:20px}.side-bottom a{display:block;color:#b5d4bf}.side-bottom span{display:block;font-size:9px;margin-top:8px}.main{min-width:0;padding:40px 48px 0;overflow:hidden;position:relative}.crumb{color:#789682;font-size:10px;display:flex;gap:12px;margin-bottom:36px}.crumb b{font-weight:400;color:var(--ink)}.hero{display:grid;grid-template-columns:1.18fr 1fr;gap:38px;position:relative;padding-bottom:42px}.hero::before{content:'';position:absolute;inset:-70px -100px -50px -50px;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 76% 45%,#12582c26,transparent 60%),repeating-linear-gradient(90deg,transparent 0 51px,#13331d22 52px 53px);mask-image:linear-gradient(black,transparent)}.eyebrow{font-size:9px;color:var(--green);letter-spacing:.13em;margin:0 0 16px}.hero h1{font:500 clamp(48px,5.3vw,77px)/.98 var(--serif);letter-spacing:-.045em;color:var(--white);margin:0 0 22px}.hero h1 em{font-weight:500;color:var(--green)}.lede{max-width:440px;font-size:12px;line-height:1.95;margin:0 0 27px;color:#acc6b5}.install{background:#08100b;border:1px solid #2d5039;padding:14px 15px;display:flex;align-items:center;gap:10px;max-width:440px;color:var(--white);font-size:12px;box-shadow:0 10px 35px #0004}.install .dollar{color:var(--green)}.install code{font:inherit;overflow-wrap:anywhere;min-width:0}.copy{margin-left:auto;border:0;background:transparent;color:var(--muted);padding:0 2px;font-size:15px;min-width:23px}.hero-actions{display:flex;gap:22px;align-items:center;margin-top:19px;font-size:11px}.primary{color:var(--green)}.routing{align-self:center;background:linear-gradient(130deg,#0e1b13,#08100b);border:1px solid #2d4936;position:relative;padding:22px 23px 19px}.routing:after{content:'';position:absolute;height:2px;width:43%;bottom:-1px;right:0;background:linear-gradient(90deg,#268e49 50%,#3df07a 50% 84%,#d6ffe4 84%);box-shadow:0 0 18px #3df07a55}.routing-head{display:flex;justify-content:space-between;gap:10px;color:#789982;letter-spacing:.12em;font-size:9px;margin-bottom:18px}.routing-head span:last-child{color:var(--green);font-size:8px}.task-tabs{display:flex;gap:6px;flex-wrap:wrap}.task-tabs button{background:#08100b;border:1px solid #294733;color:var(--muted);font-size:9px;padding:5px 9px}.task-tabs button[aria-pressed=true]{color:var(--green);border-color:#5aa574;background:#142d1d}.task{color:#dae9de;font-size:12px;min-height:44px;margin-top:19px}.stem{width:1px;height:24px;background:linear-gradient(#4d6d57,var(--green));margin:0 auto;position:relative}.stem:after{content:'';position:absolute;width:5px;height:5px;background:#b5ffcc;bottom:0;left:-2px;box-shadow:0 0 12px var(--green)}.route-core{border:1px solid #42714f;text-align:center;background:#14301e;padding:10px 8px;color:#a9f3c0;font-size:10px}.split{height:28px;width:70%;margin:auto;border:1px solid #365841;border-bottom:0;position:relative;margin-top:19px}.split:before{content:'';position:absolute;width:1px;height:20px;left:50%;top:-20px;background:#365841}.split:after{content:'';position:absolute;width:1px;height:28px;left:50%;top:0;background:#365841}.route-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.route-options div{border:1px solid #294632;text-align:center;padding:9px 4px;color:#6f8e79;font-size:8px;line-height:1.5}.route-options b{display:block;font-size:10px;font-weight:400;color:#a6c0af;margin-bottom:4px}.route-options .selected{border-color:#4de57c;background:#143321}.route-options .selected b{color:#b8ffcf}.route-foot{font-size:8px;color:#7f9d89;margin:17px 0 0;line-height:1.8}.trust{display:flex;gap:23px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;font-size:9px;color:var(--muted)}.trust span:before{content:'+';color:var(--green);margin-right:8px}section.content{padding:39px 0;border-bottom:1px solid var(--line)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:21px}.section-title h2{font:500 28px/1.2 var(--serif);color:var(--white);letter-spacing:-.02em;margin:0}.section-title span{font-size:9px;color:#698875}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.feature-num{color:var(--green);font-size:10px;margin-bottom:7px}.three h3{font-size:12px;color:var(--white);font-weight:500;margin:0 0 9px}.three p{font-size:10px;line-height:1.9;color:var(--muted);margin:0}.three a{display:inline-block;margin-top:12px;font-size:9px;color:#abd3b8}.docs-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:36px}.step{display:grid;grid-template-columns:22px 1fr;gap:12px;margin:20px 0;font-size:11px}.step b{font-weight:400;color:var(--green)}.step p{margin:0;color:var(--muted);font-size:10px}.code{background:#0a110d;border:1px solid var(--line);padding:17px;overflow-wrap:anywhere;font-size:10px;line-height:2}.code b{color:var(--green);font-weight:400}.note{font-size:10px;color:var(--muted)}.note a{color:var(--green)}.docs-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}.doc-link{border:1px solid var(--line);padding:18px;background:#0a100c;font-size:12px}.doc-link span{display:block;font-size:9px;color:var(--muted);margin-top:6px}.doc-link:hover{border-color:#427a51}.release{display:grid;grid-template-columns:120px 1fr auto;gap:22px;align-items:start}.release strong{color:var(--green);font-weight:400;font-size:17px}.release small{display:block;font-size:9px;color:var(--muted)}.release p{margin:0;font-size:11px}.release a{color:var(--green);font-size:10px}.bottom{display:flex;justify-content:space-between;gap:20px;padding:22px 0 35px;font-size:9px;color:#799983}.bottom a{color:#b9d7c2}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1450px){.main{padding-left:65px;padding-right:65px}.hero{gap:70px}}@media(max-width:1100px){.layout{grid-template-columns:180px 1fr}aside{padding:32px 16px}.main{padding:32px 26px 0}.hero{gap:24px;grid-template-columns:1.1fr 1fr}.hero h1{font-size:56px}.routing{padding:17px}.task-tabs button{font-size:8px}.brand b{font-size:11px}.topnav{gap:15px}}@media(max-width:820px){aside{display:none}.layout{display:block}.hero{gap:26px}.top{padding:0 22px}.preview{padding:7px 22px}.brand .slash,.brand b{display:none}.hero h1{font-size:59px}}@media(max-width:600px){.preview{display:block;font-size:8px}.preview span{display:block}.top{height:64px}.topnav{font-size:9px;gap:13px}.topnav .pill{display:none}.hero{grid-template-columns:1fr}.hero h1{font-size:64px}.main{padding:27px 22px 0}.crumb{margin-bottom:27px}.hero-actions{margin-bottom:9px}.routing{padding:23px}.three,.docs-grid,.docs-links{grid-template-columns:1fr}.three{gap:27px}.three p{font-size:11px}.trust{gap:8px 20px}.release{grid-template-columns:1fr;gap:12px}.bottom{flex-direction:column}.section-title span{display:none}.hero{padding-bottom:31px}.install{font-size:11px}.copy{padding:4px}.task-tabs button{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.side-bottom .issue-button{display:inline-flex;align-items:center;margin-top:10px;padding:6px 11px;border:1px solid #3d7750;background:#102319;color:var(--green);font-size:10px;line-height:1.6}.side-bottom .issue-button:hover{border-color:var(--green);background:#183b25;box-shadow:0 0 14px #3df07a18}
.trailer video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#050806;border:1px solid var(--line)}.trailer video:focus-visible{outline:2px solid var(--green);outline-offset:4px}.trailer .note{margin-bottom:0}

[hidden]{display:none!important}.skip{position:fixed;top:4px;left:8px;z-index:20;padding:8px 15px;background:var(--panel);transform:translateY(-160%)}.skip:focus{transform:translateY(0)}.mobile-nav{display:none}.source-note{font-size:10px;color:var(--muted);margin-bottom:30px}.source-note a,.markdown a{color:var(--green);text-decoration:underline;text-underline-offset:3px}.document{max-width:1100px}.markdown{font-size:13px;line-height:1.85;overflow-wrap:anywhere}.markdown h1{font:500 50px/1.15 var(--serif);color:var(--white);margin:0 0 28px}.markdown h2{font:500 32px/1.2 var(--serif);color:var(--white);margin:42px 0 18px}.markdown h3{font-size:16px;margin-top:32px;color:var(--white)}.markdown pre{background:#08100b;border:1px solid var(--line);padding:18px;overflow:auto;font-size:11px}.markdown code{font-family:var(--mono);font-size:.92em}.markdown table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;font-size:11px}.markdown th,.markdown td{padding:10px 12px;border:1px solid var(--line);vertical-align:top}.markdown th{text-align:left;background:#112017}.markdown img{max-width:100%;height:auto}.markdown blockquote{margin:20px 0;padding:1px 20px;border-left:2px solid var(--green);color:var(--muted)}.markdown details{border:1px solid var(--line);padding:14px;margin:18px 0}.markdown summary{cursor:pointer;color:var(--white)}.document aside{overflow:auto}.release{grid-template-columns:110px minmax(0,1fr)}.release-copy{font-size:11px}.release-copy h3{font-size:11px;color:var(--white);margin:0 0 10px}.release-copy ul{padding-left:18px;margin:0 0 18px}.release-copy li{margin:6px 0}.release-copy a{font-size:inherit}.side-links{overflow:auto}.side-bottom{flex-shrink:0}.bottom{flex-wrap:wrap}.mobile-nav summary{cursor:pointer;color:var(--green)}
@media(max-width:820px){.mobile-nav{display:block;border:1px solid var(--line);padding:10px 14px;margin:0 0 24px}.mobile-nav nav{display:grid;gap:10px;padding-top:16px}.mobile-nav a{font-size:11px}.markdown h1{font-size:39px}}
@media(max-width:600px){.release{grid-template-columns:1fr}.markdown{font-size:12px}.brand{gap:8px}.top{padding:0 16px}.main{padding-left:18px;padding-right:18px}}
.proof-figures{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:21px}.proof-figure{border:1px solid var(--line);background:#0a100c;padding:18px}.proof-figure strong{display:block;font:500 34px/1 var(--serif);color:var(--green);margin-bottom:9px}.proof-figure span{display:block;font-size:10px;color:var(--ink);line-height:1.7}.proof-figure small{display:block;font-size:9px;color:var(--muted);margin-top:8px}@media(max-width:600px){.proof-figures{grid-template-columns:1fr}}

.mobile-nav a.active{color:var(--green);text-decoration:underline;text-underline-offset:4px}
