:root{color-scheme:dark;--bg: #09131f;--bg2: #0c1828;--pnl: #0f1c2e;--pnl2: #142438;--pnl3: #1b3048;--ln: rgba(255, 255, 255, .07);--ln2: rgba(255, 255, 255, .12);--tx: #eef3fa;--mut: #9eacc1;--dim: #8191a8;--acc: #f97316;--acc-hi: #ff8a3d;--acc-tint: rgba(249, 115, 22, .1);--acc-ring: rgba(249, 115, 22, .18);--ink: #0a1729;--ok: #4ade80;--ok-tint: rgba(74, 222, 128, .12);--amber: #f0b866;--steel: #5b6f8e;--sans: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--t-xs: 12px;--t-sm: 14px;--t-md: 16px;--t-lg: 18px;--t-xl: 24px;--t-2xl: 40px;--t-3xl: 64px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--s8: 64px;--s9: 96px;--s10: 128px;--r-sm: 4px;--r-md: 8px;--r-lg: 14px;--r-pill: 999px;--wrap: 1160px;--gutter: 32px;--measure: 720px}@media(max-width:640px){:root{--gutter: 20px}}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;background:var(--bg);color:var(--tx);font-family:var(--sans);-webkit-font-smoothing:antialiased}body{font-size:var(--t-md);line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%}h1,h2,h3{font-weight:600;margin:0;text-wrap:balance}h1{font-size:clamp(38px,4.6vw,58px);line-height:1.04;letter-spacing:-.035em}h2{font-size:clamp(28px,3vw,38px);line-height:1.1;letter-spacing:-.03em}h3{font-size:var(--t-lg);line-height:1.3;letter-spacing:-.01em}code,.mono{font-family:var(--mono)}.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}.measure{max-width:var(--measure)}.mut{color:var(--mut)}.dim{color:var(--dim)}.acc{color:var(--acc)}p a:not(.btn):not(.tlink),li a:not(.btn):not(.tlink){text-decoration:underline;text-decoration-color:var(--ln2);text-underline-offset:3px}p a:not(.btn):not(.tlink):hover,li a:not(.btn):not(.tlink):hover{text-decoration-color:var(--acc)}:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{display:inline-flex;align-items:center;gap:10px;font:500 13.5px/1.4 var(--sans);color:var(--mut)}.led{width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 3px var(--acc-ring);flex:none}.led.ok{background:var(--ok);box-shadow:0 0 0 3px #4ade8026}.lede{font-size:var(--t-lg);color:var(--mut);max-width:560px}.lede b,.lede strong{color:var(--tx);font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:44px;padding:0 18px;border-radius:var(--r-md);font:500 15px/1 var(--sans);border:1px solid var(--ln2);color:var(--tx);background:transparent;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s}.btn:hover{background:var(--pnl);border-color:#ffffff47}.btn.p{background:var(--acc);border-color:var(--acc);color:var(--ink)}.btn.p:hover{background:var(--acc-hi);border-color:var(--acc-hi)}.btn.sm{height:36px;padding:0 14px;font-size:14px}.btn.full{width:100%}.btn svg{width:16px;height:16px;flex:none}.btn .ti{font-size:16px}.tlink{font:500 14px/1.4 var(--sans);color:var(--mut);border-bottom:1px solid var(--ln2);padding-bottom:2px;transition:color .15s,border-color .15s}.tlink:hover{color:var(--tx);border-color:var(--acc)}.hdr{position:sticky;top:0;z-index:50;background:#0a1729d1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--ln)}.hdr .wrap{display:flex;align-items:center;height:64px;gap:36px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:17px;letter-spacing:-.01em;color:var(--tx)}.brand svg{width:26px;height:26px;flex:none}.nlinks{display:flex;gap:26px;font-size:14px;color:var(--mut)}.nlinks a{transition:color .15s}.nlinks a:hover,.nlinks a[aria-current]{color:var(--tx)}.nlinks a[aria-current]{box-shadow:inset 0 -2px 0 var(--acc);padding-bottom:4px;margin-bottom:-6px}.hdr .right{margin-left:auto;display:flex;align-items:center;gap:20px}.signin{font-size:14px;color:var(--mut);transition:color .15s}.signin:hover{color:var(--tx)}.stars{font-size:14px;color:var(--mut);transition:color .15s}.stars:hover{color:var(--tx)}.stars b{color:var(--acc);font-weight:400}.stars b:empty{display:none}details.mnav{display:none;position:relative}details.mnav summary{list-style:none;cursor:pointer;font:500 14px/1 var(--sans);color:var(--mut);border:1px solid var(--ln2);border-radius:var(--r-md);padding:11px 12px}details.mnav summary::-webkit-details-marker{display:none}details.mnav[open] summary{color:var(--tx);border-color:#ffffff4d}.mpanel{position:absolute;right:0;top:calc(100% + 10px);width:min(340px,calc(100vw - 40px));background:var(--bg2);border:1px solid var(--ln2);border-radius:var(--r-lg);box-shadow:0 24px 50px -20px #000c;padding:8px}.mpanel a{display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:var(--r-md);font-size:15px}.mpanel a:hover,.mpanel a[aria-current]{background:var(--pnl)}.mpanel a span{font-size:13px;color:var(--dim)}.mpanel hr{border:0;border-top:1px solid var(--ln);margin:6px 4px}.mpanel a.btn{width:100%;margin-top:6px;justify-content:center}.mpanel a.btn:hover{background:var(--acc-hi)}.sec{padding:var(--s9) 0 0}.shead{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:56px;align-items:end;margin-bottom:var(--s7)}.shead h2{margin-top:16px}.shead p{color:var(--mut);font-size:17px;max-width:560px;margin:0}.rule{border-top:1px solid var(--ln)}.cap{font-size:13.5px;line-height:1.55;color:var(--dim);margin-top:14px}.cap b{color:var(--tx);font-weight:500}.cap a{color:var(--mut);border-bottom:1px solid var(--ln2)}.card{border:1px solid var(--ln2);border-radius:var(--r-lg);background:var(--pnl)}.card.raised{background:var(--pnl2)}.frame{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--ln2);box-shadow:0 50px 100px -40px #000c;background:#1a1b26}.frame img{display:block;width:100%;height:auto}.term{background:#08111f;border:1px solid var(--ln2);border-radius:10px;box-shadow:0 30px 60px -20px #000000d9;font:400 12.5px/1.65 var(--mono)}.term .tb{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--ln);color:var(--dim);font-size:12px}.term .tb i{width:9px;height:9px;border-radius:50%;background:#26354d}.term pre{margin:0;padding:12px 14px 14px;color:var(--mut);white-space:pre;overflow-x:auto}.term .k{color:var(--acc)}.term .s{color:#c9d6ea}.term .c{color:var(--dim)}.honest{margin-top:32px;font-size:14.5px;color:var(--mut);max-width:780px;border-left:2px solid var(--acc);padding:2px 0 2px 16px}.honest b,.honest strong{color:var(--tx);font-weight:500}.ftr{margin-top:var(--s10);border-top:1px solid var(--ln);padding:var(--s8) 0 var(--s7);font-size:14px}.fgrid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:32px}.fgrid h2{margin:0 0 14px;font:500 13px var(--sans);color:var(--dim);letter-spacing:0}.fgrid a{display:block;color:var(--mut);padding:4px 0;transition:color .15s;overflow-wrap:anywhere}.fgrid a:hover{color:var(--tx)}.fgrid a.brand{display:inline-flex;color:var(--tx);padding:0}.fbrand p{color:var(--mut);margin:14px 0 0;max-width:280px}.fbase{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--ln);font-size:13px;color:var(--dim)}@media(max-width:1100px){.nlinks,.signin,.stars{display:none}details.mnav{display:block}.hdr .right{gap:12px}.shead{grid-template-columns:minmax(0,1fr);gap:16px}.fgrid{grid-template-columns:1fr 1fr}.fbrand{grid-column:1 / -1}}@media(max-width:640px){.hdr .wrap{gap:12px;height:58px}.hdr .right{gap:10px}.sec{padding-top:72px}.lede{font-size:16.5px}.ftr{margin-top:96px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.gh-stars:not(:empty){margin-left:2px;font-size:.9em;color:var(--acc)}@media(max-width:380px){.hdr .wrap,.hdr .right{gap:8px}.hdr .btn.sm svg{display:none}.brand{gap:8px;font-size:16px}details.mnav summary{padding:11px 10px}}.skip-link{position:fixed;z-index:200;top:12px;left:12px;transform:translateY(-200%);padding:12px 18px;background:var(--acc);color:var(--bg);border-radius:var(--r-sm);font-weight:600}.skip-link:focus{transform:translateY(0)}
