.dev-root{--wy-canvas:#f4f4f4;--wy-sheet:#fff;--wy-well:#e8e8e8;--wy-ink:#111;--wy-muted:#636363;--wy-rule:#e5e7eb;--wy-rule-soft:#eff0f2;--wy-teal:#111;--wy-teal-deep:#111;--wy-teal-tint:#c7f5d9;--wy-clay:#00925a;--wy-green:#6ce0a2;--wy-card:#111;--wy-card-2:#1f1f1f;--wy-card-line:#303030;--al-org-bg:var(--wy-teal);--al-org-fg:var(--wy-sheet);--al-org-font:var(--wy-sans);--wy-display:var(--dev-cal), "Cal Sans", var(--dev-inter), Inter, sans-serif;--wy-sans:var(--dev-inter), Inter, ui-sans-serif, system-ui, sans-serif;--wy-mono:var(--dev-plex-mono), "IBM Plex Mono", ui-monospace, Menlo, monospace}@supports (color:lab(0% 0 0)){.dev-root{--wy-canvas:lab(96.1952% 0 0);--wy-sheet:lab(100% 0 0);--wy-well:lab(91.88% .0000298023 -.0000119209);--wy-ink:lab(5.0601% 0 0);--wy-muted:lab(42% 0 0);--wy-rule:lab(91.5774% -.154167 -2.19253);--wy-rule-soft:lab(94.7676% -.082463 -1.13574);--wy-teal:lab(5.0601% 0 0);--wy-teal-deep:lab(5.0601% 0 0);--wy-teal-tint:lab(92.6879% -19.1205 8.44845);--wy-clay:lab(53.1062% -46.3143 20.3672);--wy-green:lab(81.2781% -45.103 19.9921);--wy-card:lab(5.0601% 0 0);--wy-card-2:lab(11.84% 0 0);--wy-card-line:lab(19.96% -.0000149012 0)}}@media (min-width:768px){.dev-root .ei-step>span{font-size:1.25rem}.dev-root .ei-step i{width:1.75rem;height:1.75rem;font-size:.875rem}}.dev-root .hero-typed-caret{vertical-align:-.04em;background:currentColor;width:.055em;height:.78em;margin-left:.055em;animation:1.15s ease-in-out infinite hero-caret;display:inline-block}.dev-root .hero-typed[data-running=true] .hero-typed-caret{opacity:1;animation:none}.dark .dev-root.dev-root .al-tile{box-shadow:0 0 0 1px #ffffff29}.dev-root .rl .al-barctl{justify-content:flex-end;width:96px;display:flex}@media (max-width:720px){.dev-root .rl .al-barctl{width:auto}}.dev-root .al-vrow .lucide{width:14px;height:14px;color:var(--primary)}.dev-root :is(.dev-dirs,.dev-arch,.al-diagram) .lucide{flex:none;width:1.1em;height:1.1em}.dev-root :where(.dev-dirs,.dev-arch) small{font-size:inherit}.dev-root .rl .wy-org{font-family:var(--wy-sans)}.dev-root .rl.dev-demo{--rl-claude:var(--rl-fg)}.dev-root .rl .dev-pub-preview{background:var(--wy-sheet);color:var(--wy-ink);font-family:var(--wy-sans);flex-direction:column;justify-content:center;gap:6px;padding:0 26px;display:flex}.dev-root .rl .dev-pub-title{letter-spacing:-.02em;font-size:34px;font-weight:700;line-height:1}.dev-root .rl .dev-pub-lede{color:var(--wy-muted);font-size:14px}.dev-root .rl .wy-doc{background:var(--wy-canvas);color:var(--wy-ink);font-family:var(--wy-sans);place-items:center;display:grid;position:absolute;inset:0}.dev-root .wy-brand{font-family:var(--wy-display);letter-spacing:-.01em;color:var(--wy-ink);align-items:center;gap:.45em;display:inline-flex}.dev-root .wy-brand i{background:var(--wy-green);border-radius:.25em;width:.8em;height:.8em}.dev-root .wy-kicker{font-family:var(--wy-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--wy-muted);font-size:13px}.dev-root .rl .wy-proto{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:44px;width:100%;padding:0 48px 0 64px;display:grid}.dev-root .rl .wy-proto-copy{justify-items:start;gap:14px;display:grid}.dev-root .rl .wy-proto-copy .wy-brand{margin-bottom:18px;font-size:22px}.dev-root .rl .wy-h{font-family:var(--wy-display);letter-spacing:-.01em;white-space:nowrap;font-size:50px;font-weight:400;line-height:1.02;position:relative}.dev-root .rl .wy-h .hl-caret{background:var(--wy-ink)}.dev-root .rl .wy-h.retyping .hl-caret{visibility:visible}.dev-root .rl .wy-p{max-width:21em;color:var(--wy-muted);font-size:19px;line-height:1.45}.dev-root .rl .wy-doc .bw{font-size:15px;box-shadow:0 30px 60px -30px #0000008c}.dev-root .rl .bw-times .note{top:4px;left:-10px}.dev-root .rl .bw-times .bubble{top:18px;left:auto;right:16px}.dev-root .rl .bw-tz-wrap{opacity:0;transition:opacity .35s}.dev-root .rl .bw-tz-wrap.on{opacity:1;animation:1.6s ease-out rl-new}.dev-root .rl .dev-pub-preview{background:var(--wy-canvas);place-items:center;display:grid;overflow:hidden}.dev-root .rl .dev-pub-scale{zoom:.46}@media (prefers-reduced-motion:reduce){.dev-root .rl .bw-tz-wrap{transition:none}.dev-root .rl .bw-tz-wrap.on{animation:none}}.dev-root.dev-root .bw{border:1px solid var(--wy-card-line);background:var(--wy-card);color:#fff;color:lab(100% 0 0);width:max-content;font-family:var(--wy-sans);border-radius:1.1em;font-size:13px;line-height:1.35;display:grid}.dev-root.dev-root .bw .lucide{flex:none;width:1em;height:1em}.dev-root.dev-root .bw--full{grid-template-columns:11em 17em 9.5em}.dev-root.dev-root .bw-host{border-right:1px solid var(--wy-card-line);align-content:start;gap:.35em;padding:1.3em;display:grid}.dev-root.dev-root .bw-av{background:linear-gradient(135deg, var(--wy-green), #00838a);width:2.4em;height:2.4em;color:var(--wy-card);border-radius:50%;place-items:center;margin-bottom:.4em;font-size:.85em;font-weight:700;display:grid}@supports (color:lab(0% 0 0)){.dev-root.dev-root .bw-av{background:linear-gradient(135deg, var(--wy-green), lab(48.9475% -37.3648 -15.2805))}}.dev-root.dev-root .bw-host small{color:#9e9e9e;color:lab(65.2% 0 0);font-size:.85em}.dev-root.dev-root .bw-host b{font-family:var(--wy-display);margin-bottom:.3em;font-size:1.45em;font-weight:400;line-height:1.1}.dev-root.dev-root .bw-meta{color:#b7b7b7;color:lab(74.48% -.0000298023 0);align-items:center;gap:.45em;font-size:.9em;display:flex}.dev-root.dev-root .bw-month{padding:1.3em}.dev-root.dev-root .bw-month-head{justify-content:space-between;align-items:center;margin-bottom:.9em;display:flex}.dev-root.dev-root .bw-month-head b{font-family:var(--wy-display);font-size:1.1em;font-weight:400}.dev-root.dev-root .bw-month-head b span{color:gray;color:lab(53.6% 0 0)}.dev-root.dev-root .bw-arrows{color:#9e9e9e;color:lab(65.2% 0 0);gap:.6em;display:flex}.dev-root.dev-root .bw-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:.3em;display:grid}.dev-root.dev-root .bw-grid small{letter-spacing:.06em;color:gray;color:lab(53.6% 0 0);font-size:.72em}.dev-root.dev-root .bw-grid i{aspect-ratio:1;color:#555;color:lab(36.2% 0 .00000596046);border-radius:.45em;place-items:center;font-size:.85em;font-style:normal;display:grid}.dev-root.dev-root .bw-grid i.open{background:var(--wy-card-2);color:#fff;color:lab(100% 0 0)}.dev-root.dev-root .bw-grid i.on{color:var(--wy-card);background:#fff;background:lab(100% 0 0);font-weight:700}.dev-root.dev-root .bw-times{align-content:start;gap:.5em;padding:1.3em 1.1em;display:grid;position:relative}.dev-root.dev-root .bw--full .bw-times{border-left:1px solid var(--wy-card-line)}.dev-root.dev-root .bw-times-head b{font-family:var(--wy-display);font-size:1.1em;font-weight:400}.dev-root.dev-root .bw-times-head b span{color:gray;color:lab(53.6% 0 0)}.dev-root.dev-root .bw-slot{border:1px solid var(--wy-card-line);text-align:center;border-radius:.6em;padding:.55em .8em;font-weight:600}.dev-root.dev-root .bw-slot.on{color:var(--wy-card);background:#fff;background:lab(100% 0 0);border-color:#fff;border-color:lab(100% 0 0)}.dev-root.dev-root .bw-tz{background:color-mix(in srgb, var(--wy-green) 18%, transparent);color:var(--wy-green);border-radius:999px;align-items:center;gap:.4em;padding:.25em .6em;font-size:.8em;font-weight:600;display:inline-flex}.dev-root.dev-root .bw-form{gap:.5em;padding:0 1.3em 1.3em;display:grid}.dev-root.dev-root .bw-field{border:1px solid var(--wy-card-line);background:var(--wy-card-2);color:gray;color:lab(53.6% 0 0);border-radius:.6em;align-items:center;gap:.5em;padding:.55em .75em;display:flex}.dev-root.dev-root .bw-field--on{color:#fff;color:lab(100% 0 0);font-weight:600}.dev-root.dev-root .bw-cta{color:var(--wy-card);font-family:var(--wy-display);text-align:center;background:#fff;background:lab(100% 0 0);border-radius:999px;margin-top:.3em;padding:.6em}.dev-root.dev-root :is(.bw--calendar,.bw--times,.bw--form) .bw-host{border-right:0;padding-bottom:.4em}.dev-root .dev-dirs{container:dev-dirs/inline-size}.dev-root .wy-page{background:var(--wy-sheet);color:var(--wy-ink);font-family:var(--wy-sans);font-variant-numeric:tabular-nums;padding:28px 32px 30px;font-size:14px;line-height:1.45}.dev-root .wy-strip{border-bottom:2px solid var(--wy-ink);font-family:var(--wy-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--wy-muted);align-items:baseline;gap:16px;padding-bottom:8px;font-size:10.5px;display:flex}.dev-root .wy-strip .wy-brand{font-family:var(--wy-sans);letter-spacing:-.01em;text-transform:none;font-size:15px}.dev-root .wy-page-title{letter-spacing:-.02em;margin:18px 0 8px;font-size:30px;font-weight:700;line-height:1.05}.dev-root .wy-page-lede{max-width:35em;margin:0 0 18px;font-size:14.5px}.dev-root .wy-dirs{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;display:grid}.dev-root .wy-dir{border:1px solid var(--wy-rule);background:var(--wy-canvas);border-radius:6px;align-content:start;gap:10px;padding:12px;display:grid;position:relative}.dev-root .wy-dir--on{border-color:var(--wy-clay);box-shadow:0 0 0 3px color-mix(in srgb, var(--wy-green) 45%, transparent)}.dev-root .wy-dir-head{justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;display:flex}.dev-root .wy-dir-head b{font-weight:700}.dev-root .wy-dir-head em{background:var(--wy-green);color:var(--wy-ink);font-family:var(--wy-mono);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:1px 7px;font-size:10px;font-style:normal}.dev-root .wy-dir-note{color:var(--wy-muted);font-size:12.5px}.dev-root .wy-dir-pin{position:absolute;top:44%;right:-10px}.dev-root .wy-dir .bw{width:100%;font-size:11px}.dev-root .wy-dir .bw :is(.bw-host b,.bw-month-head b,.bw-times-head b,.bw-cta){font-family:var(--wy-sans);letter-spacing:-.01em;font-weight:600}.dev-root .dev-dirs .wy-dirs-bubble{width:auto;max-width:30em;margin:16px 0 0 auto}@container dev-dirs (max-width:560px){.dev-root .dev-dirs :is(.al-bar-org,.al-bar-sep,.al-btn-label,.al-people,.al-btn--edit){display:none}.dev-root .dev-dirs .al-vmenu{width:auto;box-shadow:none;margin:8px;position:static}.dev-root .wy-page{padding:22px 18px}.dev-root .wy-dirs{grid-template-columns:minmax(0,1fr)}.dev-root .dev-dirs .wy-dirs-bubble{margin-left:0}}.dev-root .dev-arch{container:dev-arch/inline-size}.dev-root .dev-arch-frame{border-color:color-mix(in srgb, var(--background) 25%, transparent)}.dev-root .dev-arch-canvas{--al-bar-fs:1.15em;--al-ui:1.1em;--al-pin-fs:1.25em;aspect-ratio:120/58;color:var(--foreground);flex-direction:column;font-size:.833333cqw;line-height:1.35;display:flex}.dev-root .dev-arch-body{flex:1;grid-template-columns:minmax(0,1fr) 31em;min-height:0;display:grid}.dev-root .wy-sheet{background-color:var(--wy-sheet);background-image:linear-gradient(var(--wy-rule-soft) 1px, transparent 1px), linear-gradient(90deg, var(--wy-rule-soft) 1px, transparent 1px);min-width:0;color:var(--wy-ink);font-family:var(--wy-sans);background-size:2.4em 2.4em;flex-direction:column;gap:1.6em;padding:2.4em 3em;display:flex}.dev-root .wy-sheet-head{border-bottom:.15em solid var(--wy-ink);font-family:var(--wy-mono);color:var(--wy-muted);justify-content:space-between;align-items:baseline;gap:1em;padding-bottom:.7em;font-size:1.05em;display:flex}.dev-root .wy-sheet-head .wy-brand{font-family:var(--wy-sans);font-size:1.45em}.dev-root .wy-dg{width:100%;height:auto;display:block}.dev-root .wy-dg-node rect{fill:var(--wy-sheet);stroke:var(--wy-ink);stroke-width:1.5px}.dev-root .wy-dg-node--store rect{fill:var(--wy-teal-tint);stroke:var(--wy-teal-deep)}.dev-root .wy-dg-label{fill:var(--wy-ink);font-family:var(--wy-sans);font-size:15px;font-weight:700}.dev-root .wy-dg-sub{fill:var(--wy-muted);font-family:var(--wy-mono);font-size:10.5px}.dev-root .wy-dg-edge{stroke:var(--wy-ink);stroke-width:1.5px}.dev-root .wy-dg-edge--async{stroke-dasharray:5 4}.dev-root .wy-dg marker path,.dev-root .wy-dg-num circle{fill:var(--wy-ink)}.dev-root .wy-dg-num text{fill:var(--wy-sheet);font-family:var(--wy-mono);font-size:10px;font-weight:500}.dev-root .wy-dg-num--hot circle{fill:var(--wy-clay)}.dev-root .wy-callouts{gap:.7em;font-size:1.2em;line-height:1.35;list-style:none;display:grid}.dev-root .wy-callouts li{align-items:baseline;gap:.6em;display:flex;position:relative}.dev-root .wy-callouts b{background:var(--wy-ink);width:1.5em;height:1.5em;color:var(--wy-sheet);font-family:var(--wy-mono);border-radius:50%;flex:none;place-items:center;font-size:.8em;font-weight:500;display:grid}.dev-root .wy-callout-hot{width:fit-content;max-width:100%;padding-right:2.6em}.dev-root .wy-callout-hot>span:not(.al-pin){background:color-mix(in srgb, var(--primary) 22%, transparent);-webkit-box-decoration-break:clone;box-decoration-break:clone}.dev-root .wy-callout-hot b{background:var(--wy-clay)}.dev-root .wy-callout-hot .al-pin{position:absolute;top:-.2em;right:0}.dev-root .dev-agent-av{flex:none;width:1.875em;height:1.875em;display:inline-grid}.dev-root .dev-agent-av :is(svg,img){border-radius:5px;width:100%;height:100%}@container dev-arch (max-width:639px){.dev-root .dev-arch-canvas{--al-bar-fs:1.7em;--al-ui:1.75em;--al-pin-fs:1.8em;aspect-ratio:auto;font-size:1.66667cqw}.dev-root .dev-arch-body{grid-template-columns:minmax(0,1fr)}.dev-root .wy-sheet{padding:2em}.dev-root .wy-sheet-head{flex-direction:column;gap:.3em;font-size:1.4em}.dev-root .wy-callouts{font-size:1.75em}.dev-root.dev-root .al-panel{border-left:0;border-top:1px solid var(--border)}.dev-root .dev-arch :is(.al-bar-org,.al-bar-sep,.al-btn-label,.al-people,.al-btn--edit){display:none}}.dev-root .dev-cx{container:dev-cx/inline-size}.dev-root .dev-cx-frame{border:1px solid var(--border);background:var(--background);color:var(--foreground);border-radius:14px;font-size:1rem;line-height:1.5;overflow:hidden;box-shadow:0 1px 2px #0000000d,0 24px 60px -32px #0000004d}.dev-root .dev-cx .lucide{flex:none;width:1.1em;height:1.1em}.dev-root .dev-cx-bar{height:2.75rem;color:var(--muted-foreground);align-items:center;gap:.9rem;padding:0 1rem;font-size:.875rem;display:flex}.dev-root .dev-cx-bar b{color:var(--foreground);margin-left:.25rem;font-weight:600}.dev-root .dev-cx-dots{gap:.45rem;margin-right:.4rem;display:flex}.dev-root .dev-cx-dots i{background:var(--border);border-radius:50%;width:.75rem;height:.75rem}.dev-root .dev-cx-chat{gap:1.1rem;padding:1.25rem 1.75rem .5rem;display:grid}.dev-root .dev-cx-user{background:var(--surface-2);border-radius:1.2rem;flex-wrap:wrap;justify-self:end;align-items:center;gap:.35rem;max-width:85%;padding:.7rem 1rem;display:flex}.dev-root .dev-cx-chip{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary);border-radius:.45rem;align-items:center;gap:.35rem;padding:.05rem .45rem .05rem .2rem;font-weight:500;display:inline-flex}.dev-root .dev-cx-chip svg{border-radius:4px}.dev-root .dev-cx-runs{color:var(--muted-foreground);gap:.45rem;list-style:none;display:grid}.dev-root .dev-cx-runs li{align-items:baseline;gap:.45rem;min-width:0;display:flex}.dev-root .dev-cx-runs b{color:var(--foreground);font-weight:500}.dev-root .dev-cx-runs code{font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;overflow:hidden}.dev-root .dev-cx-runs em{font-family:var(--font-mono);white-space:nowrap;margin-left:auto;font-size:.875rem;font-style:normal}.dev-root .dev-cx-add{color:#25984d;color:lab(55.4741% -45.4549 30.1606)}.dev-root .dev-cx-del{color:#db423c;color:lab(51.7326% 59.5451 39.6593)}.dev-root .dev-cx-reply{align-items:center;gap:.5rem;font-weight:500;display:flex}.dev-root .dev-cx-reply .lucide{color:#25984d;color:lab(55.4741% -45.4549 30.1606)}.dev-root .dev-cx-input{border:1px solid var(--border);color:var(--muted-foreground-weak);border-radius:1.4rem;gap:.9rem;margin:1.25rem;padding:.9rem 1rem .75rem;font-size:.9375rem;display:grid;box-shadow:0 6px 18px -12px #00000040}.dev-root .dev-cx-input>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dev-root .dev-cx-input-row{color:var(--muted-foreground);align-items:center;gap:.9rem;font-size:.875rem;display:flex}.dev-root .dev-cx-access{color:#e16c10;color:lab(59.4797% 43.474 64.8557);align-items:center;gap:.3rem;margin-right:auto;display:inline-flex}.dev-root .dev-cx-pick{align-items:center;gap:.2rem;display:inline-flex}.dev-root .dev-cx-send{background:var(--foreground);width:2rem;height:2rem;color:var(--background);border-radius:50%;place-items:center;display:grid}@container dev-cx (max-width:520px){.dev-root .dev-cx-bar>.lucide:not(:last-child){display:none}.dev-root .dev-cx-chat{padding:1rem 1rem .3rem}.dev-root .dev-cx-pick:first-of-type,.dev-root .dev-cx-input-row>.lucide-mic{display:none}.dev-root .dev-cx-input{margin:1rem}}.dev-root .sign-in-panel{background:radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--primary) 70%, #0a1f14) 0%, transparent 60%), linear-gradient(135deg, color-mix(in srgb, var(--primary) 55%, #06170f) 0%, color-mix(in srgb, var(--primary) 30%, #04120b) 100%);border-color:#0000}