@font-face{font-family:Geist;src:url(/fonts/geist-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/geist-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/geist-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root:has(.sa){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f9faff}:root:has(.sa) body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f9faff}:root:has(.sa) body{margin:0}:root:has(.sa){scroll-padding-top:4rem}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):has(.sa){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0f0d17}:root:not([data-theme=light]):has(.sa) body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0f0d17}}:root[data-theme=dark]:has(.sa){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0f0d17}:root[data-theme=dark]:has(.sa) body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0f0d17}.sa{--sa-0:#fff;--sa-1:#f9faff;--sa-2:#f4f5f9;--sa-3:#ecedf2;--sa-4:#e4e5ea;--sa-5:#dbdce2;--sa-6:#d1d2d8;--sa-7:#c2c4ca;--sa-8:#8b8b94;--sa-9:#696973;--sa-10:#5a5a63;--sa-11:#52515b;--sa-12:#0f0d17;--sa-accent:#e5184d;--sa-accent-text:#c4003d;--sa-accent-quiet:#fdeaef;--sa-ok:#0a7c4a;--sa-live:#c4003d;--sa-warn:#96620a;--sa-stop:#6d6e76;--sa-fail:#c51d28;--font-sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", "Menlo", "Consolas", monospace;--step--2:clamp(.75rem, .7277rem + .1117vw, .8125rem);--step--1:clamp(.8889rem, .8715rem + .0869vw, .9375rem);--step-0:clamp(1rem, .9553rem + .2235vw, 1.125rem);--step-1:clamp(1.125rem, 1.0446rem + .4022vw, 1.35rem);--step-2:clamp(1.2656rem, 1.1389rem + .6335vw, 1.62rem);--step-3:clamp(1.4238rem, 1.2379rem + .9299vw, 1.944rem);--step-4:clamp(1.6018rem, 1.3405rem + 1.3067vw, 2.3328rem);--step-5:clamp(1.802rem, 1.4455rem + 1.7829vw, 2.7994rem);--step-6:clamp(2.0273rem, 1.5511rem + 2.381vw, 3.3592rem);--space-3xs:clamp(.25rem, .2388rem + .0559vw, .2812rem);--space-2xs:clamp(.5rem, .4777rem + .1117vw, .5625rem);--space-xs:clamp(.75rem, .7165rem + .1676vw, .8438rem);--space-s:clamp(1rem, .9553rem + .2235vw, 1.125rem);--space-m:clamp(1.5rem, 1.433rem + .3352vw, 1.6875rem);--space-l:clamp(2rem, 1.9106rem + .4469vw, 2.25rem);--space-xl:clamp(3rem, 2.8659rem + .6704vw, 3.375rem);--space-2xl:clamp(4rem, 3.8212rem + .8938vw, 4.5rem);--space-3xl:clamp(6rem, 5.7319rem + 1.3407vw, 6.75rem);--space-4xl:clamp(8rem, 7.6425rem + 1.7876vw, 9rem);--space-s-m:clamp(1rem, .7542rem + 1.229vw, 1.6875rem);--space-m-l:clamp(1.5rem, 1.2319rem + 1.3407vw, 2.25rem);--space-l-xl:clamp(2rem, 1.5084rem + 2.458vw, 3.375rem);--space-xl-2xl:clamp(3rem, 2.4637rem + 2.6814vw, 4.5rem);--space-2xl-3xl:clamp(4rem, 3.0168rem + 4.916vw, 6.75rem);--space-3xl-4xl:clamp(6rem, 4.9274rem + 5.3629vw, 9rem);--grid-max-width:86rem;--grid-gutter:var(--space-m);--grid-edge:max(var(--grid-gutter), (100% - var(--grid-max-width)) / 2);--measure:34rem;--measure-hero:52rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-full:9999px;--mo-instant:0s;--mo-state:.15s;--mo-popover:.2s;--mo-overlay:.3s;--mo-ease:cubic-bezier(.175, .885, .32, 1.1);--mo-ease-flat:cubic-bezier(.25, 1, .5, 1);--mo-stagger:24ms;--nav-height:3.25rem;--sa-shadow:15 13 23;--sa-shadow-strength:.16;--sa-stage-warm:#c4003d21;--sa-stage-cool:#5448c41c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sa{--sa-0:#08060f;--sa-1:#0f0d17;--sa-2:#171620;--sa-3:#1f1e28;--sa-4:#272631;--sa-5:#32313c;--sa-6:#3f3e49;--sa-7:#575761;--sa-8:#676872;--sa-9:#90919b;--sa-10:#a9aab3;--sa-11:#c3c5ce;--sa-12:#d6d8e0;--sa-accent:#e5184d;--sa-accent-text:#ef5469;--sa-accent-quiet:#2a0f1c;--sa-ok:#3fcf8e;--sa-live:#e5184d;--sa-warn:#e8b339;--sa-stop:#80818b;--sa-fail:#f2555a;--sa-shadow:0 0 0;--sa-shadow-strength:.6;--sa-stage-warm:#e5184d29;--sa-stage-cool:#7868ff24}}:root[data-theme=dark] .sa{--sa-0:#08060f;--sa-1:#0f0d17;--sa-2:#171620;--sa-3:#1f1e28;--sa-4:#272631;--sa-5:#32313c;--sa-6:#3f3e49;--sa-7:#575761;--sa-8:#676872;--sa-9:#90919b;--sa-10:#a9aab3;--sa-11:#c3c5ce;--sa-12:#d6d8e0;--sa-accent:#e5184d;--sa-accent-text:#ef5469;--sa-accent-quiet:#2a0f1c;--sa-ok:#3fcf8e;--sa-live:#e5184d;--sa-warn:#e8b339;--sa-stop:#80818b;--sa-fail:#f2555a;--sa-shadow:0 0 0;--sa-shadow-strength:.6;--sa-stage-warm:#e5184d29;--sa-stage-cool:#7868ff24}.sa *,.sa :before,.sa :after{box-sizing:border-box}.sa{background:var(--sa-1);color:var(--sa-12);font-family:var(--font-sans);font-size:var(--step-0);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100vh;font-weight:400;line-height:1.55;overflow-x:clip}.sa :where(h1,h2,h3,h4,p,ul,ol,figure,dl){margin:0}.sa :where(h1,h2,h3,h4){text-wrap:balance;font-weight:400}.sa :where(p){text-wrap:pretty}.sa :where(button){font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.sa :where(a){color:inherit;text-decoration:none}.sa :where(code,kbd,samp,pre){font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.9375em}.sa :where(svg){flex:none;display:block}.sa :where(:focus-visible){outline:2px solid var(--sa-accent);outline-offset:2px;border-radius:var(--radius-sm)}.sa ::selection{background:var(--sa-accent);color:#fff}.sa-grid{grid-template-columns:minmax(var(--grid-gutter), 1fr) minmax(0, var(--grid-max-width)) minmax(var(--grid-gutter), 1fr);display:grid}.sa-grid>*{grid-column:2;min-width:0}.sa-section{padding-block:var(--space-2xl-3xl)}.sa-section+.sa-section{padding-block-start:0}.sa-rule{border:0;border-block-start:1px solid var(--sa-6);margin:0}.sa-label{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--sa-9);font-weight:500}.sa-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sa-display{font-size:var(--step-4);letter-spacing:-.018em;font-weight:400;line-height:1.16}.sa-lead{font-size:var(--step-1);color:var(--sa-10);max-width:var(--measure);line-height:1.45}.sa-muted{color:var(--sa-10)}.sa-faint{color:var(--sa-9)}.sa-head{gap:var(--space-2xs);flex-direction:column;margin-block-end:var(--space-m-l);display:flex}.sa-head h2{font-size:var(--step-3);letter-spacing:-.014em;max-width:26ch;line-height:1.2}.sa-head-note{font-size:var(--step--1);color:var(--sa-9);max-width:64ch;line-height:1.5}.sa-btn{align-items:center;gap:var(--space-2xs);border-radius:var(--radius-md);font-size:var(--step--1);transition:background var(--mo-state) var(--mo-ease-flat), border-color var(--mo-state) var(--mo-ease-flat), color var(--mo-state) var(--mo-ease-flat);border:1px solid #0000;padding:.5rem .875rem;font-weight:500;display:inline-flex}.sa-btn-primary{background:var(--sa-accent);color:#fff}.sa-btn-primary:hover{background:#f22a5d}.sa-btn-step{background:var(--sa-12);color:var(--sa-1)}.sa-btn-step:hover{background:var(--sa-11)}.sa-btn-ghost{border-color:var(--sa-6);color:var(--sa-12)}.sa-btn-ghost:hover{background:var(--sa-4);border-color:var(--sa-7)}.sa-link{color:var(--sa-accent-text);text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklab, var(--sa-accent-text) 40%, transparent);text-decoration-color:color-mix(in oklab, var(--sa-accent-text) 40%, transparent);text-underline-offset:.2em;text-decoration-thickness:1px}.sa-link:hover{-webkit-text-decoration-color:var(--sa-accent-text);text-decoration-color:var(--sa-accent-text)}.sa-dot{border-radius:var(--radius-full);background:var(--sa-8);width:.5rem;height:.5rem;transition:background var(--mo-state) var(--mo-ease-flat);flex:none}.sa-dot[data-state=starting],.sa-dot[data-state=running]{background:var(--sa-live)}.sa-dot[data-state=completed]{background:var(--sa-ok)}.sa-dot[data-state=blocked],.sa-dot[data-state=recovery_pending]{background:var(--sa-warn)}.sa-dot[data-state=failed]{background:var(--sa-fail)}.sa-dot[data-state=stopped]{background:var(--sa-stop)}.sa-state{font-family:var(--font-mono);font-size:var(--step--2);color:var(--sa-11);align-items:center;gap:.4em;display:inline-flex}.sa-win{border:1px solid var(--sa-6);border-radius:var(--radius-xl);background:var(--sa-2);flex-direction:column;min-width:0;display:flex;overflow:hidden}.sa-win[data-kind=controller]{background:var(--sa-0)}.sa-win[data-focused=true]{border-color:var(--sa-7)}.sa-win-bar{align-items:center;gap:var(--space-2xs);padding:.375rem var(--space-2xs);background:var(--sa-3);border-block-end:1px solid var(--sa-6);font-family:var(--font-mono);font-size:var(--step--2);color:var(--sa-10);grid-template-columns:auto minmax(0,1fr) minmax(0,auto);min-height:2rem;display:grid}.sa-win-lights{align-items:center;gap:.3125rem;padding-inline:.1875rem;display:flex}.sa-win-lights i{border-radius:var(--radius-full);background:var(--sa-7);width:.5rem;height:.5rem}.sa-win[data-focused=true] .sa-win-lights i:first-child{background:var(--sa-accent)}.sa-win[data-kind=controller] .sa-win-bar{background:var(--sa-2)}.sa-win-bar-grip{white-space:nowrap;text-overflow:ellipsis;touch-action:none;border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:.5em;min-width:0;display:flex;overflow:hidden}.sa-win-body{flex:1;min-width:0;min-height:0}.sa-term{font-family:var(--font-mono);font-size:var(--step--1);color:var(--sa-11);padding:var(--space-xs);overflow-wrap:break-word;white-space:pre-wrap;font-variant-numeric:tabular-nums;scrollbar-width:thin;scrollbar-color:var(--sa-6) transparent;line-height:1.6;overflow:auto}.sa-term b{color:var(--sa-12);font-weight:500}.sa-term-prompt,.sa-term-dim{color:var(--sa-9)}.sa-term-ok{color:var(--sa-ok)}.sa-term-warn{color:var(--sa-warn)}.sa-term-fail{color:var(--sa-fail)}@keyframes sa-enter{0%{opacity:0;transform:translateY(.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes sa-fade-in{0%{opacity:0}to{opacity:1}}@keyframes sa-caret-blink{0%,48%{opacity:1}49%,to{opacity:0}}.sa-in{animation:sa-fade-in .12s var(--mo-ease-flat) both}.sa-enter{animation:sa-enter .24s var(--mo-ease-flat) both}.sa-caret{vertical-align:text-bottom;background:var(--sa-11);width:.55em;height:1em;display:inline-block}.sa-caret[data-blink=true]{animation:.8s step-end infinite sa-caret-blink}.sa-caption{font-size:var(--step--1);color:var(--sa-9);max-width:56ch;margin-block-end:var(--space-s)}.sa-sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sa-scroll{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--sa-6) transparent;overflow-x:auto}@media (prefers-reduced-motion:reduce){.sa *,.sa :before,.sa :after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.sa .sa-caret[data-blink=true]{animation:none}}
