@font-face{font-family:Sora;src:url('/assets/sora-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Sora;src:url('/assets/sora-semibold.ttf') format('truetype');font-weight:600 800;font-display:swap}
@font-face{font-family:Plex;src:url('/assets/plex-mono.ttf') format('truetype');font-weight:400;font-display:swap}
:root{color-scheme:dark;--bg:#101515;--raised:#182020;--paper:#f3f0e8;--muted:#aab8b2;--line:#354341;--orange:#ff6b35;--mint:#b4d8cb;font-family:Sora,sans-serif;color:var(--paper);background:var(--bg);font-synthesis:none;scroll-padding-top:110px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}a:hover{color:var(--orange)}button,input{font:inherit}button{cursor:pointer}a,button,input,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--orange);outline-offset:5px}button{color:inherit}::selection{color:var(--bg);background:var(--mint)}.skip{position:fixed;z-index:20;top:-120px;left:16px;background:var(--paper);color:var(--bg);padding:16px}.skip:focus{top:16px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.docs-header{position:sticky;top:0;z-index:5;min-height:86px;border-bottom:1px solid var(--line);padding:12px clamp(20px,3.2vw,64px);display:flex;align-items:center;gap:24px;background:var(--bg)}.docs-brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:600;letter-spacing:-.05em;white-space:nowrap;text-decoration:none}.docs-brand img{object-fit:contain}.brand-dot{color:var(--orange)}.docs-home{font-size:13px;color:var(--mint);text-decoration:none;border-left:1px solid var(--line);padding-left:24px}.docs-header>nav{display:flex;gap:24px;font-size:13px;white-space:nowrap}.docs-header>nav a{padding:12px 0;text-decoration:none}.search-open{margin-left:auto;display:flex;align-items:center;justify-content:space-between;gap:40px;min-height:42px;min-width:230px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--raised);font-size:12px;color:var(--muted)}.search-open:hover{border-color:var(--mint);color:var(--paper)}kbd{font-family:inherit;font-size:10px;color:var(--muted);border:1px solid var(--line);padding:3px 5px;border-radius:3px}
.docs-shell{max-width:1550px;margin:auto;padding:0 40px;display:grid;grid-template-columns:224px minmax(0,800px) 175px;gap:clamp(28px,4vw,64px)}.docs-sidebar{border-right:1px solid var(--line);padding:34px 24px 40px 0;position:sticky;top:86px;max-height:calc(100dvh - 86px);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent;align-self:start}.doc-nav-group{margin-bottom:27px}.doc-nav-group h2{font-size:12px;font-weight:600;color:var(--mint);margin:0 0 9px}.doc-nav-group ul{list-style:none;padding:0;margin:0}.doc-nav-group a{display:block;padding:8px 10px 8px 12px;margin-left:-12px;border-left:2px solid transparent;font-size:12px;line-height:1.6;color:var(--muted);text-decoration:none}.doc-nav-group a:hover{color:var(--paper);background:#1c2724}.doc-nav-group a[aria-current]{color:var(--paper);border-left-color:var(--orange);background:#26302b;border-radius:0 5px 5px 0}.docs-version{font-size:11px;color:var(--paper);line-height:1.7;border-top:1px solid var(--line);padding-top:20px}.docs-version span{display:block;color:var(--muted);font-size:10px}.mobile-nav{display:none}
#doc-main{min-width:0;padding:42px 0 0;outline:none}.doc-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:11px;line-height:1.7;margin-bottom:24px}.doc-breadcrumb a{text-decoration:none}.doc-breadcrumb span[aria-hidden]{color:var(--line)}.doc-article{font-size:15px;line-height:1.85;overflow-wrap:anywhere}.doc-article h1{font-size:clamp(2.5rem,3.5vw,3.65rem);line-height:1.14;font-weight:600;letter-spacing:-.065em;text-wrap:balance;overflow-wrap:normal;margin:0 0 27px;max-width:750px}.doc-article h1+p{font-size:17px;color:var(--mint);line-height:1.85;margin-bottom:28px}.doc-article p{margin:0 0 20px}.doc-article h2{font-size:24px;line-height:1.3;letter-spacing:-.035em;font-weight:600;margin:48px 0 18px;scroll-margin-top:108px}.doc-article h3{font-size:18px;line-height:1.5;margin:30px 0 16px}.heading-anchor{font-size:16px;color:var(--muted);text-decoration:none;margin-left:12px;opacity:0}.doc-article h2:hover .heading-anchor,.doc-article h3:hover .heading-anchor,.heading-anchor:focus{opacity:1}.doc-article a:not(.heading-anchor){color:var(--mint)}.doc-article a:hover{color:var(--orange)}.doc-article ul{margin:0 0 24px;padding-left:22px}.doc-article li{margin:7px 0;padding-left:4px}.doc-article li::marker{color:var(--orange)}code{font-family:Plex,monospace;font-size:.83em;line-height:1.8;color:#e1e9df}.doc-article p code,.doc-article li code,.doc-table code{background:var(--raised);padding:2px 5px;border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.doc-code{margin:26px 0 30px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#151d1c}.code-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #2d3b35;padding:7px 15px;font:11px Plex,monospace;color:var(--muted)}.copy-code{min-height:34px;border:1px solid transparent;border-radius:5px;background:none;font:11px Sora,sans-serif;padding:6px 10px;color:var(--mint)}.copy-code:hover{border-color:var(--line);color:var(--paper)}.doc-code pre{padding:20px;margin:0;overflow:auto;tab-size:2;max-width:100%;line-height:1.8}.doc-code pre code{font-size:12px;white-space:pre}.doc-table{max-width:100%;overflow:auto;margin:26px 0 32px;border:1px solid var(--line);border-radius:8px}.doc-table table{border-collapse:collapse;text-align:left;width:100%;font-size:12px;line-height:1.7}.doc-table th{background:#1c2924;font-weight:600;color:var(--mint);padding:13px 15px;white-space:nowrap;border-bottom:1px solid var(--line)}.doc-table td{padding:13px 15px;vertical-align:top;min-width:115px;border-bottom:1px solid #2c3935}.doc-table tr:last-child td{border-bottom:0}.doc-table td:first-child{color:var(--paper)}
.docs-toc{padding-top:62px;align-self:start;position:sticky;top:86px;max-height:calc(100dvh - 86px);overflow:auto}.docs-toc p{font-size:11px;font-weight:600;color:var(--mint);margin:0 0 16px}.docs-toc ul{list-style:none;margin:0;padding:0}.docs-toc li{margin:0 0 11px}.docs-toc a{display:block;font-size:11px;line-height:1.7;color:var(--muted);text-decoration:none}.docs-toc a:hover{color:var(--orange)}.docs-toc .doc-top{border-top:1px solid var(--line);padding-top:16px;margin-top:22px}.docs-toc img{display:block;width:76px;height:76px;object-fit:contain;margin-top:30px;transform:rotate(-8deg);opacity:.85}.doc-pager{margin-top:64px;padding:26px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:25px}.doc-pager a{display:block;text-decoration:none;min-width:0}.doc-pager a:last-child{text-align:right}.doc-pager small{display:block;color:var(--muted);font-size:10px;margin-bottom:9px}.doc-pager strong{font-size:13px;line-height:1.6;font-weight:400}.doc-footer{padding:24px 0 38px;border-top:1px solid var(--line);display:flex;align-items:start;justify-content:space-between;gap:25px;font-size:10px;color:var(--muted);line-height:1.7}.doc-footer a{white-space:nowrap}
.search-dialog{width:min(680px,calc(100vw - 32px));max-height:80dvh;padding:26px;border:1px solid #637569;border-radius:14px;background:var(--bg);color:var(--paper);box-shadow:0 24px 100px #0009}.search-dialog::backdrop{background:#060b0bd6;backdrop-filter:blur(5px)}.search-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:25px}.search-top h2{font-size:20px;font-weight:600;letter-spacing:-.04em;margin:0}.search-close{border:0;background:none;min-height:40px;font-size:11px;color:var(--muted)}.search-dialog label{display:block;font-size:12px;color:var(--mint);margin-bottom:10px}.search-dialog input{background:var(--raised);border:1px solid var(--line);border-radius:6px;padding:15px;color:var(--paper);width:100%;min-width:0;font-size:14px}.search-dialog input::placeholder{color:var(--muted)}#search-status{font-size:11px;line-height:1.8;color:var(--muted);margin:17px 0}#search-results{list-style:none;padding:0;margin:0}#search-results li{border-top:1px solid var(--line)}#search-results a{display:block;padding:16px 8px;text-decoration:none;border-radius:5px}#search-results a:hover{background:var(--raised)}#search-results strong{font-size:14px;font-weight:600;color:var(--mint)}#search-results p{font-size:12px;line-height:1.75;color:var(--muted);margin:6px 0 0}
@media(min-width:1600px){.docs-shell{grid-template-columns:236px minmax(0,800px) 190px}}
@media(max-width:1150px){.docs-shell{grid-template-columns:200px minmax(0,760px);gap:36px;padding:0 30px}.docs-toc{display:none}.search-open{min-width:190px;gap:20px}.docs-header{gap:18px}.docs-home{padding-left:18px}.docs-header>nav{gap:16px}.doc-article h1{font-size:44px}}
@media(max-width:780px){.docs-header{min-height:76px;padding:10px 20px;flex-wrap:wrap;gap:14px}.docs-brand{font-size:17px;gap:6px}.docs-brand img{width:36px;height:36px}.docs-home{padding-left:12px}.docs-header>nav{display:none}.search-open{min-width:44px;width:44px;min-height:40px;margin-left:auto;padding:10px;justify-content:center}.search-open span{font-size:0}.search-open span:after{content:'⌕';font-size:26px;line-height:1}.search-open kbd{display:none}.docs-shell{display:block;padding:0 22px}.docs-sidebar{position:static;border-right:0;max-height:none;padding:17px 0 0;overflow:visible}.desktop-nav,.docs-version{display:none}.mobile-nav{display:block;border:1px solid var(--line);border-radius:7px;background:var(--raised)}.mobile-nav summary{font-size:12px;padding:14px 16px;cursor:pointer;color:var(--mint)}.mobile-nav nav{padding:18px 26px 4px;max-height:55dvh;overflow:auto}.doc-nav-group a{font-size:13px;min-height:41px}.doc-nav-group h2{font-size:13px}#doc-main{padding-top:29px}.doc-breadcrumb{font-size:10px;margin-bottom:21px}.doc-article{font-size:14px;line-height:1.85}.doc-article h1{font-size:clamp(34px,8vw,44px);letter-spacing:-.055em}.doc-article h1+p{font-size:15px}.doc-article h2{font-size:23px;margin-top:36px}.doc-code pre{padding:16px}.doc-code pre code{font-size:11px}.heading-anchor{opacity:1;font-size:12px}.doc-pager{margin-top:45px}.doc-footer{flex-direction:column;gap:12px}.search-dialog{padding:20px}.search-top h2{font-size:18px}.search-top kbd{display:none}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.copy-code,.doc-nav-group a,.search-open{transition:color .15s,border-color .15s,background .15s}.docs-toc img:hover{transform:rotate(0deg);transition:transform .2s}}

/* Release history: one featured version followed by a chronological ruled list. */
.release-badge{display:inline-flex;align-items:center;width:fit-content;min-height:25px;padding:3px 9px;border:1px solid var(--line);border-radius:4px;color:var(--muted);font:10px Plex,monospace;letter-spacing:.02em;white-space:nowrap}.release-badge.is-current{border-color:#536d5c;color:var(--mint);background:#20382b}.release-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:10px;color:var(--muted);margin:0 0 23px}.release-meta a{margin-left:auto}.release-feature{margin:36px 0 55px;padding:26px 28px 29px;border-top:3px solid var(--orange);border-bottom:1px solid var(--line);background:var(--raised)}.release-feature-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--muted)}.release-number{display:block;color:var(--orange);font:500 clamp(58px,7vw,86px)/1.15 Plex,monospace;letter-spacing:-.08em;margin:24px 0 10px}.doc-article .release-feature h2{margin:0 0 16px;font-size:26px}.release-feature p{font-size:13px;line-height:1.9;color:var(--muted)}.release-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px 20px;margin-top:23px}.release-actions a{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:11px}.release-actions .release-primary{background:var(--paper);color:var(--bg)!important;padding:10px 15px;border-radius:5px;font-weight:600;text-decoration:none}.release-actions .release-primary:hover{background:var(--mint)}.release-archive-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:15px}.doc-article .release-archive-heading h2{margin:0}.release-archive-heading>span{font:10px Plex,monospace;white-space:nowrap;color:var(--muted)}.doc-article .release-timeline{list-style:none;margin:0;padding:0}.doc-article .release-timeline>li{display:grid;grid-template-columns:112px minmax(0,1fr);gap:25px;padding:26px 0;margin:0;border-bottom:1px solid var(--line)}.release-timeline-date{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.release-version{font:16px Plex,monospace;color:var(--paper)}.release-timeline time{font-size:10px;line-height:1.6;color:var(--muted)}.doc-article .release-timeline h3{font-size:17px;line-height:1.6;margin:0 0 10px;letter-spacing:-.02em}.release-timeline h3 a{display:block;min-height:35px;text-decoration:none}.release-timeline h3 a span[aria-hidden]{color:var(--orange)}.release-timeline p{font-size:12px;line-height:1.9;color:var(--muted);margin:0}.release-footnote{font-size:12px;color:var(--muted)}.doc-article .release-footnote h2{font-size:20px}.release-footnote>a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:780px){.release-feature{padding:20px;margin-top:30px}.doc-article .release-feature h2{font-size:23px}.release-number{font-size:64px}.release-actions{gap:8px 18px}.release-actions .release-primary{width:100%;justify-content:space-between}.doc-article .release-timeline>li{grid-template-columns:1fr;gap:12px;padding:22px 0}.release-timeline-date{flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px 14px}.release-version{font-size:14px}.release-timeline time{font-size:10px}.doc-article .release-timeline h3{font-size:17px}.release-meta{gap:10px}.release-meta a{margin-left:0}.release-archive-heading{align-items:center}.doc-article .release-archive-heading h2{font-size:21px}}
