:root{--bg: #07080c;--panel: #0c0e15;--line: rgba(255,255,255,.08);--line2: rgba(255,255,255,.14);--fg: #eef0f6;--body: #c3c8d5;--mute: #8d94a6;--dim: #767d92;--acc: #a5b4ff;--acc2: #f0abfc;--expo: cubic-bezier(.16,1,.3,1);--head: 60px}*{box-sizing:border-box}html{color-scheme:dark;scroll-padding-top:calc(var(--head) + 1.25rem)}body{margin:0;font:17px/1.7 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60vw 50vh at 10% -10%,rgba(120,119,255,.2),transparent 70%),radial-gradient(45vw 40vh at 105% 15%,rgba(240,171,252,.1),transparent 70%)}a{color:var(--acc);text-decoration-color:#a5b4ff59;text-underline-offset:3px}::selection{background:#a5b4ff4d}code,pre,kbd{font:14px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}code{background:#ffffff12;padding:.12em .4em;border-radius:6px;color:#dfe4ff;font-size:.84em;overflow-wrap:anywhere}kbd{font-size:.8em;padding:.1em .45em;border:1px solid var(--line2);border-bottom-width:2px;border-radius:6px;color:var(--fg)}.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:absolute;left:1rem;top:-4rem;z-index:50;padding:.5rem .9rem;border-radius:10px;background:var(--fg);color:var(--bg)}.skip:focus{top:.75rem}:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:4px}[tabindex="-1"]:focus:not(:focus-visible){outline:none}.code{margin:1.5rem 0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:linear-gradient(#ffffff09,#ffffff04)}.code-bar{display:flex;align-items:center;justify-content:space-between;min-height:2.3rem;padding:0 .45rem 0 1.1rem;border-bottom:1px solid var(--line);font:500 11px ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.code-copy{font:inherit;letter-spacing:.06em;padding:.3rem .7rem;border-radius:8px;background:transparent;color:var(--mute);border:1px solid var(--line);cursor:pointer;transition:color .3s,border-color .3s}.code-copy:hover{color:var(--fg);border-color:#a5b4ff73}.code pre{margin:0;padding:1rem 1.2rem;overflow:auto;font-size:13.5px;color:#dfe4ff;tab-size:2}.code pre:focus-visible{outline-offset:-2px}.code code{background:none;padding:0;color:inherit;font:inherit}.tk-c{color:#7c8499;font-style:italic}.tk-s{color:#a8e6b8}.tk-k{color:#f0abfc}.tk-n{color:#fcd34d}.tk-t{color:#a5b4ff}.tk-a{color:#f0abfc}.tk-p{color:#8fd8ff}.tk-f{color:#a5b4ff}.tk-v{color:#ffd780}.tk-o{color:#9aa1b8}.top{position:sticky;top:0;z-index:30;height:var(--head);background:#07080cb8;-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--line)}.top-in{max-width:1240px;height:100%;margin:auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.6rem;color:var(--fg);text-decoration:none;font-weight:650;letter-spacing:-.02em;white-space:nowrap}.brand-mark{flex:none;position:relative;width:3px;height:18px;margin-right:10px;border-radius:9px;background:linear-gradient(var(--acc),var(--acc2));box-shadow:0 0 12px #a5b4ff99}.brand-mark:before,.brand-mark:after{content:"";position:absolute;top:50%;width:100%;translate:0 -50%;border-radius:inherit;background:inherit}.brand-mark:before{left:5px;height:12px;opacity:.55}.brand-mark:after{left:10px;height:7px;opacity:.28}.ver{font:500 11px ui-monospace,monospace;color:var(--mute);padding:.15em .55em;border:1px solid var(--line2);border-radius:99px;letter-spacing:.02em}.top-links{display:flex;gap:1.6rem;font-size:14px}.top-links a{position:relative;color:var(--mute);text-decoration:none;transition:color .3s;white-space:nowrap}.top-links a:hover,.top-links a[aria-current]{color:var(--fg)}.top-links a[aria-current]:after{content:"";position:absolute;left:0;right:0;bottom:-.35rem;height:1px;background:linear-gradient(90deg,var(--acc),var(--acc2))}.progress{position:absolute;left:0;right:0;bottom:-1px;height:1px;overflow:hidden;pointer-events:none}.progress i{display:block;height:100%;transform-origin:left;background:linear-gradient(90deg,var(--acc),var(--acc2));box-shadow:0 0 10px #a5b4ffcc;transform:scaleX(var(--read, 0));transition:transform .6s var(--expo)}@supports (animation-timeline: scroll()){.progress i{transition:none;animation:read linear both;animation-timeline:scroll(root)}@keyframes read{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}.layout{max-width:1240px;margin:auto;padding:0 2rem;display:grid;grid-template-columns:minmax(0,46rem) 15rem;justify-content:space-between;gap:4rem}.doc{min-width:0;padding-bottom:2rem;counter-reset:sec}.doc p,.doc li,.doc dd{color:var(--body)}.doc strong,.doc em,.doc b{color:var(--fg)}.hero{padding:5.5rem 0 1.5rem}.eyebrow{margin:0 0 1.1rem;font:500 12px ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}h1{margin:0;font-size:clamp(2.9rem,7vw,5.2rem);line-height:.98;letter-spacing:-.05em;font-weight:720}h1 span{background:linear-gradient(100deg,var(--acc),#8b7cf6 40%,var(--acc2));-webkit-background-clip:text;background-clip:text;color:transparent}.hero h1{position:relative;isolation:isolate;display:inline-block;padding:.14em .9em .2em .42em}.hero h1:before,.hero h1:after{content:"";position:absolute;pointer-events:none}.hero h1:before{left:0;top:.1em;bottom:.1em;width:4px;border-radius:9px;background:linear-gradient(var(--acc),var(--acc2));box-shadow:0 0 18px color-mix(in srgb,var(--acc) 75%,#0000),0 0 2px var(--acc)}.hero h1:after{z-index:-1;inset:0 0 0 2px;border-radius:0 .16em .16em 0;background:linear-gradient(90deg,rgba(165,180,255,.15),rgba(240,171,252,.05) 55%,transparent)}@media(prefers-reduced-motion:no-preference){.hero h1:before{transform-origin:50% 0;animation:h1-line 1.1s var(--expo) .1s both}.hero h1:after{animation:h1-band 1.2s var(--expo) .35s both}}@keyframes h1-line{0%{scale:1 0;opacity:0}}@keyframes h1-band{0%{opacity:0;translate:-.6em 0}}.doc .lead{max-width:36rem;margin:1.5rem 0 0;font-size:1.15rem;color:var(--mute)}.hero .code{margin-top:2.2rem;display:inline-block;max-width:100%}.hero-links{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:1.6rem;font-size:15px}.hero-links a{text-decoration:none;color:var(--fg)}.hero-links a span{color:var(--acc);transition:translate .4s var(--expo);display:inline-block}.hero-links a:hover span{translate:3px 0}.doc h2{counter-increment:sec;margin:5.5rem 0 1rem;font-size:2.05rem;line-height:1.1;letter-spacing:-.035em;font-weight:680}.doc h2:before{content:counter(sec,decimal-leading-zero);display:block;margin-bottom:.7rem;font:500 12px ui-monospace,monospace;letter-spacing:.1em;color:var(--acc);opacity:.8}.doc h3{margin:2.6rem 0 .6rem;font-size:1.22rem;letter-spacing:-.015em;font-weight:640}.anchor{margin-left:.35em;color:var(--dim);text-decoration:none;font-weight:400;opacity:0;transition:opacity .25s}:is(h2,h3):hover .anchor,.anchor:focus-visible{opacity:1}.facts{list-style:none;padding:0;margin:2rem 0 0}.facts li{position:relative;padding:.9rem 0 .9rem 1.6rem;border-top:1px solid var(--line);font-size:16px}.facts li:before{content:"";position:absolute;left:0;top:1.55rem;width:.7rem;height:1px;background:linear-gradient(90deg,var(--acc),var(--acc2))}.spec{margin:1.75rem 0}.spec>div{display:grid;grid-template-columns:12.5rem 1fr;gap:1.5rem;padding:.95rem 0;border-top:1px solid var(--line)}.spec>div:last-child{border-bottom:1px solid var(--line)}.spec dt code{color:var(--acc);background:#a5b4ff14}.spec dd{margin:0;font-size:15.5px}.compare{width:100%;margin:1.75rem 0;border-collapse:collapse;font-size:14.5px}.compare-wrap{overflow-x:auto}.compare th,.compare td{padding:.7rem .8rem .7rem 0;border-top:1px solid var(--line);text-align:left;vertical-align:top;color:var(--body)}.compare thead th{border-top:0;font:500 11px ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.compare tbody th{color:var(--fg);font-weight:600;white-space:nowrap}.compare .us{color:var(--fg)}.compare .us:before{content:"";display:inline-block;width:.45em;height:.45em;margin-right:.5em;border-radius:50%;vertical-align:.1em;background:linear-gradient(var(--acc),var(--acc2))}.fw-index{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:1.5rem 0 0;list-style:none}.fw-index a{display:inline-block;padding:.3rem .8rem;border:1px solid var(--line2);border-radius:99px;font-size:14px;color:var(--body);text-decoration:none;transition:color .3s,border-color .3s}.fw-index a:hover{color:var(--fg);border-color:#a5b4ff80}.side-in{position:sticky;top:calc(var(--head) + 3rem);padding-top:5.5rem}.side-head{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 1rem 1.15rem;font:500 11px ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}.side-count{color:var(--dim);letter-spacing:.06em;font-variant-numeric:tabular-nums}.totop{display:inline-block;margin:1.5rem 0 0 1.15rem;font-size:13px;color:var(--dim);text-decoration:none;transition:color .3s}.totop:hover{color:var(--fg)}.toc{padding:0 .5rem 0 1.15rem;--chapter-color: var(--acc);--chapter-color-2: var(--acc2);--chapter-rail: var(--line);--chapter-band: linear-gradient(90deg, rgba(165,180,255,.13), rgba(240,171,252,.04) 55%, transparent) }.toc chapter-rail:after{border-radius:2px;box-shadow:0 0 12px #a5b4ffe6,0 0 2px #fff}.toc chapter-band{border-radius:0 8px 8px 0}.toc-rail{max-height:calc(100vh - var(--head) - 14rem);overflow:hidden auto;scrollbar-width:none}.toc li li{padding-left:.95rem}.toc a{padding:.38rem 0;font-size:14px;line-height:1.4;color:var(--mute);opacity:1;transition:color .35s,translate .5s var(--expo)}.toc li li a{padding:.28rem 0;font-size:13px;color:var(--dim)}.toc a:hover{color:var(--fg)}.toc a.is-trail{color:#c9cede}.toc a.is-active{color:var(--fg);translate:3px 0}.toc a:focus-visible{outline-offset:1px}.otp{display:none}@media(max-width:1023px){:root{--head: 56px }html{scroll-padding-top:calc(var(--head) + 48px + 1rem)}.top-in{padding:0 1.25rem}.top-links{gap:1rem;font-size:13px}.top-links .top-gh{display:none}.layout{grid-template-columns:minmax(0,1fr);padding:0 1.25rem}.side{display:none}.hero{padding-top:3rem}body:has(.otp) .top .progress{display:none}.otp{display:block;position:sticky;top:var(--head);z-index:25;background:#090a0fd1;-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--line)}.otp[open]{background:#090a0ff7;box-shadow:0 24px 48px -12px #000000b3}.otp summary{position:relative;list-style:none;display:flex;align-items:center;gap:.75rem;height:48px;padding:0 1.25rem;cursor:pointer;font-size:14px}.otp summary::-webkit-details-marker{display:none}.otp-label{flex:none;font:500 10.5px ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.otp-current{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--fg);font-weight:550}.otp-current.swap{animation:swap .55s var(--expo)}@keyframes swap{0%{opacity:0;filter:blur(4px);translate:0 6px}}.otp-count{font:500 11px ui-monospace,monospace;color:var(--mute);font-variant-numeric:tabular-nums}.otp-chev{color:var(--mute);transition:rotate .4s var(--expo)}.otp[open] .otp-chev{rotate:180deg}.toc-sheet{margin:.25rem 1.25rem 1.25rem;max-height:min(60vh,26rem);overflow:hidden auto;overscroll-behavior:contain}.toc-sheet a{padding:.5rem 0;font-size:15px}.toc-sheet li li a{padding:.4rem 0;font-size:14px}.doc h2{margin-top:4rem;font-size:1.75rem}.spec>div{grid-template-columns:1fr;gap:.35rem}}@media(max-width:420px){.ver{display:none}.top-links{gap:.85rem}}.page{max-width:1240px;margin:auto;padding:0 2rem 2rem}.page-hero{padding:5rem 0 2.5rem;max-width:46rem}.page-hero p{color:var(--mute);font-size:1.1rem}.presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.preset{padding:2rem 2rem 2.25rem;border-left:1px solid var(--line);min-width:0}.preset:first-child{border-left:0;padding-left:0}.preset:last-child{padding-right:0}.preset-k{margin:0;font:500 12px ui-monospace,monospace;letter-spacing:.02em;color:var(--acc)}.preset h2{margin:.4rem 0 .35rem;font-size:1.6rem;letter-spacing:-.03em;font-weight:680}.preset>p{margin:0 0 1.4rem;color:var(--mute);font-size:15px;min-height:3.2em}.preset .code{margin:0 0 1.5rem}.preset .code pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12.5px}.demo{display:grid;grid-template-columns:9.5rem minmax(0,1fr);gap:1.25rem;height:19rem;padding:1rem 0;border-top:1px solid var(--line)}.demo nav{font-size:13.5px;line-height:1.35;color:var(--fg);align-self:start;--chapter-color: var(--acc);--chapter-color-2: var(--acc2);--chapter-rail: var(--line) }.demo nav a{color:inherit}.demo-body{overflow:auto;padding-right:.75rem;scrollbar-width:thin;scrollbar-color:var(--line2) transparent;font-size:14px;color:var(--mute);mask:linear-gradient(transparent,#000 1.25rem,#000 calc(100% - 2.5rem),transparent)}.demo-body h3{margin:1.25rem 0 .35rem;color:var(--fg);font-size:15px;letter-spacing:-.01em}.demo-body p{margin:0 0 .8rem}.demo-body:after{content:"";display:block;height:10rem}.vars{margin-top:3.5rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:start}.vars h2{margin:0 0 .75rem;font-size:1.6rem;letter-spacing:-.03em}.vars p,.vars dd{color:var(--body)}.vars .spec>div{grid-template-columns:10rem 1fr}@media(max-width:1023px){.page{padding:0 1.25rem 2rem}.page-hero{padding-top:3rem}.presets{grid-template-columns:minmax(0,1fr)}.preset{border-left:0;padding:2rem 0;border-top:1px solid var(--line)}.preset:first-child{border-top:0}.preset>p{min-height:0}.vars{grid-template-columns:minmax(0,1fr);gap:1rem}}.lost{max-width:40rem;margin:auto;padding:8rem 2rem 6rem}.lost h1{font-size:clamp(3rem,9vw,5rem)}.lost p{color:var(--mute);font-size:1.1rem}.foot{max-width:1240px;margin:3rem auto 0;padding:2rem;border-top:1px solid var(--line);font-size:13px;color:var(--dim);display:flex;flex-wrap:wrap;gap:.75rem 2rem;justify-content:space-between}.foot p{margin:0}.foot ul{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin:0;padding:0;list-style:none}.foot a{color:var(--mute);text-decoration:none}.foot a:hover{color:var(--fg)}@media(max-width:1023px){.foot{padding:2rem 1.25rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:0s!important;animation-duration:0s!important}}
