.latch-promise{flex-wrap:wrap;justify-content:center;gap:.15em .35em;display:flex}.latch-promise span{animation:9s ease-in-out infinite latch-promise-emphasis}.latch-promise span:nth-child(2){animation-delay:3s}.latch-promise span:nth-child(3){animation-delay:6s}@keyframes latch-promise-emphasis{0%,32%,to{opacity:1}40%,92%{opacity:.5}}[data-theme=light] .latch-tile{background:radial-gradient(72% 72% at 2% 0,#7ce7ff1f,#0000 58%) padding-box padding-box,radial-gradient(78% 78% at 100% 4%,#fe9eff1a,#0000 60%) padding-box padding-box,radial-gradient(80% 80% at 96% 100%,#ffefa914,#0000 58%) padding-box padding-box,linear-gradient(#16161cf0,#16161cf0) padding-box padding-box,linear-gradient(142deg,#ffffff80,#0000 58%) border-box}.latch-info-term{cursor:pointer;color:var(--on-surface);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--on-surface) 30%, transparent);text-decoration-color:color-mix(in srgb, var(--on-surface) 30%, transparent);text-underline-offset:4px;border-radius:3px;text-decoration-style:dotted}.latch-info-term:hover,.latch-info-term[aria-expanded=true]{text-decoration-style:solid}.latch-info-term:focus-visible,.latch-tenant:focus-visible,.latch-layer:focus-visible,.latch-execution-step button:focus-visible{outline:2px solid var(--on-surface);outline-offset:5px}.latch-info-card{z-index:100;background:color-mix(in srgb, var(--background) 82%, transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);width:min(360px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--on-surface-muted);border-radius:20px;padding:24px;font-size:14px;line-height:1.6;animation:.15s ease-out both latch-card-in;position:fixed;overflow-y:auto}.latch-info-category{letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-muted);font-size:11px;font-weight:500;display:block}.latch-info-title{font-family:var(--font-display);letter-spacing:-.035em;color:var(--on-surface);margin-top:8px;font-size:27px;line-height:1.12;display:block}.latch-info-definition{color:color-mix(in srgb, var(--on-surface) 85%, transparent);margin-top:14px;font-size:15px;line-height:1.55}.latch-info-example{background:color-mix(in srgb, var(--on-surface) 5%, transparent);border-radius:12px;margin-top:18px;padding:14px 16px}.latch-info-example>span{color:var(--on-surface-muted);margin-bottom:5px;font-size:11px;font-weight:500;display:block}.latch-info-example p{color:color-mix(in srgb, var(--on-surface) 70%, transparent);font-size:13px;line-height:1.55}@keyframes latch-card-in{0%{opacity:0;filter:blur(3px)}to{opacity:1;filter:blur()}}.latch-production{align-items:center;width:100%;height:100%;display:grid;position:relative}.latch-production-chart{width:94%;margin-inline:auto;transition:opacity .65s ease-in-out;animation:.5s ease-out latch-production-enter}.latch-production[data-exiting=true] .latch-production-chart{opacity:0}@keyframes latch-production-enter{0%{opacity:0}to{opacity:1}}.latch-production[data-folded=true] .latch-production-gantt{--gantt-row:48px}.latch-production-label{justify-content:flex-end;align-items:center;gap:10px;font-size:15px;display:flex}.latch-production-label-mark{flex-shrink:0;width:24px;height:24px;transition:width .8s cubic-bezier(.22,1,.36,1),height .8s cubic-bezier(.22,1,.36,1)}.latch-production[data-zoomed=true] .latch-production-label-mark{width:28px;height:28px}.latch-production .demo-burst{--burst-dur:1.4s;transform:scale(1.35)}.latch-production .demo-burst-spoke:nth-child(-n+5){display:none}.latch-production .demo-burst-spoke{animation-name:latch-production-tadaa}@keyframes latch-production-tadaa{0%{opacity:0;transform:translate(-50%, -50%) rotate(var(--spoke-deg)) translateX(5px) scaleX(.45)}35%{opacity:.85}to{opacity:.3;transform:translate(-50%, -50%) rotate(var(--spoke-deg)) translateX(16px) scaleX(1)}}.latch-recovery{width:100%}.latch-recovery svg{width:100%;display:block;overflow:visible}.latch-recovery-worker{fill:none;stroke:currentColor;stroke-width:1px}.latch-recovery-worker circle{fill:currentColor;stroke:none}.latch-recovery-first{animation:11s ease-in-out infinite latch-worker-stop}.latch-recovery-second{animation:11s ease-in-out infinite latch-worker-resume}.latch-recovery-disconnect{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;animation:11s ease-in-out infinite latch-worker-disconnect}.latch-recovery-job{animation:11s cubic-bezier(.22,1,.36,1) infinite latch-job-transfer}.latch-recovery-paper{fill:color-mix(in srgb, var(--on-surface) 6%, var(--background));stroke:color-mix(in srgb, var(--on-surface) 25%, transparent);stroke-width:1px}.latch-recovery-saved,.latch-recovery-new{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round}.latch-recovery-saved{animation:11s ease-in-out infinite latch-job-saved}.latch-recovery-new{animation:11s ease-in-out infinite latch-job-finish}.latch-recovery-done{animation:11s ease-in-out infinite latch-job-check}.latch-recovery-done circle{fill:var(--on-surface)}.latch-recovery-done path{fill:none;stroke:var(--background);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.latch-recovery:where([data-playing=false]) g{animation-play-state:paused}@keyframes latch-worker-stop{0%,25%{opacity:.5}34%,90%{opacity:.12}to{opacity:.5}}@keyframes latch-worker-resume{0%,45%{opacity:.12}57%,90%{opacity:.5}to{opacity:.12}}@keyframes latch-worker-disconnect{0%,25%,95%,to{opacity:0}33%,87%{opacity:.5}}@keyframes latch-job-transfer{0%{opacity:0;transform:translate(-105px)}8%,32%{opacity:1;transform:translate(-105px)}43%{opacity:1;transform:translateY(-24px)}60%,88%{opacity:1;transform:translate(105px)}96%{opacity:0;transform:translate(105px)}to{opacity:0;transform:translate(-105px)}}@keyframes latch-job-saved{0%,9%,to{opacity:.1}23%,96%{opacity:.55}}@keyframes latch-job-finish{0%,61%,to{opacity:.08}76%,96%{opacity:.55}}@keyframes latch-job-check{0%,76%,to{opacity:0}82%,96%{opacity:1}}@media (prefers-reduced-motion:reduce){.latch-recovery g{animation:none}.latch-recovery-first{opacity:.12}.latch-recovery-second,.latch-recovery-disconnect{opacity:.5}.latch-recovery-job{transform:translate(105px)}.latch-recovery-saved,.latch-recovery-new{opacity:.55}}.latch-memory{height:100%;padding:8px 6%;overflow:hidden}.latch-memory-stream{height:100%;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 12% 90%,#0000);mask-image:linear-gradient(#0000,#000 12% 90%,#0000)}.latch-memory-fact{border-bottom:1px solid var(--border);width:100%;height:33.333%;transform:translateY(calc(var(--memory-slot) * 100%));opacity:1;filter:blur();align-items:center;padding:0 8px;transition:transform .9s cubic-bezier(.22,1,.36,1),opacity .7s cubic-bezier(.22,1,.36,1),filter .85s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;top:0;left:0}.latch-memory-fact>span{font-size:clamp(12px,1.1vw,15px);line-height:1.5}.latch-memory-fact[data-age="1"]{opacity:.7}.latch-memory-fact[data-age="2"]{opacity:.4}.latch-memory-fact[data-age="3"]{opacity:0;filter:blur(5px)}.latch-memory-fact[data-waiting=true]{opacity:0;filter:blur(10px);transition:none}.latch-usage{grid-template-columns:minmax(0,1fr) 28%;align-items:center;gap:24px;height:100%;padding-inline:10%;display:grid}.latch-token-chunks{flex-wrap:wrap;align-content:start;gap:8px;max-width:230px;display:flex}.latch-token-chunks>span{background:var(--on-surface);opacity:.06;filter:blur(1px);border-radius:3px;height:8px;transition:opacity .18s,transform .18s,filter .18s;transform:translateY(3px)}.latch-token-chunks>span[data-visible=true]{opacity:.6;filter:blur();transform:translateY(0)}.latch-usage-meter{flex-direction:column;align-items:center;gap:8px;display:flex}.latch-radial{aspect-ratio:1;width:100%;max-width:96px;position:relative}.latch-radial svg{fill:none;stroke-width:5px;width:100%;height:100%;transform:rotate(-90deg)}.latch-radial-track{stroke:var(--border)}.latch-radial-fill{stroke:var(--on-surface);stroke-linecap:round;transition:stroke-dashoffset .18s linear}.latch-tenancy{justify-content:center;align-items:center;height:100%;display:flex}.latch-tenant-grid{grid-template-columns:1fr 1fr;gap:28px;width:88%;max-width:380px;display:grid}.latch-tenant{border:1px solid color-mix(in srgb, var(--on-surface) 16%, transparent);border-radius:20px;flex-direction:column;align-items:center;min-width:0;padding:22px 16px 20px;display:flex;position:relative}.latch-tenant:before{content:"";border:1px solid color-mix(in srgb, var(--on-surface) 30%, transparent);border-radius:inherit;background:color-mix(in srgb, var(--on-surface) 3%, transparent);pointer-events:none;opacity:0;animation:latch-tenant-active 9s ease-in-out var(--tenant-delay) infinite;position:absolute;inset:-1px}.latch-tenant-lock{opacity:.45;position:absolute;top:12px;right:12px}.latch-tenant-person{background:color-mix(in srgb, var(--on-surface) 7%, transparent);border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.latch-tenant-flow{place-items:center;height:46px;display:grid;transform:rotate(90deg)}.latch-tenant-records{flex-direction:column;gap:6px;width:70%;display:flex}.latch-tenant-records>span{background:var(--on-surface);opacity:.08;height:10px;animation:latch-tenant-arrival 9s cubic-bezier(.22, 1, .36, 1) var(--record-delay) infinite;border-radius:3px;transform:translateY(-5px)scale(.92)}.latch-tenant-flow>div>span{animation:latch-tenant-pulse 9s cubic-bezier(.22, 1, .36, 1) var(--tenant-delay) infinite}.latch-tenancy[data-playing=false] .latch-tenant:before,.latch-tenancy[data-playing=false] .latch-tenant-records>span,.latch-tenancy[data-playing=false] .latch-tenant-flow>div>span{animation-play-state:paused}@keyframes latch-tenant-active{0%,38%,to{opacity:0}6%,30%{opacity:1}}@keyframes latch-tenant-pulse{0%{opacity:0;transform:translate(0)}3%{opacity:1}18%{opacity:0;transform:translate(32px)}to{opacity:0;transform:translate(32px)}}@keyframes latch-tenant-arrival{0%,88%,to{opacity:.08;transform:translateY(-5px)scale(.92)}8%,72%{opacity:.6;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.latch-tenant:before,.latch-tenant-flow>div>span,.latch-tenant-records>span{animation:none}.latch-tenant-records>span{opacity:.6;transform:none}}.latch-execution{gap:24px;margin-top:64px;display:grid}.latch-execution-selector{background:color-mix(in srgb, var(--on-surface) 4%, transparent);border-radius:24px;gap:4px;padding:4px;display:flex}.latch-execution-selector button{cursor:pointer;border-radius:20px;flex:1;padding:10px 4px;font-size:13px;transition:background .2s}.latch-execution-selector button[aria-pressed=true]{background:color-mix(in srgb, var(--on-surface) 10%, transparent)}@media (max-width:1023px){.latch-execution-step:not([data-active=true]){display:none}.latch-execution-steps{min-height:240px}}.latch-execution-scene{background:color-mix(in srgb, var(--on-surface) 3%, transparent);border-radius:24px;align-self:start;padding:12px}.latch-runtime{width:100%;height:auto;color:var(--on-surface);display:block}.latch-runtime-layer{opacity:0;transform-origin:240px 210px;transition:opacity .55s,transform .75s cubic-bezier(.22,1,.36,1);transform:scale(.94)}.latch-runtime-layer[data-visible=true]{opacity:1;transform:scale(1)}.latch-runtime-surface{fill:color-mix(in srgb, var(--on-surface) 2%, transparent);stroke:color-mix(in srgb, var(--on-surface) 25%, transparent);stroke-width:1px}.latch-runtime-line{fill:none;stroke:currentColor;stroke-width:1px;opacity:.2}.latch-runtime-dots{fill:currentColor;opacity:.3}.latch-runtime-code{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;opacity:.5}.latch-runtime-tool{fill:color-mix(in srgb, var(--on-surface) 6%, var(--background));stroke:none}.latch-runtime-core{fill:color-mix(in srgb, var(--on-surface) 10%, var(--background))}.latch-runtime-signal{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-dasharray:3 100;animation:2.8s ease-in-out infinite latch-runtime-flow}.latch-runtime-signal-later{animation-delay:1.4s}.latch-execution-scene[data-playing=false] .latch-runtime-signal{animation-play-state:paused}@keyframes latch-runtime-flow{0%{stroke-dashoffset:3px;opacity:0}20%,65%{opacity:.7}to{stroke-dashoffset:-100px;opacity:0}}.latch-execution-step{border-top:1px solid var(--border);opacity:.5;transition:opacity .3s}.latch-execution-step[data-active=true]{opacity:1}.latch-execution-step button{cursor:pointer;text-align:left;width:100%;padding:32px 0;display:block}@media (min-width:1024px){.latch-execution-selector{display:none}.latch-execution{grid-template-columns:1fr 1fr;gap:64px}.latch-execution-scene{position:sticky;top:max(32px,50svh - 220px)}.latch-execution-step{align-items:center;min-height:300px;display:flex}.latch-execution-steps{padding-block:24px}}@media (max-width:420px){.latch-usage{gap:12px}.latch-tenant-grid{gap:8px}.latch-tenant{padding:18px 10px 14px}.latch-tenancy{gap:10px}}@media (prefers-reduced-motion:reduce){.latch-promise span,.latch-production-chart,.latch-memory-fact,.latch-info-card,.latch-runtime-signal{animation:none}.latch-promise span{opacity:1}.latch-production-chart,.latch-production-label-mark,.latch-token-chunks>span,.latch-radial-fill,.latch-tenant,.latch-tenant-records>span,.latch-runtime-layer,.latch-execution-step,.latch-memory-fact{transition:none}}.latch-comparison-scroll{overscroll-behavior-x:contain;scrollbar-color:var(--on-surface-muted) transparent;max-width:100%;max-height:min(680px,75svh);padding-bottom:12px;overflow:auto}.latch-comparison-scroll:focus-visible{outline:2px solid var(--on-surface-muted);outline-offset:5px}.latch-comparison-table{table-layout:fixed;border-collapse:separate;border-spacing:0;text-align:left;width:100%;min-width:1024px;font-size:16px;line-height:1.55}.latch-comparison-label-column{width:112px}.latch-comparison-table th,.latch-comparison-table td{vertical-align:top;border-bottom:1px solid var(--border);padding:20px;font-weight:400}.latch-comparison-table td{color:color-mix(in srgb, var(--on-surface) 78%, transparent)}.latch-comparison-table th:first-child{z-index:1;background:var(--background);color:var(--on-surface-muted);padding-left:12px;font-size:16px;position:sticky;left:0}.latch-comparison-table [data-latch=true]{background:color-mix(in srgb, var(--on-surface) 4%, transparent)}.latch-comparison-name{letter-spacing:-.02em;font-size:18px;line-height:1.25;display:block}.latch-comparison-context{color:var(--on-surface-muted);margin-top:6px;font-size:16px;line-height:1.5;display:block}@media (max-width:719px){.latch-comparison-label-column{width:96px}.latch-comparison-table th,.latch-comparison-table td{padding:16px}.latch-comparison-table th:first-child{padding-left:8px}}.latch-comparison-shell{margin-top:32px;position:relative}.latch-comparison-shell:before,.latch-comparison-shell:after{content:"";pointer-events:none;z-index:5;opacity:0;width:28px;transition:opacity .2s;position:absolute;top:0;bottom:12px}.latch-comparison-shell:before{background:linear-gradient(to right, var(--background), transparent);left:112px}.latch-comparison-shell:after{background:linear-gradient(to left, var(--background), transparent);right:0}.latch-comparison-shell[data-left=true]:before,.latch-comparison-shell[data-right=true]:after{opacity:1}.latch-comparison-table thead th{z-index:3;background:0 0;padding-top:12px;padding-bottom:10px;position:sticky;top:0}.latch-comparison-table thead th:first-child{z-index:4;background:0 0}.latch-comparison-table thead th[data-latch=true]{background:0 0}.latch-comparison-table th[data-latch=true] .latch-comparison-name{font-weight:500}@media (max-width:719px){.latch-comparison-shell:before{left:96px}}.latch-faq-shell{margin-top:40px;position:relative}.latch-faq-scroll{overscroll-behavior-y:contain;scrollbar-width:none;max-height:min(520px,65svh);padding-inline:6px;overflow-y:auto}.latch-faq-scroll::-webkit-scrollbar{display:none}.latch-faq-scroll:focus-visible{outline:2px solid var(--on-surface-muted);outline-offset:5px}.latch-faq-list{padding-bottom:12px}.latch-faq-scroll{--faq-fade-top:0px;--faq-fade-bottom:0px;-webkit-mask-image:linear-gradient(to bottom, transparent, #000 var(--faq-fade-top), #000 calc(100% - var(--faq-fade-bottom)), transparent);-webkit-mask-image:linear-gradient(to bottom, transparent, #000 var(--faq-fade-top), #000 calc(100% - var(--faq-fade-bottom)), transparent);mask-image:linear-gradient(to bottom, transparent, #000 var(--faq-fade-top), #000 calc(100% - var(--faq-fade-bottom)), transparent)}.latch-faq-shell[data-top=true] .latch-faq-scroll{--faq-fade-top:28px}.latch-faq-shell[data-bottom=true] .latch-faq-scroll{--faq-fade-bottom:56px}.latch-faq-item{border-bottom:1px solid var(--border)}.latch-faq-trigger{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:24px;width:100%;padding-block:24px;font-size:20px;line-height:1.4;display:flex}.latch-faq-trigger svg{opacity:.55;transition:transform var(--resize-dur) var(--resize-ease);flex-shrink:0}.latch-faq-trigger[aria-expanded=true] svg{transform:rotate(45deg)}.latch-faq-trigger:focus-visible{outline:2px solid var(--on-surface-muted);outline-offset:4px;border-radius:4px}.latch-faq-panel{overflow:hidden}.latch-faq-answer{padding:0 44px 24px 0}.latch-faq-answer p{max-width:72ch;color:color-mix(in srgb, var(--on-surface) 70%, transparent);font-size:16px;line-height:1.65}@media (max-width:719px){.latch-faq-trigger{gap:16px;padding-block:20px;font-size:18px}.latch-faq-answer{padding-right:0}}@media (prefers-reduced-motion:reduce){.latch-faq-trigger svg{transition:none}}
