@charset "UTF-8";.hero:where(.astro-7vszemnk){padding:5rem 0 1.5rem;background:var(--bg-color);color:var(--text-color);overflow:hidden;position:relative}.hero:where(.astro-7vszemnk):before{content:"";position:absolute;top:-30%;left:50%;transform:translate(-50%);width:140%;height:140%;background:radial-gradient(ellipse at center top,rgba(var(--accent-color-rgb),.08) 0%,rgba(168,85,247,.04) 30%,transparent 60%);z-index:0;pointer-events:none}.container:where(.astro-7vszemnk){max-width:1200px;margin:0 auto;padding:0 1.5rem;display:flex;flex-direction:column;align-items:center;position:relative;z-index:1;gap:1.25rem}.hero-mark:where(.astro-7vszemnk){margin:0;font-size:3rem;line-height:1;font-weight:800;letter-spacing:-.04em;color:var(--text-color)}@media(min-width:768px){.hero-mark:where(.astro-7vszemnk){font-size:4.5rem}}@media(min-width:960px){.hero-mark:where(.astro-7vszemnk){font-size:6rem}}.title:where(.astro-7vszemnk){font-size:2.5rem;line-height:1.05;font-weight:800;letter-spacing:-.035em;text-align:center;margin:0;max-width:800px}@media(min-width:768px){.title:where(.astro-7vszemnk){font-size:3.5rem}}@media(min-width:960px){.title:where(.astro-7vszemnk){font-size:4.5rem}}.form-link:where(.astro-7vszemnk){font:inherit;color:var(--accent-color);background:rgba(var(--accent-color-rgb),.08);border:1px solid rgba(var(--accent-color-rgb),.25);padding:.05rem .4rem;border-radius:6px;cursor:pointer;transition:background .15s ease,color .15s ease}.form-link:where(.astro-7vszemnk):hover{background:rgba(var(--accent-color-rgb),.16);color:var(--text-color)}.frameworks:where(.astro-7vszemnk){list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.framework:where(.astro-7vszemnk){display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;font-size:.9375rem;font-weight:600;letter-spacing:-.01em;background:#94a3b80d;border:1px solid rgba(148,163,184,.18);color:var(--text-muted);cursor:pointer;transition:transform .15s ease,background .2s,border-color .2s,box-shadow .2s,color .2s;font-family:inherit}.framework:where(.astro-7vszemnk) svg:where(.astro-7vszemnk){flex:0 0 auto;opacity:.7;transition:opacity .2s}.framework:where(.astro-7vszemnk):hover{transform:translateY(-1px);color:var(--text-color)}.framework:where(.astro-7vszemnk):hover svg:where(.astro-7vszemnk){opacity:1}.framework:where(.astro-7vszemnk).is-active{transform:scale(1.06);color:#fff}.framework:where(.astro-7vszemnk).is-active svg:where(.astro-7vszemnk){opacity:1}.framework--react:where(.astro-7vszemnk).is-active{background:#61dafb;color:#0a1530;box-shadow:0 0 0 4px #61dafb38,0 8px 22px #61dafb59}.framework--angular:where(.astro-7vszemnk).is-active{background:#dd0031;box-shadow:0 0 0 4px #dd003138,0 8px 22px #dd003159}.framework--lit:where(.astro-7vszemnk).is-active{background:#324fff;box-shadow:0 0 0 4px #324fff38,0 8px 22px #324fff59}.framework--js:where(.astro-7vszemnk).is-active{background:#f7df1e;color:#0a1530;box-shadow:0 0 0 4px #f7df1e47,0 8px 22px #f7df1e66}.framework--js:where(.astro-7vszemnk).is-active .js-rect:where(.astro-7vszemnk){fill:#0a1530}.framework--js:where(.astro-7vszemnk).is-active .js-text:where(.astro-7vszemnk){fill:#f7df1e}.versus:where(.astro-7vszemnk){width:100%;max-width:880px;display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:.875rem}@media(max-width:880px){.versus:where(.astro-7vszemnk){grid-template-columns:1fr;gap:.75rem}}.versus:where(.astro-7vszemnk)[data-stack=react-rhf]{--stack-color: 97, 218, 251}.versus:where(.astro-7vszemnk)[data-stack=angular]{--stack-color: 221, 0, 49}.versus:where(.astro-7vszemnk)[data-stack=lit]{--stack-color: 50, 79, 255}.versus:where(.astro-7vszemnk)[data-stack=vanilla]{--stack-color: 247, 223, 30}.col:where(.astro-7vszemnk){--col-bg: linear-gradient(180deg, var(--bg-color) 0%, var(--bg-surface) 100%);--col-head-bg: rgba(148, 163, 184, .08);position:relative;border-radius:14px;background:var(--col-bg);border:1px solid var(--border-color);overflow:hidden;display:flex;flex-direction:column;color:var(--text-color);transition:border-color .25s ease,box-shadow .25s ease}html.dark .col:where(.astro-7vszemnk){--col-bg: linear-gradient(180deg, #0b1020 0%, #050813 100%);--col-head-bg: rgba(2, 6, 23, .55)}.col-stack:where(.astro-7vszemnk){border-color:rgba(var(--stack-color, 148, 163, 184),.3);box-shadow:0 0 0 1px rgba(var(--stack-color, 148, 163, 184),.08),0 8px 22px -14px #0000002e;opacity:.94}.col-golem:where(.astro-7vszemnk){border-color:#a855f780;box-shadow:0 0 0 1px #a855f73d,0 30px 70px -18px #a855f759,0 12px 28px -12px #3b82f62e}.col-head:where(.astro-7vszemnk){padding:.75rem 1rem;border-bottom:1px solid rgba(148,163,184,.12);background:var(--col-head-bg);text-align:center;min-height:4rem;display:flex;align-items:center;justify-content:center}.col-stack:where(.astro-7vszemnk) .col-head:where(.astro-7vszemnk){background:linear-gradient(180deg,rgba(var(--stack-color, 148, 163, 184),.16),var(--col-head-bg) 80%);border-bottom-color:rgba(var(--stack-color, 148, 163, 184),.25)}.col-golem:where(.astro-7vszemnk) .col-head:where(.astro-7vszemnk){background:linear-gradient(180deg,rgba(168,85,247,.16),var(--col-head-bg) 80%);gap:.5rem}.col-title:where(.astro-7vszemnk){margin:0;font-size:1.125rem;font-weight:700;letter-spacing:-.01em}@media(min-width:768px){.col-title:where(.astro-7vszemnk){font-size:1.25rem}}.col-logo:where(.astro-7vszemnk){height:2rem;width:auto;display:block}@media(min-width:768px){.col-logo:where(.astro-7vszemnk){height:2.25rem}}.col-body:where(.astro-7vszemnk){flex:1;padding:1.25rem 1rem 1rem;display:flex;flex-direction:column;gap:1rem}.metrics:where(.astro-7vszemnk){display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;align-items:end}.metric:where(.astro-7vszemnk){display:flex;flex-direction:column;align-items:center;text-align:center;gap:.25rem}.metric-value:where(.astro-7vszemnk){font-size:2rem;font-weight:800;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}@media(min-width:768px){.metric-value:where(.astro-7vszemnk){font-size:2.5rem}}.metric-value:where(.astro-7vszemnk).danger{color:#f87171}.metric-value:where(.astro-7vszemnk).brand{background:linear-gradient(135deg,#3b82f6,#8b5cf6,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.metric-label:where(.astro-7vszemnk){font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.oob-list:where(.astro-7vszemnk){list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.oob-item:where(.astro-7vszemnk){display:flex;align-items:center;gap:.65rem;font-size:.875rem;line-height:1.4}.oob-item:where(.astro-7vszemnk) .oob-label:where(.astro-7vszemnk) code:where(.astro-7vszemnk){font-family:Fira Code,ui-monospace,monospace;font-size:.875em;padding:.05em .3em;border-radius:4px;background:#94a3b81a;color:inherit}.oob-mark:where(.astro-7vszemnk){flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.oob-no:where(.astro-7vszemnk){color:var(--text-muted)}.oob-no:where(.astro-7vszemnk) .oob-mark:where(.astro-7vszemnk){background:#f871711f;color:#f87171;border:1px solid rgba(248,113,113,.3)}.oob-yes:where(.astro-7vszemnk){color:var(--text-color)}.oob-yes:where(.astro-7vszemnk) .oob-mark:where(.astro-7vszemnk){background:linear-gradient(135deg,#3b82f6,#a855f7);color:#fff;border:1px solid rgba(168,85,247,.4);box-shadow:0 0 0 3px #a855f71f}.oob-more:where(.astro-7vszemnk){margin:0;font-size:.8125rem;color:var(--text-muted);font-style:italic}.oob-more:where(.astro-7vszemnk).oob-more-brand{color:#8b5cf6}html.dark .oob-more:where(.astro-7vszemnk).oob-more-brand{color:#c4b5fd}.show-code-btn:where(.astro-7vszemnk){margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .875rem;font-size:.8125rem;font-weight:600;color:var(--text-color);background:#94a3b814;border:1px solid rgba(148,163,184,.25);border-radius:8px;font-family:inherit;cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease}.show-code-btn:where(.astro-7vszemnk):hover{background:#94a3b82e;transform:translateY(-1px)}.show-code-btn:where(.astro-7vszemnk) svg:where(.astro-7vszemnk){opacity:.7;transition:opacity .15s ease}.show-code-btn:where(.astro-7vszemnk):hover svg:where(.astro-7vszemnk){opacity:1}.show-code-brand:where(.astro-7vszemnk){color:#6d28d9;background:#a855f71a;border-color:#a855f759}.show-code-brand:where(.astro-7vszemnk):hover{background:#a855f72e}html.dark .show-code-brand:where(.astro-7vszemnk){color:#ddd6fe}html.dark .show-code-brand:where(.astro-7vszemnk):hover{color:#fff}.compare-disclaimer:where(.astro-7vszemnk){width:100%;max-width:60rem;margin:0;padding-top:.25rem;font-size:.875rem;line-height:1.55;color:var(--text-muted);text-align:center}.scroll-hint:where(.astro-7vszemnk){color:var(--text-muted);font-size:.78rem;margin-left:.25rem;font-style:normal}.vs-cell:where(.astro-7vszemnk){align-self:stretch;justify-self:center;display:flex;align-items:center;justify-content:center}@media(max-width:880px){.vs-cell:where(.astro-7vszemnk){align-self:center;padding:.25rem 0}}.vs-pill:where(.astro-7vszemnk){position:relative;display:inline-block;font-family:Inter,system-ui,sans-serif;font-size:clamp(2rem,4vw,2.75rem);font-weight:900;font-style:italic;letter-spacing:-.03em;line-height:.9;text-transform:uppercase;background:linear-gradient(135deg,#3b82f6,#8b5cf6,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;user-select:none;pointer-events:none;padding:0 .5rem}.vs-pill:where(.astro-7vszemnk):before{content:"";position:absolute;inset:-50% -25%;background:radial-gradient(ellipse,rgba(168,85,247,.18) 0%,transparent 65%);z-index:-1;pointer-events:none}.spec-dialog:where(.astro-7vszemnk){border:none;border-radius:18px;padding:0;width:min(720px,100% - 2rem);max-width:720px;background:var(--bg-color);color:var(--text-color);box-shadow:0 30px 60px -20px #0006,0 0 0 1px #a855f733}.spec-dialog:where(.astro-7vszemnk)::backdrop{background:#0206178c;backdrop-filter:blur(4px)}.dialog-shell:where(.astro-7vszemnk){display:flex;flex-direction:column}.dialog-head:where(.astro-7vszemnk){display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.dialog-head:where(.astro-7vszemnk) h3:where(.astro-7vszemnk){margin:0;font-size:1.0625rem;font-weight:700}.dialog-close:where(.astro-7vszemnk){width:2rem;height:2rem;border-radius:50%;border:none;background:#94a3b81f;color:var(--text-color);font-size:1.25rem;line-height:1;cursor:pointer;transition:background .15s ease;font-family:inherit}.dialog-close:where(.astro-7vszemnk):hover{background:#94a3b83d}.dialog-body:where(.astro-7vszemnk){padding:0;background:var(--bg-color);min-height:30rem}.form-iframe:where(.astro-7vszemnk){width:100%;border:0;display:block;min-height:30rem;background:var(--bg-color)}.code-dialog:where(.astro-7vszemnk){border:none;border-radius:18px;padding:0;width:min(840px,100% - 2rem);max-width:840px;background:var(--bg-color);color:var(--text-color);box-shadow:0 30px 60px -20px #0006,0 0 0 1px #94a3b833}.code-dialog:where(.astro-7vszemnk)::backdrop{background:#0206178c;backdrop-filter:blur(4px)}.code-dialog-body:where(.astro-7vszemnk){padding:0;background:#020617;max-height:75vh;overflow:auto}.code-dialog-body:where(.astro-7vszemnk) .code-frame:where(.astro-7vszemnk)[hidden]{display:none}.code-dialog-body:where(.astro-7vszemnk) pre{margin:0;padding:1.25rem 1.5rem;font-size:.85rem;line-height:1.6;background:transparent!important}.code-dialog-body:where(.astro-7vszemnk) code{font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.compare-disclaimer:where(.astro-7vszemnk) .form-link:where(.astro-7vszemnk){display:inline-flex;align-items:center;gap:.25rem;margin-left:.4rem;padding:.15rem .55rem;font-weight:600}.cta-group:where(.astro-7vszemnk){display:flex;gap:.75rem;margin-top:.25rem;flex-wrap:wrap;justify-content:center}.btn:where(.astro-7vszemnk){display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:10px;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);font-size:.9375rem;border:none;cursor:pointer}.btn:where(.astro-7vszemnk).btn-primary{background:linear-gradient(135deg,var(--accent-color) 0%,#7c3aed 100%);color:#fff;box-shadow:0 2px 8px rgba(var(--accent-color-rgb),.3)}.btn:where(.astro-7vszemnk).btn-primary:hover{box-shadow:0 4px 16px rgba(var(--accent-color-rgb),.4);transform:translateY(-1px)}.btn:where(.astro-7vszemnk).btn-secondary{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-color)}.btn:where(.astro-7vszemnk).btn-secondary:hover{background:var(--border-color);transform:translateY(-1px)}.paradigm:where(.astro-pdkzn267){padding:4rem 0;overflow:hidden}.container:where(.astro-pdkzn267){display:flex;flex-direction:column}.content:where(.astro-pdkzn267){margin-bottom:1.25rem}.visual:where(.astro-pdkzn267){overflow:hidden;border-radius:16px;border:1px solid var(--border-color);box-shadow:0 4px 24px #0000000f}html.dark .visual:where(.astro-pdkzn267){box-shadow:0 4px 24px #0000004d}h2:where(.astro-pdkzn267){font-size:2rem;font-weight:800;line-height:1.08;margin:0 0 .5rem;letter-spacing:-.03em}@media(min-width:768px){h2:where(.astro-pdkzn267){font-size:3rem}}.subtitle:where(.astro-pdkzn267){font-size:1.125rem;color:var(--text-muted);margin:0;line-height:1.6;max-width:60rem}@media(min-width:768px){.subtitle:where(.astro-pdkzn267){font-size:1.25rem;line-height:1.55}}.tokens-section:where(.astro-ys23qz3s){padding:1.5rem 0 4rem;overflow:hidden}.tokens-section:where(.astro-ys23qz3s)[data-stack=react-rhf]{--stack-color: 97, 218, 251}.tokens-section:where(.astro-ys23qz3s)[data-stack=angular]{--stack-color: 221, 0, 49}.tokens-section:where(.astro-ys23qz3s)[data-stack=lit]{--stack-color: 50, 79, 255}.tokens-section:where(.astro-ys23qz3s)[data-stack=vanilla]{--stack-color: 247, 223, 30}.container:where(.astro-ys23qz3s){display:flex;flex-direction:column}h2:where(.astro-ys23qz3s){font-size:2rem;font-weight:800;line-height:1.08;margin:0 0 .5rem;letter-spacing:-.03em}@media(min-width:768px){h2:where(.astro-ys23qz3s){font-size:3rem}}.subtitle:where(.astro-ys23qz3s){font-size:1.125rem;color:var(--text-muted);margin:0 0 2rem;line-height:1.6;max-width:60rem}.subtitle:where(.astro-ys23qz3s) strong:where(.astro-ys23qz3s){color:var(--text-color);font-weight:700}.subtitle:where(.astro-ys23qz3s) code:where(.astro-ys23qz3s){font-family:var(--__sl-font-mono);font-size:.95em;background:var(--bg-surface);border:1px solid var(--border-color);padding:.05rem .4rem;border-radius:4px;color:var(--text-color)}@media(min-width:768px){.subtitle:where(.astro-ys23qz3s){font-size:1.25rem;line-height:1.55}}.cards-grid:where(.astro-ys23qz3s){display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.card:where(.astro-ys23qz3s){text-align:center;padding:2.5rem 1.5rem;border-radius:16px;border:1px solid var(--border-color);background:var(--bg-color);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .3s ease}.card--stack:where(.astro-ys23qz3s){border-color:rgba(var(--stack-color, 248, 113, 113),.32)}.card:where(.astro-ys23qz3s):hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}html.dark .card:where(.astro-ys23qz3s):hover{box-shadow:0 8px 24px #0000004d}.card-label:where(.astro-ys23qz3s){font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 .75rem;transition:color .3s ease}.card--stack:where(.astro-ys23qz3s) .card-label:where(.astro-ys23qz3s){color:rgba(var(--stack-color, 100, 116, 139),1)}.card-value-container:where(.astro-ys23qz3s){font-size:3.75rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.counter:where(.astro-ys23qz3s){display:inline-block;transition:color .3s ease}.counter:where(.astro-ys23qz3s).danger{color:#f87171}.counter:where(.astro-ys23qz3s).brand{background:linear-gradient(135deg,#3b82f6,#8b5cf6,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.suffix:where(.astro-ys23qz3s){font-size:1.5rem;margin-left:.4rem;color:var(--text-muted);font-weight:600}.card-sub:where(.astro-ys23qz3s){margin:.85rem 0 0;font-size:.8125rem;color:var(--text-muted);line-height:1.5}.card-sub:where(.astro-ys23qz3s) code:where(.astro-ys23qz3s){font-family:var(--__sl-font-mono);font-size:.75rem;background:var(--bg-surface);border:1px solid var(--border-color);padding:.05rem .4rem;border-radius:4px}.delta:where(.astro-ys23qz3s){color:#22c55e;font-weight:700}@media(max-width:640px){.card-value-container:where(.astro-ys23qz3s){font-size:2.75rem}}.freedom:where(.astro-6ofm44dr){padding:1.5rem 0 4rem;overflow:hidden}.container:where(.astro-6ofm44dr){display:flex;flex-direction:column}.content:where(.astro-6ofm44dr){margin-bottom:1.25rem}.visual:where(.astro-6ofm44dr){overflow:hidden;border-radius:16px;border:1px solid var(--border-color);box-shadow:0 4px 24px #0000000f}html.dark .visual:where(.astro-6ofm44dr){box-shadow:0 4px 24px #0000004d}h2:where(.astro-6ofm44dr){font-size:2rem;font-weight:800;line-height:1.08;margin:0 0 .5rem;letter-spacing:-.03em}@media(min-width:768px){h2:where(.astro-6ofm44dr){font-size:3rem}}.subtitle:where(.astro-6ofm44dr){font-size:1.125rem;color:var(--text-muted);margin:0;line-height:1.6;max-width:60rem}@media(min-width:768px){.subtitle:where(.astro-6ofm44dr){font-size:1.25rem;line-height:1.55}}.serializable:where(.astro-m4eujfv6){padding:1.5rem 0 4rem;overflow:hidden}.container:where(.astro-m4eujfv6){display:flex;flex-direction:column}.content:where(.astro-m4eujfv6){margin-bottom:1.25rem}.visual:where(.astro-m4eujfv6){overflow:hidden;border-radius:16px;border:1px solid var(--border-color);box-shadow:0 4px 24px #0000000f}html.dark .visual:where(.astro-m4eujfv6){box-shadow:0 4px 24px #0000004d}h2:where(.astro-m4eujfv6){font-size:2rem;font-weight:800;line-height:1.08;margin:0 0 .5rem;letter-spacing:-.03em}@media(min-width:768px){h2:where(.astro-m4eujfv6){font-size:3rem}}.subtitle:where(.astro-m4eujfv6){font-size:1.125rem;color:var(--text-muted);margin:0;line-height:1.6;max-width:60rem}@media(min-width:768px){.subtitle:where(.astro-m4eujfv6){font-size:1.25rem;line-height:1.55}}.subtitle:where(.astro-m4eujfv6) code:where(.astro-m4eujfv6){font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92em;padding:.06em .4em;border-radius:4px;background:#a855f71f;border:1px solid rgba(168,85,247,.25);color:var(--text-color)}.theming:where(.astro-olyx5c6a){padding:1.5rem 0 4rem;overflow:hidden}.container:where(.astro-olyx5c6a){display:flex;flex-direction:column}.content:where(.astro-olyx5c6a){margin-bottom:1.25rem}.visual:where(.astro-olyx5c6a){overflow:hidden;border-radius:16px;border:1px solid var(--border-color);box-shadow:0 4px 24px #0000000f}html.dark .visual:where(.astro-olyx5c6a){box-shadow:0 4px 24px #0000004d}h2:where(.astro-olyx5c6a){font-size:2rem;font-weight:800;line-height:1.08;margin:0 0 .5rem;letter-spacing:-.03em}@media(min-width:768px){h2:where(.astro-olyx5c6a){font-size:3rem}}.subtitle:where(.astro-olyx5c6a){font-size:1.125rem;color:var(--text-muted);margin:0;line-height:1.6;max-width:60rem}@media(min-width:768px){.subtitle:where(.astro-olyx5c6a){font-size:1.25rem;line-height:1.55}}.travel-section:where(.astro-ep33qoir){padding:1.5rem 0 4rem;overflow:hidden}.container:where(.astro-ep33qoir){display:flex;flex-direction:column}.content:where(.astro-ep33qoir){margin-bottom:2rem}h2:where(.astro-ep33qoir){font-size:2rem;font-weight:800;line-height:1.08;margin:0 0 .5rem;letter-spacing:-.03em}@media(min-width:768px){h2:where(.astro-ep33qoir){font-size:3rem}}.subtitle:where(.astro-ep33qoir){font-size:1.125rem;color:var(--text-muted);margin:0;line-height:1.6;max-width:60rem}@media(min-width:768px){.subtitle:where(.astro-ep33qoir){font-size:1.25rem;line-height:1.55}}.cards-grid:where(.astro-ep33qoir){display:grid;grid-template-columns:1fr;gap:1.25rem}@media(min-width:50rem){.cards-grid:where(.astro-ep33qoir){grid-template-columns:repeat(3,1fr)}}.card:where(.astro-ep33qoir){position:relative;padding:2rem 1.75rem;border-radius:16px;border:1px solid var(--border-color);background:var(--bg-color);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .3s ease}.card:where(.astro-ep33qoir):before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#a855f7);opacity:0;transition:opacity .3s ease}.card:where(.astro-ep33qoir):hover{transform:translateY(-3px);box-shadow:0 12px 32px #3b82f614;border-color:#8b5cf640}.card:where(.astro-ep33qoir):hover:before{opacity:1}html.dark .card:where(.astro-ep33qoir):hover{box-shadow:0 12px 32px #00000059}.eyebrow:where(.astro-ep33qoir){font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;margin:0 0 1rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-title:where(.astro-ep33qoir){font-size:1.25rem;font-weight:700;margin:0 0 .65rem;letter-spacing:-.01em;color:var(--text-color);line-height:1.25}.card-body:where(.astro-ep33qoir){font-size:.9375rem;color:var(--text-muted);line-height:1.6;margin:0;flex-grow:1}.out-of-box-section:where(.astro-jlknrhbk){padding:1.5rem 0 4rem;overflow:hidden}.container:where(.astro-jlknrhbk){display:flex;flex-direction:column}.content:where(.astro-jlknrhbk){margin-bottom:2rem}h2:where(.astro-jlknrhbk){font-size:2rem;font-weight:800;line-height:1.08;margin:0 0 .5rem;letter-spacing:-.03em}@media(min-width:768px){h2:where(.astro-jlknrhbk){font-size:3rem}}.subtitle:where(.astro-jlknrhbk){font-size:1.125rem;color:var(--text-muted);margin:0;line-height:1.6;max-width:60rem}@media(min-width:768px){.subtitle:where(.astro-jlknrhbk){font-size:1.25rem;line-height:1.55}}.cards-grid:where(.astro-jlknrhbk){display:grid;grid-template-columns:1fr;gap:1.25rem}@media(min-width:50rem){.cards-grid:where(.astro-jlknrhbk){grid-template-columns:repeat(3,1fr)}}.card:where(.astro-jlknrhbk){position:relative;padding:2rem 1.75rem;border-radius:16px;border:1px solid var(--border-color);background:var(--bg-color);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .3s ease}.card:where(.astro-jlknrhbk):before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#a855f7);opacity:0;transition:opacity .3s ease}.card:where(.astro-jlknrhbk):hover{transform:translateY(-3px);box-shadow:0 12px 32px #3b82f614;border-color:#8b5cf640}.card:where(.astro-jlknrhbk):hover:before{opacity:1}html.dark .card:where(.astro-jlknrhbk):hover{box-shadow:0 12px 32px #00000059}.eyebrow:where(.astro-jlknrhbk){font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;margin:0 0 1rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-title:where(.astro-jlknrhbk){font-size:1.25rem;font-weight:700;margin:0 0 .65rem;letter-spacing:-.01em;color:var(--text-color);line-height:1.25}.card-body:where(.astro-jlknrhbk){font-size:.9375rem;color:var(--text-muted);line-height:1.6;margin:0;flex-grow:1}.metrics-section:where(.astro-nw5cqbtu){padding:1.5rem 0 4rem;overflow:hidden}.container:where(.astro-nw5cqbtu){display:flex;flex-direction:column}.content:where(.astro-nw5cqbtu){margin-bottom:2rem}h2:where(.astro-nw5cqbtu){font-size:2rem;font-weight:800;line-height:1.08;margin:0 0 .5rem;letter-spacing:-.03em}@media(min-width:768px){h2:where(.astro-nw5cqbtu){font-size:3rem}}.subtitle:where(.astro-nw5cqbtu){font-size:1.125rem;color:var(--text-muted);margin:0;line-height:1.6;max-width:60rem}@media(min-width:768px){.subtitle:where(.astro-nw5cqbtu){font-size:1.25rem;line-height:1.55}}.metrics-grid:where(.astro-nw5cqbtu){display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem}.metric-card:where(.astro-nw5cqbtu){text-align:center;padding:2rem 1.5rem;border-radius:16px;border:1px solid var(--border-color);background:var(--bg-color);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.metric-card:where(.astro-nw5cqbtu):hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}html.dark .metric-card:where(.astro-nw5cqbtu):hover{box-shadow:0 8px 24px #0000004d}.metric-label:where(.astro-nw5cqbtu){font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 .75rem}.metric-value-container:where(.astro-nw5cqbtu){font-size:3.5rem;font-weight:800;background:linear-gradient(135deg,#3b82f6,#8b5cf6,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.suffix:where(.astro-nw5cqbtu){font-size:1.5rem;margin-left:.1rem}.metric-sub:where(.astro-nw5cqbtu){margin:.75rem 0 0;font-size:.8125rem;color:var(--text-muted)}@media(max-width:640px){.metric-value-container:where(.astro-nw5cqbtu){font-size:2.5rem}}.cta-section:where(.astro-6ce7k5uq){padding:6rem 1.5rem;display:flex;justify-content:center}@media(min-width:768px){.cta-section:where(.astro-6ce7k5uq){padding:8rem 2rem}}.cta-card:where(.astro-6ce7k5uq){background:linear-gradient(145deg,#3b82f6,#7c3aed,#a855f7);padding:4rem 2rem;border-radius:20px;text-align:center;max-width:900px;width:100%;box-shadow:0 20px 40px #3b82f626,0 8px 16px #7c3aed1a;position:relative;overflow:hidden}.cta-card:where(.astro-6ce7k5uq):before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 0%,rgba(255,255,255,.12) 0%,transparent 60%);pointer-events:none}.cta-content:where(.astro-6ce7k5uq){position:relative}.cta-content:where(.astro-6ce7k5uq) h2:where(.astro-6ce7k5uq){font-size:clamp(2rem,5vw,3rem);font-weight:800;margin:1.25rem 0;line-height:1.1;color:#fff;letter-spacing:-.03em}.cta-content:where(.astro-6ce7k5uq) p:where(.astro-6ce7k5uq){font-size:1.125rem;color:#ffffffe0;max-width:560px;margin:0 auto 2.5rem;line-height:1.7}.cta-buttons:where(.astro-6ce7k5uq){display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;position:relative}.btn:where(.astro-6ce7k5uq){display:inline-flex;align-items:center;gap:.625rem;padding:.875rem 1.75rem;border-radius:12px;font-weight:600;font-size:1rem;transition:all .2s cubic-bezier(.4,0,.2,1);text-decoration:none}.btn-docs:where(.astro-6ce7k5uq){color:#0f172a;background:#fff;box-shadow:0 2px 8px #0000001a}.btn-docs:where(.astro-6ce7k5uq):hover{background:#f8fafc;transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.btn-github:where(.astro-6ce7k5uq){background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(4px)}.btn-github:where(.astro-6ce7k5uq):hover{background:#fff3;transform:translateY(-2px)}@media(max-width:640px){.cta-card:where(.astro-6ce7k5uq){padding:3rem 1.5rem}.cta-buttons:where(.astro-6ce7k5uq){flex-direction:column}.btn:where(.astro-6ce7k5uq){justify-content:center}}:root{--ec-codeBg: #020617;--ec-brdWd: 0;--ec-frm-edBg: transparent;--bg-color: #ffffff;--bg-surface: #f8fafc;--text-color: #0f172a;--text-muted: #64748b;--secondary-color: #a855f7;--accent-color: #3b82f6;--accent-color-rgb: 59, 130, 246;--border-color: #e2e8f0;--sl-color-white: hsl(0, 0%, 100%);--sl-color-gray-1: hsl(224, 20%, 94%);--sl-color-gray-2: hsl(224, 6%, 77%);--sl-color-gray-3: hsl(224, 6%, 56%);--sl-color-gray-4: hsl(224, 7%, 36%);--sl-color-gray-5: hsl(224, 10%, 23%);--sl-color-gray-6: hsl(224, 14%, 16%);--sl-color-black: hsl(224, 10%, 10%);--sl-hue-orange: 41;--sl-color-orange-low: hsl(var(--sl-hue-orange), 39%, 22%);--sl-color-orange: hsl(var(--sl-hue-orange), 82%, 63%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 82%, 87%);--sl-hue-green: 101;--sl-color-green-low: hsl(var(--sl-hue-green), 39%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 82%, 63%);--sl-color-green-high: hsl(var(--sl-hue-green), 82%, 80%);--sl-hue-blue: 234;--sl-color-blue-low: hsl(var(--sl-hue-blue), 54%, 20%);--sl-color-blue: hsl(var(--sl-hue-blue), 100%, 60%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 100%, 87%);--sl-hue-purple: 281;--sl-color-purple-low: hsl(var(--sl-hue-purple), 39%, 22%);--sl-color-purple: hsl(var(--sl-hue-purple), 82%, 63%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 82%, 89%);--sl-hue-red: 339;--sl-color-red-low: hsl(var(--sl-hue-red), 39%, 22%);--sl-color-red: hsl(var(--sl-hue-red), 82%, 63%);--sl-color-red-high: hsl(var(--sl-hue-red), 82%, 87%);--sl-color-accent-low: hsl(224, 54%, 20%);--sl-color-accent: hsl(224, 100%, 60%);--sl-color-accent-high: hsl(224, 100%, 85%);--sl-color-text: var(--sl-color-gray-2);--sl-color-text-accent: var(--sl-color-accent-high);--sl-color-text-invert: var(--sl-color-accent-low);--sl-color-bg: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-6);--sl-color-bg-sidebar: var(--sl-color-gray-6);--sl-color-bg-inline-code: var(--sl-color-gray-5);--sl-color-bg-accent: var(--sl-color-accent-high);--sl-color-hairline-light: var(--sl-color-gray-5);--sl-color-hairline: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-black);--sl-color-backdrop-overlay: hsla(223, 13%, 10%, .66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .12), 0px 2px 1px hsla(0, 0%, 0%, .24);--sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .08), 0px 5px 2px hsla(0, 0%, 0%, .08), 0px 3px 2px hsla(0, 0%, 0%, .12), 0px 1px 1px hsla(0, 0%, 0%, .15);--sl-shadow-lg: 0px 25px 7px hsla(0, 0%, 0%, .03), 0px 16px 6px hsla(0, 0%, 0%, .1), 0px 9px 5px hsla(223, 13%, 10%, .33), 0px 4px 4px hsla(0, 0%, 0%, .75), 0px 4px 2px hsla(0, 0%, 0%, .25);--sl-text-2xs: .75rem;--sl-text-xs: .8125rem;--sl-text-sm: .875rem;--sl-text-base: 1rem;--sl-text-lg: 1.125rem;--sl-text-xl: 1.25rem;--sl-text-2xl: 1.5rem;--sl-text-3xl: 1.8125rem;--sl-text-4xl: 2.1875rem;--sl-text-5xl: 2.625rem;--sl-text-6xl: 4rem;--sl-text-body: var(--sl-text-base);--sl-text-body-sm: var(--sl-text-xs);--sl-text-code: var(--sl-text-sm);--sl-text-code-sm: var(--sl-text-xs);--sl-text-h1: var(--sl-text-4xl);--sl-text-h2: var(--sl-text-3xl);--sl-text-h3: var(--sl-text-2xl);--sl-text-h4: var(--sl-text-xl);--sl-text-h5: var(--sl-text-lg);--sl-line-height: 1.75;--sl-line-height-headings: 1.2;--sl-font-system: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--sl-font-system-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--__sl-font: var(--sl-font, var(--sl-font-system)), var(--sl-font-system);--__sl-font-mono: var(--sl-font-mono, var(--sl-font-system-mono)), var(--sl-font-system-mono);--sl-nav-height: 3.5rem;--sl-nav-pad-x: 1rem;--sl-nav-pad-y: .75rem;--sl-mobile-toc-height: 3rem;--sl-sidebar-width: 18.75rem;--sl-sidebar-pad-x: 1rem;--sl-content-width: 45rem;--sl-content-pad-x: 1rem;--sl-content-gap-y: 1rem;--sl-main-pad: 0 0 3vh 0;--sl-menu-button-size: 2rem;--sl-nav-gap: var(--sl-content-pad-x);--sl-outline-offset-inside: -.1875rem;--sl-z-index-toc: 4;--sl-z-index-menu: 5;--sl-z-index-navbar: 10;--sl-z-index-skiplink: 20}:root[data-theme=light],[data-theme=light] ::backdrop{--sl-color-white: hsl(224, 10%, 10%);--sl-color-gray-1: hsl(224, 14%, 16%);--sl-color-gray-2: hsl(224, 10%, 23%);--sl-color-gray-3: hsl(224, 7%, 36%);--sl-color-gray-4: hsl(224, 6%, 56%);--sl-color-gray-5: hsl(224, 6%, 77%);--sl-color-gray-6: hsl(224, 20%, 94%);--sl-color-gray-7: hsl(224, 19%, 97%);--sl-color-black: hsl(0, 0%, 100%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 80%, 25%);--sl-color-orange: hsl(var(--sl-hue-orange), 90%, 60%);--sl-color-orange-low: hsl(var(--sl-hue-orange), 90%, 88%);--sl-color-green-high: hsl(var(--sl-hue-green), 80%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 90%, 46%);--sl-color-green-low: hsl(var(--sl-hue-green), 85%, 90%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 80%, 30%);--sl-color-blue: hsl(var(--sl-hue-blue), 90%, 60%);--sl-color-blue-low: hsl(var(--sl-hue-blue), 88%, 90%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 90%, 30%);--sl-color-purple: hsl(var(--sl-hue-purple), 90%, 60%);--sl-color-purple-low: hsl(var(--sl-hue-purple), 80%, 90%);--sl-color-red-high: hsl(var(--sl-hue-red), 80%, 30%);--sl-color-red: hsl(var(--sl-hue-red), 90%, 60%);--sl-color-red-low: hsl(var(--sl-hue-red), 80%, 90%);--sl-color-accent-high: hsl(234, 80%, 30%);--sl-color-accent: hsl(234, 90%, 60%);--sl-color-accent-low: hsl(234, 88%, 90%);--sl-color-text-accent: var(--sl-color-accent);--sl-color-text-invert: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-7);--sl-color-bg-sidebar: var(--sl-color-bg);--sl-color-bg-inline-code: var(--sl-color-gray-6);--sl-color-bg-accent: var(--sl-color-accent);--sl-color-hairline-light: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-gray-6);--sl-color-backdrop-overlay: hsla(225, 9%, 36%, .66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .06), 0px 2px 1px hsla(0, 0%, 0%, .06);--sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .03), 0px 5px 2px hsla(0, 0%, 0%, .03), 0px 3px 2px hsla(0, 0%, 0%, .06), 0px 1px 1px hsla(0, 0%, 0%, .06);--sl-shadow-lg: 0px 25px 7px rgba(0, 0, 0, .01), 0px 16px 6px hsla(0, 0%, 0%, .03), 0px 9px 5px hsla(223, 13%, 10%, .08), 0px 4px 4px hsla(0, 0%, 0%, .16), 0px 4px 2px hsla(0, 0%, 0%, .04)}:root[data-theme=light] .home-examples,[data-theme=light] ::backdrop .home-examples{width:50%;background-color:transparent}@media(min-width:50em){:root{--sl-nav-height: 4rem;--sl-nav-pad-x: 1.5rem;--sl-text-h1: var(--sl-text-5xl);--sl-text-h2: var(--sl-text-4xl);--sl-text-h3: var(--sl-text-3xl);--sl-text-h4: var(--sl-text-2xl)}}@media(min-width:72rem){:root{--sl-content-pad-x: 1.5rem;--sl-mobile-toc-height: 0rem}}.gradient-text{background:linear-gradient(135deg,#3b82f6,#8b5cf6,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}html.dark{--bg-color: #0a0c10;--bg-surface: #111318;--text-color: #f1f5f9;--text-muted: #94a3b8;--accent-color: #60a5fa;--accent-color-rgb: 96, 165, 250;--border-color: #1e293b}.section-label{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-color);background:rgba(var(--accent-color-rgb),.08);padding:.375rem 1rem;border-radius:100px;margin-bottom:1.25rem}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-color);color:var(--text-color);transition:background-color .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1200px;margin:0 auto;padding:0 1rem}starlight-tabs{border-radius:16px;overflow:hidden}starlight-tabs ul{margin-bottom:0}starlight-tabs div{margin-top:0}.landing-header{position:fixed;top:0;left:0;right:0;z-index:50;background:#ffffffb3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(226,232,240,.6)}.landing-header .container{display:flex;justify-content:space-between;align-items:center;height:4rem}.landing-header .logo{display:inline-flex;align-items:center;text-decoration:none;color:var(--text-color)}.landing-header .logo .logo-lockup{height:36px;width:auto;display:block}.landing-header nav{display:flex;align-items:center;gap:1.75rem}.landing-header nav a{color:var(--text-muted);text-decoration:none;font-weight:500;font-size:.9375rem;transition:color .2s}.landing-header nav a:hover{color:var(--text-color)}html.dark .landing-header{background:#0a0c10b3;border-bottom:1px solid rgba(30,41,59,.6)}.landing-footer{padding:5rem 0 2.5rem;border-top:1px solid var(--border-color);background:var(--bg-surface)}.landing-footer .footer-content{display:grid;grid-template-columns:2.5fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3.5rem}@media(max-width:768px){.landing-footer .footer-content{grid-template-columns:1fr 1fr;gap:2rem}}@media(max-width:480px){.landing-footer .footer-content{grid-template-columns:1fr}}.landing-footer .footer-col .footer-mark{height:36px;width:auto;display:block;margin:0 0 .75rem}.landing-footer .footer-col h3{font-size:1.35rem;font-weight:700;margin:0 0 .5rem;letter-spacing:-.02em}.landing-footer .footer-col h4{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin:0 0 1.25rem;color:var(--text-muted)}.landing-footer .footer-col p{color:var(--text-muted);line-height:1.6;font-size:.9375rem}.landing-footer .footer-col a{display:block;color:var(--text-muted);text-decoration:none;margin-bottom:.625rem;font-size:.9375rem;transition:color .2s}.landing-footer .footer-col a:hover{color:var(--accent-color)}.landing-footer .copyright{text-align:center;color:var(--text-muted);font-size:.8125rem;padding-top:2.5rem;border-top:1px solid var(--border-color)}.home-examples .expressive-code .frame pre{overflow-y:auto;background:var(--code-background)}
