@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=JetBrains+Mono:wght@400;500&display=swap');
:root{--bg:#fff;--ink:#202323;--muted:#707573;--line:#e9ece8;--accent:#ba582f;--soft:#fbf2eb;--font:'DM Sans',system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.7 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}.skip{position:fixed;top:-100px;z-index:100;background:#fff;padding:10px}.skip:focus{top:0}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;background:#fffffff2;backdrop-filter:blur(12px);z-index:20}.brand{font-size:21px;font-weight:700;letter-spacing:-.7px;display:flex;align-items:center;gap:10px}.mark{color:var(--accent);font-family:var(--mono);font-size:25px;margin-right:4px;letter-spacing:-4px}.divider{font-weight:400;color:#ccd0ca;margin:0 9px}.docs-label{font-weight:450;color:#787d79;font-size:18px}.top-right{display:flex;align-items:center;gap:27px;font-size:13px;color:#535a55}.preview-tag{font:10px var(--mono);letter-spacing:1px;color:#8e684b;background:#faf4ed;border:1px solid #eee1d3;border-radius:5px;padding:5px 8px}.shell{display:grid;grid-template-columns:255px minmax(0,900px) 210px;max-width:1500px;margin:auto;min-height:calc(100vh - 76px)}.sidebar{padding:31px 23px 24px 26px;border-right:1px solid var(--line);position:sticky;top:76px;height:calc(100vh - 76px);overflow-y:auto}.search-label{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.search-box{border:1px solid #e1e5df;border-radius:7px;display:flex;align-items:center;padding:5px 10px;gap:7px;background:#fafbf9}.search-box span{font-size:22px;color:#7b807a}.search-box input{width:100%;border:0;outline:0;background:transparent;font-size:12px;min-width:0}.search-box kbd{font:11px var(--mono);color:#92978e;border:1px solid #e5e7e2;border-radius:3px;padding:0 4px}.nav-group{margin-top:26px}.nav-group p{font-size:11px;letter-spacing:.9px;text-transform:uppercase;font-weight:650;color:#858b84;margin:0 0 9px 10px}.nav-group a{display:block;padding:6px 10px;font-size:13px;color:#59605a;border-radius:5px;line-height:1.6;margin:1px 0}.nav-group a:hover{background:#f5f6f3;color:#252c25}.nav-group a.active{background:var(--soft);color:#a9512e;font-weight:600}.sidebar-note{border-top:1px solid var(--line);margin:29px 10px 0;padding-top:18px;font-size:11px;color:#606a5d}.sidebar-note>span:last-child{display:block;font-size:10px;margin-left:14px;color:#92988e}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#69956d;margin-right:7px;vertical-align:middle}.main{padding:39px 62px 0;min-width:0}.eyebrow{font-size:11px;color:#8c928b;display:flex;gap:10px;margin-bottom:30px}.eyebrow span{color:#c3c8be}.hero-label{font:10px var(--mono);letter-spacing:1.6px;color:#7b8376;margin:9px 0 20px}.hero h1{font-size:clamp(40px,4vw,58px);line-height:1.13;font-weight:550;letter-spacing:-2.5px;margin:0 0 23px}.hero h1 span{color:var(--accent)}.hero p{font-size:16px;line-height:1.85;color:#687064;margin:0 0 26px}.hero-actions{display:flex;gap:12px;margin-bottom:31px;flex-wrap:wrap}.button{padding:10px 17px;border-radius:6px;font-size:12px;font-weight:600;display:inline-flex;gap:22px;align-items:center}.primary{background:#262d26;color:#fff;box-shadow:0 2px 3px #0001}.primary:hover{background:#3d473b}.secondary{border:1px solid #dfe4da;color:#626b5d}.terminal{border-radius:9px;background:#242923;overflow:hidden;color:#e7eadd;box-shadow:0 8px 26px #252b2310}.terminal-top{display:flex;justify-content:space-between;align-items:center;padding:13px 17px;border-bottom:1px solid #ffffff12;font:9px var(--mono);color:#9ea792;letter-spacing:1px}.terminal-top>span:first-child{display:flex;gap:5px}.terminal-top i{height:6px;width:6px;background:#68725f;border-radius:50%}.terminal-top i:first-child{background:#c9936c}.terminal pre{font:10.5px/2.2 var(--mono);margin:0;padding:22px 18px;overflow-x:auto;background:transparent}.terminal-muted{color:#aeb79c}.terminal-output{color:#c4d4af}.terminal-bottom{padding:0 18px 16px;font-size:10px;color:#9da792}.journey{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--line);font-size:10px;color:#70796a;gap:5px}.journey b{font:9px var(--mono);color:#acb39f;margin-right:7px}.journey .arrow{color:#c2c9b9}.section-title{font-size:21px;letter-spacing:-.6px;font-weight:550;margin:33px 0 4px}.section-intro{font-size:13px;color:#7b8376;margin:0 0 20px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cards>a{border:1px solid var(--line);border-radius:8px;padding:21px;transition:background .15s,border .15s}.cards>a:hover{background:#fafbf7;border-color:#c5cfbd}.card-icon{font-size:21px;line-height:1;color:#8a967a}.cards h3{font-size:14px;font-weight:600;margin:14px 0 7px}.cards h3 span{float:right;color:#a9b19f;font-size:12px}.cards p{font-size:12px;color:#7a8273;line-height:1.8;margin:0 0 15px}.card-link{font-size:11px;color:#8f5a39}.callout{border-left:3px solid #ca8961;background:#fbf7f1;border-radius:0 6px 6px 0;padding:16px 20px;margin-top:27px;font-size:12px;color:#77684f}.callout strong{font-weight:600;color:#66563e}.callout p{margin:4px 0 0}.callout a{text-decoration:underline}.reference-notice{margin:0 0 25px}.on-this-page{padding:43px 20px 20px 10px;position:sticky;top:76px;height:calc(100vh - 76px);overflow-y:auto}.on-this-page>p{font:9px var(--mono);letter-spacing:1px;color:#9ba390;margin:0 0 20px}.on-this-page>a{font-size:11px;line-height:1.6;display:block;color:#8a9280;padding:6px 0 6px 13px;border-left:1px solid #e5eadf}.on-this-page>a:hover{color:#a85931;border-color:#a85931}.page-note{border-top:1px solid var(--line);margin:32px 13px 0 0;padding-top:20px;font-size:11px;line-height:1.9;color:#9ba38e}.prose{font-size:14px;color:#58604f;line-height:1.9}.prose h1{font-size:38px;font-weight:550;letter-spacing:-1.4px;line-height:1.2;color:#242c22;margin:0 0 22px}.prose h2{font-size:22px;line-height:1.3;font-weight:550;letter-spacing:-.5px;color:#2a3325;margin:40px 0 15px}.prose h3{font-size:17px;color:#34412c;line-height:1.4}.prose p{margin:12px 0 18px}.prose strong{color:#3e4935;font-weight:600}.prose a{color:#a65530;text-decoration:underline;text-decoration-color:#c99c8044;text-underline-offset:3px}.prose a:hover{text-decoration-color:#a65530}.prose code{font:11px/1.7 var(--mono);background:#f1f4ec;color:#59664a;border:1px solid #e6eadf;border-radius:4px;padding:2px 4px;overflow-wrap:anywhere}.prose pre{position:relative;background:#f6f7f3;border:1px solid #e4e8de;padding:20px 18px;border-radius:7px;overflow:auto;line-height:1.8;margin:18px 0 22px}.prose pre code{border:0;padding:0;background:none;font-size:11px;white-space:pre;overflow-wrap:normal}.copy{position:absolute;right:7px;top:6px;border:1px solid #dfe4d7;background:#fafbf8;color:#7e8972;border-radius:4px;font-size:10px;padding:2px 7px;cursor:pointer;opacity:0}.prose pre:hover .copy,.copy:focus{opacity:1}.prose table{border-collapse:collapse;width:100%;font-size:12px;display:block;overflow:auto;margin:18px 0 24px}.prose td,.prose th{padding:10px 12px;border-bottom:1px solid #e3e8dc;vertical-align:top;text-align:left;min-width:110px}.prose th{font-weight:600;background:#fafbf7;color:#546145}.prose ul,.prose ol{padding-left:23px}.prose li{margin:6px 0}.prose blockquote{border-left:3px solid #cbd5bb;padding:1px 18px;margin-left:0}.prose details{border:1px solid var(--line);border-radius:6px;padding:12px}.prose img{max-width:100%}.next{display:block;margin-top:40px;border:1px solid var(--line);padding:16px 20px;border-radius:7px}.next>span{display:block;font-size:11px;color:#939c87}.next strong{font-size:13px;color:#667457}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;margin-top:48px;padding:22px 0;font-size:10px;color:#9ba38e}.mobile-menu>summary{display:none}#search-results{background:#fff;box-shadow:0 7px 20px #0001;border:1px solid var(--line);border-radius:6px;max-height:50vh;overflow:auto;padding:8px;position:absolute;left:16px;width:310px;z-index:30}#search-results a{display:block;padding:8px;font-size:12px;border-bottom:1px solid var(--line)}#search-results a:hover{background:var(--soft)}#search-results small{display:block;color:var(--muted)}#search-results p{font-size:12px;padding:7px}body:has(#search:focus) .sidebar{overflow:visible}@media(min-width:1500px){.main{padding-left:75px;padding-right:75px}}@media(max-width:1150px){.shell{grid-template-columns:225px minmax(0,1fr)}.on-this-page{display:none}.main{padding:35px 45px 0}.sidebar{padding-left:17px;padding-right:17px}}@media(max-width:720px){.topbar{height:65px;padding:0 19px}.brand{font-size:18px}.docs-label{font-size:15px}.top-right{gap:12px}.release-link,.preview-tag{display:none}.shell{display:block}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:15px 20px}.search-box{max-width:none}.mobile-menu>summary{display:block;font-size:12px;margin-top:12px;cursor:pointer}.mobile-menu nav{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.mobile-menu:not([open]) nav{display:none}.nav-group{margin-top:14px}.sidebar-note{display:none}.main{padding:25px 22px 0}.eyebrow{margin-bottom:22px}.hero h1{font-size:45px}.hero p{font-size:14px}.desktop-break{display:none}.cards{grid-template-columns:1fr}.on-this-page{display:none}.terminal pre{font-size:10px}.journey{font-size:9px;flex-wrap:wrap}.journey b{display:block;margin-bottom:3px}.prose h1{font-size:32px}.prose pre code{font-size:10px}.prose{font-size:14px}.copy{opacity:1}#search-results{left:20px;width:calc(100% - 40px)}footer{gap:20px}}

/* Topic navigation: reveal the current section without a wall of repeated links. */
.nav-group summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.04em;font-weight:650;color:var(--text,#30392d);padding:9px 0}
.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:'+';color:#8b9585}.nav-group[open] summary:after{content:'−'}.nav-group{margin:10px 0}.nav-group a{font-size:12px;line-height:1.5;padding-top:7px;padding-bottom:7px}.nav-group>div{border-left:1px solid #e7e9e1;padding-left:8px}
.reference-hub .prose>ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reference-hub .prose>ul>li{border:1px solid #e3e6df;border-radius:9px;padding:18px;margin:0;font-size:13px;line-height:1.7}.reference-hub .prose>ul>li>a{display:block;font-size:16px;font-weight:600;margin-bottom:8px}
.prose table{display:block;max-width:100%;overflow-x:auto}.prose td code{white-space:normal;overflow-wrap:anywhere}.prose h1{overflow-wrap:anywhere}
@media(max-width:720px){.reference-hub .prose>ul{grid-template-columns:1fr}}

.theme-toggle{height:32px;width:34px;display:grid;place-items:center;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:6px;cursor:pointer;flex-shrink:0;font-size:18px}.theme-toggle:hover{border-color:var(--accent)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.theme-toggle .sun{display:none}[data-theme=dark] .theme-toggle .sun{display:inline}[data-theme=dark] .theme-toggle .moon{display:none}
[data-theme=dark]{--bg:#141714;--ink:#e3e8df;--muted:#a2ac9b;--line:#2c332b;--accent:#e49b71;--soft:#30251e;color-scheme:dark}
[data-theme=dark] .topbar{background:#141714f2}[data-theme=dark] .top-right,[data-theme=dark] .docs-label{color:#aab4a3}[data-theme=dark] .divider{color:#4a5543}[data-theme=dark] .preview-tag{background:#2e251e;border-color:#493527;color:#d5a27a}[data-theme=dark] .search-box{background:#1d221c;border-color:#343e2e}[data-theme=dark] .search-box input{color:var(--ink)}[data-theme=dark] .search-box kbd{border-color:#3d4834;color:#a5b795}[data-theme=dark] .nav-group p{color:#889780}[data-theme=dark] .nav-group a{color:#a9b69e}[data-theme=dark] .nav-group a:hover{background:#21291d;color:#e8efdf}[data-theme=dark] .nav-group a.active{background:#34271e;color:#f0ae7b}[data-theme=dark] .sidebar-note{color:#a4b494}[data-theme=dark] .sidebar-note>span:last-child{color:#7d8d6d}[data-theme=dark] .eyebrow{color:#8c9b7f}[data-theme=dark] .hero-label{color:#9baa8d}[data-theme=dark] .hero p,[data-theme=dark] .section-intro{color:#aab79c}[data-theme=dark] .primary{background:#d8e3ca;color:#1e2916}[data-theme=dark] .primary:hover{background:#e8f2de}[data-theme=dark] .secondary{border-color:#3b4732;color:#b6c6a4}[data-theme=dark] .terminal{background:#20281c;border:1px solid #39462e;box-shadow:none}[data-theme=dark] .terminal-top{border-color:#3b4830}[data-theme=dark] .journey{color:#a5b494}[data-theme=dark] .cards>a:hover{background:#1c2318;border-color:#4a593e}[data-theme=dark] .cards p{color:#a6b398}[data-theme=dark] .card-link{color:#dfac83}[data-theme=dark] .callout{background:#29251a;border-color:#b58a56;color:#bcb29b}[data-theme=dark] .callout strong{color:#e1cfb0}[data-theme=dark] .prose{color:#b6c0ac}[data-theme=dark] .prose h1,[data-theme=dark] .prose h2,[data-theme=dark] .prose h3{color:#e0e9d6}[data-theme=dark] .prose strong{color:#d2dec5}[data-theme=dark] .prose a{color:#e3a77b}[data-theme=dark] .prose code{background:#252e1e;border-color:#3b4831;color:#bdcda9}[data-theme=dark] .prose pre{background:#1c2417;border-color:#35442b}[data-theme=dark] .prose pre code{background:transparent;border:0;color:#c9d9b6}[data-theme=dark] .copy{background:#2a3622;border-color:#46593a;color:#c3d4af}[data-theme=dark] .prose td,[data-theme=dark] .prose th{border-color:#35442c}[data-theme=dark] .prose th{background:#20291a;color:#c1d1ae}[data-theme=dark] .next strong{color:#bfd0aa}[data-theme=dark] #search-results{background:#1b2316;border-color:#36462b}[data-theme=dark] #search-results a:hover{background:#2b3423}[data-theme=dark] .on-this-page>a{color:#9fab93;border-color:#34422a}[data-theme=dark] .on-this-page>a:hover{color:#edb382;border-color:#edb382}[data-theme=dark] .page-note,[data-theme=dark] footer{color:#8e9c7f}
.prose video{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16/9;background:#101410;border:1px solid var(--line);border-radius:9px;margin:20px 0;overflow:hidden}.prose video:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.video-player{display:block;position:relative;margin:20px 0}.prose .video-player video{margin:0}.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;min-height:56px;max-width:90%;padding:14px 25px;border:2px solid #fff;border-radius:999px;background:#17251eee;color:#fff;font:600 16px/1.4 var(--font);white-space:nowrap;box-shadow:0 4px 24px #0006;cursor:pointer}.video-play:hover{background:#a65530}.video-play:focus-visible{outline:3px solid #f6b985;outline-offset:5px}.video-play[hidden]{display:none}
.prose picture{display:block;margin:25px 0 10px}.prose img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:8px}.prose p:has(>em:only-child){font-size:11px;color:var(--muted);margin-top:7px}
[data-theme=dark] .nav-group summary{color:var(--ink)}[data-theme=dark] .nav-group>div,[data-theme=dark] .reference-hub .prose>ul>li{border-color:var(--line)}
@media(max-width:720px){.top-right{gap:10px}.top-right>a{font-size:10px}.brand{gap:5px}.divider{margin:0 5px}}
