.tf-landing,.tf-landing.dark{color-scheme:dark;--tf-teal-100:#d5f3ef;--tf-teal-300:#74e0d5;--tf-teal-400:#42c9c1;--tf-teal-500:#2aafa8;--tf-teal-600:#1f8c88;--tf-teal-700:#17706b;--tf-teal-800:#125955;--tf-ink-950:#050c12;--tf-ink-925:#071018;--tf-ink-900:#0a141d;--tf-ink-850:#0d1922;--tf-ink-800:#101e2a;--tf-ink-400:#8da2af;--tf-ink-300:#b4c3cd;--tf-ink-100:#e7edf2;--tf-white:#ffffff;--tf-accent-warm:#f5b84b;--tf-hairline:rgba(141,162,175,0.1);--tf-hairline-strong:rgba(141,162,175,0.22);--tf-font-display:var(--font-space-grotesk,"Space Grotesk"),"Avenir Next","Segoe UI",sans-serif;--tf-font-text:var(--font-inter,Inter),"Avenir Next","Segoe UI",sans-serif;--tf-font-mono:var(--font-jetbrains-mono,"JetBrains Mono"),ui-monospace,"SF Mono",Menlo,monospace;--tf-tracking-display:-0.025em;--tf-tracking-heading:-0.015em;--tf-tracking-caps:0.14em;--tf-shadow-xs:0 1px 2px rgba(0,0,0,0.5);--tf-shadow-sm:0 2px 6px rgba(0,0,0,0.5),0 1px 2px rgba(0,0,0,0.4);--tf-shadow-md:0 12px 32px -8px rgba(0,0,0,0.55),0 2px 8px rgba(0,0,0,0.35);--tf-shadow-lg:0 32px 64px -16px rgba(0,0,0,0.65),0 8px 24px -8px rgba(0,0,0,0.45);--tf-glow-primary:0 0 24px -6px rgba(66,201,193,0.4);--tf-dur-fast:150ms;--tf-dur-base:250ms;--tf-dur-slow:600ms;--tf-dur-plot:900ms;--tf-ease-out:cubic-bezier(0.22,1,0.36,1);--radius:0.75rem;--background:var(--tf-ink-950);--foreground:var(--tf-ink-100);--card:var(--tf-ink-900);--card-foreground:var(--tf-ink-100);--popover:var(--tf-ink-800);--popover-foreground:var(--tf-ink-100);--primary:var(--tf-teal-400);--primary-foreground:var(--tf-ink-950);--secondary:var(--tf-ink-800);--secondary-foreground:var(--tf-ink-100);--muted:var(--tf-ink-900);--muted-foreground:var(--tf-ink-400);--accent:#0e2530;--accent-foreground:var(--tf-teal-300);--destructive:#e5484d;--destructive-foreground:#ffffff;--border:rgba(231,237,242,0.1);--input:rgba(231,237,242,0.14);--ring:var(--tf-teal-400);font-family:var(--tf-font-text);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.55}@layer base{.tf-landing h1,.tf-landing h2,.tf-landing h3,.tf-landing h4{font-family:var(--tf-font-display);font-weight:700;letter-spacing:var(--tf-tracking-heading);line-height:1.15}}.tf-landing ::selection{background:rgba(66,201,193,.35);color:#ffffff}@layer base{.tf-landing .font-display{font-family:var(--tf-font-display)}.tf-landing .font-mono{font-family:var(--tf-font-mono)}}@media (prefers-reduced-motion:no-preference){html:has(.tf-landing){scroll-behavior:smooth}}.tf-eyebrow{font-size:.75rem;font-weight:700;color:var(--tf-teal-300)}.tf-eyebrow,.tf-microlabel{font-family:var(--tf-font-mono);letter-spacing:var(--tf-tracking-caps);text-transform:uppercase}.tf-microlabel{font-size:.6875rem;color:var(--tf-ink-400)}.tf-doc-sheet{background-color:var(--tf-white);border-radius:1rem;box-shadow:var(--tf-shadow-lg);overflow:hidden}.tf-grid-texture{position:absolute;inset:0;pointer-events:none;display:none;background-image:repeating-linear-gradient(90deg,rgba(141,162,175,.05) 0 1px,transparent 1px 48px),repeating-linear-gradient(180deg,rgba(141,162,175,.05) 0 1px,transparent 1px 48px);-webkit-mask-image:radial-gradient(closest-side,black 30%,transparent 100%);mask-image:radial-gradient(closest-side,black 30%,transparent 100%)}@media (min-width:640px){.tf-grid-texture{display:block}}.tf-regmark{position:absolute;width:13px;height:13px;pointer-events:none}.tf-regmark:after,.tf-regmark:before{content:"";position:absolute;background:var(--tf-hairline-strong)}.tf-regmark:before{left:6px;top:0;width:1px;height:13px}.tf-regmark:after{left:0;top:6px;width:13px;height:1px}.tf-regmark-tl{top:-6px;left:-6px}.tf-regmark-tr{top:-6px;right:-6px}.tf-regmark-bl{bottom:-6px;left:-6px}.tf-regmark-br{bottom:-6px;right:-6px}.tf-ruler{position:relative;height:9px;background-image:repeating-linear-gradient(to right,var(--tf-hairline-strong) 0 1px,transparent 1px 96px),linear-gradient(to bottom,transparent 8px,var(--tf-hairline) 8px)}.tf-ruler-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding-inline:.75rem;background:var(--tf-ink-950);white-space:nowrap}@keyframes tf-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tf-anim-rise{animation:tf-rise .4s var(--tf-ease-out) both}.tf-anim-delay-1{animation-delay:80ms}.tf-anim-delay-2{animation-delay:.16s}@keyframes tf-caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}.tf-caret{display:inline-block;width:1ch;height:1.1em;vertical-align:text-bottom;background:var(--tf-teal-400)}@media (prefers-reduced-motion:no-preference){.tf-caret{animation:tf-caret-blink 1s steps(1) infinite}}@keyframes tf-pulse{0%,to{opacity:1}50%{opacity:.4}}.tf-status-dot{width:6px;height:6px;border-radius:9999px;background:var(--tf-teal-400)}@media (prefers-reduced-motion:no-preference){.tf-status-dot{animation:tf-pulse 2s ease-in-out infinite}}.tf-session-line{position:absolute;inset-inline:0;bottom:-1px;height:2px;background:var(--tf-teal-400);transform:scaleX(0);transform-origin:left;pointer-events:none}.tf-reveal{transition:opacity .6s var(--tf-ease-out),transform .6s var(--tf-ease-out)}.tf-reveal[data-hidden]{opacity:0;transform:translateY(16px)}.tf-cascade{transition:opacity .35s var(--tf-ease-out),transform .35s var(--tf-ease-out);transition-delay:calc(.2s + var(--i, 0) * .12s)}.tf-reveal[data-hidden] .tf-cascade{opacity:0;transform:translateY(6px);transition:none}.tf-heat-cell{opacity:var(--o,.4);transition:opacity .3s var(--tf-ease-out);transition-delay:calc(.25s + var(--d, 0s))}.tf-reveal[data-hidden] .tf-heat-cell{opacity:0;transition:none}@keyframes tf-march{to{stroke-dashoffset:-120}}@media (prefers-reduced-motion:no-preference){.tf-rail-flow{animation:tf-march 10s linear infinite}}.tf-cmdbar{display:flex;align-items:center;gap:.75rem;height:3.5rem;padding-inline:1.25rem;border:1px solid var(--tf-hairline-strong);border-radius:calc(var(--radius) - 2px);background:var(--tf-ink-950);font-family:var(--tf-font-mono);transition:border-color var(--tf-dur-fast)}.tf-cmdbar:focus-visible,.tf-cmdbar:hover{border-color:color-mix(in oklab,var(--tf-teal-400) 60%,transparent)}.tf-cmdbar-hint{opacity:0;transition:opacity var(--tf-dur-fast)}.tf-cmdbar:focus-visible .tf-cmdbar-hint,.tf-cmdbar:hover .tf-cmdbar-hint{opacity:1}.tf-history-row{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;transition:background-color var(--tf-dur-fast)}.tf-history-row:focus-visible,.tf-history-row:hover{background:rgba(231,237,242,.03)}.tf-history-spark{stroke-dasharray:1;stroke-dashoffset:1}.tf-history-row:focus-visible .tf-history-spark,.tf-history-row:hover .tf-history-spark{stroke-dashoffset:0;transition:stroke-dashoffset .6s var(--tf-ease-out)}@media (prefers-reduced-motion:reduce){.tf-history-spark{stroke-dashoffset:0}}.tf-run{--tf-t-prompt:0.2s;--tf-t-compile:2s;--tf-t-sweep:3s;--tf-t-curves:4.5s;--tf-t-receipt:5.9s}@keyframes tf-type{0%{width:0}to{width:53ch}}@keyframes tf-hide{to{opacity:0}}.tf-run-prompt-text{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:bottom}.is-run .tf-run-prompt-text{animation:tf-type 1.6s steps(53) both;animation-delay:var(--tf-t-prompt)}.is-run .tf-run-prompt-caret{animation:tf-caret-blink 1s steps(1) infinite,tf-hide 1ms linear forwards;animation-delay:0s,calc(var(--tf-t-compile) + .2s)}.is-done .tf-run-prompt-caret{opacity:0}@keyframes tf-stamp-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.is-run .tf-run-line{animation:tf-stamp-up .15s var(--tf-ease-out) both;animation-delay:calc(var(--tf-t-compile) + var(--i, 0) * .15s)}@keyframes tf-fade-out{to{opacity:0}}@keyframes tf-fade-in{to{opacity:1}}.tf-run-status-wait{opacity:1}.tf-run-status-ok{opacity:0}.is-run .tf-run-status-wait{animation:tf-fade-out .12s linear forwards;animation-delay:calc(var(--tf-t-compile) + var(--i, 0) * .15s + .25s)}.is-run .tf-run-status-ok{animation:tf-fade-in .12s linear forwards;animation-delay:calc(var(--tf-t-compile) + var(--i, 0) * .15s + .25s)}.is-done .tf-run-status-wait{opacity:0}.is-done .tf-run-status-ok{opacity:1}@keyframes tf-cell-in{0%{opacity:0}to{opacity:var(--o,.4)}}.tf-run-cell{opacity:0}.is-run .tf-run-cell{animation:tf-cell-in .3s linear both;animation-delay:calc(var(--tf-t-sweep) + var(--d, 0s))}.is-done .tf-run-cell{opacity:var(--o,.4)}@keyframes tf-grid-dim{to{opacity:.1}}.is-run .tf-run-grid{animation:tf-grid-dim .3s linear forwards;animation-delay:calc(var(--tf-t-curves) - .2s)}.is-done .tf-run-grid{opacity:.1}.tf-run-cell-ring{opacity:0}.is-run .tf-run-cell-ring{animation:tf-fade-in .2s linear forwards;animation-delay:calc(var(--tf-t-curves) - .3s)}.is-done .tf-run-cell-ring{opacity:1}@keyframes tf-scan{0%{transform:translateX(0)}to{transform:translateX(560px)}}.tf-run-cursor{opacity:0}.is-run .tf-run-cursor{animation:tf-fade-in .1s linear forwards,tf-scan 1.05s linear both,tf-fade-out .2s linear forwards;animation-delay:var(--tf-t-sweep),var(--tf-t-sweep),calc(var(--tf-t-sweep) + 1.05s)}.is-done .tf-run-cursor{opacity:0}.tf-run-curve{stroke-dasharray:1;stroke-dashoffset:0}@keyframes tf-plot{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.is-run .tf-run-curve{animation:tf-plot var(--tf-dur-plot) var(--tf-ease-out) both;animation-delay:calc(var(--tf-t-curves) + var(--i, 0) * .1s)}.is-run .tf-run-curve-winner{animation-duration:.9s}.tf-run-area{opacity:1}.is-run .tf-run-area{opacity:0;animation:tf-fade-in .4s linear forwards;animation-delay:calc(var(--tf-t-curves) + .8s)}@keyframes tf-chip-pop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.is-run .tf-run-chip{animation:tf-chip-pop .2s var(--tf-ease-out) both;animation-delay:calc(var(--tf-t-curves) + 1s)}@keyframes tf-stamp-down{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.is-run .tf-run-receipt-line{animation:tf-stamp-down .2s var(--tf-ease-out) both;animation-delay:var(--tf-t-receipt)}@keyframes tf-seal{0%{opacity:0;transform:rotate(-6deg) scale(1.15)}to{opacity:1;transform:rotate(-6deg) scale(1)}}.tf-run-seal{transform:rotate(-6deg);color:var(--tf-accent-warm);border:1px solid var(--tf-accent-warm)}.is-run .tf-run-seal{animation:tf-seal .2s var(--tf-ease-out) both;animation-delay:calc(var(--tf-t-receipt) + .3s)}.tf-run-replay{opacity:0;visibility:hidden}.is-run .tf-run-replay{animation:tf-replay-in .3s linear both;animation-delay:calc(var(--tf-t-receipt) + .6s)}@keyframes tf-replay-in{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:visible}}@media (prefers-reduced-motion:reduce){.is-run .tf-run-area,.is-run .tf-run-cell,.is-run .tf-run-cell-ring,.is-run .tf-run-chip,.is-run .tf-run-cursor,.is-run .tf-run-curve,.is-run .tf-run-grid,.is-run .tf-run-line,.is-run .tf-run-prompt-caret,.is-run .tf-run-prompt-text,.is-run .tf-run-receipt-line,.is-run .tf-run-replay,.is-run .tf-run-seal,.is-run .tf-run-status-ok,.is-run .tf-run-status-wait{animation:none}.is-run .tf-run-status-wait{opacity:0}.is-run .tf-run-area,.is-run .tf-run-cell-ring,.is-run .tf-run-status-ok{opacity:1}.is-run .tf-run-cell{opacity:var(--o,.4)}.is-run .tf-run-grid{opacity:.1}.is-run .tf-run-cursor,.is-run .tf-run-prompt-caret{opacity:0}}.tf-proof-fill{height:100%;background:var(--tf-teal-400);transform-origin:left}@keyframes tf-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tf-proof.is-live .tf-proof-fill{animation:tf-fill var(--ms,.5s) linear both}.tf-ms-ruler{height:7px;background-image:repeating-linear-gradient(to right,var(--tf-hairline-strong) 0 1px,transparent 1px calc(100% / 2.8)),repeating-linear-gradient(to right,var(--tf-hairline) 0 1px,transparent 1px calc(100% / 14)),linear-gradient(to top,var(--tf-hairline-strong) 1px,transparent 1px)}.tf-receipt{background:var(--tf-ink-950);border:1px solid var(--tf-hairline-strong);border-bottom:none;clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),95% 100%,90% calc(100% - 8px),85% 100%,80% calc(100% - 8px),75% 100%,70% calc(100% - 8px),65% 100%,60% calc(100% - 8px),55% 100%,50% calc(100% - 8px),45% 100%,40% calc(100% - 8px),35% 100%,30% calc(100% - 8px),25% 100%,20% calc(100% - 8px),15% 100%,10% calc(100% - 8px),5% 100%,0 calc(100% - 8px))}.tf-receipt-row+.tf-receipt-row{border-top:1px dashed var(--tf-hairline)}.tf-dotlead{flex:1;margin-inline:.6ch;border-bottom:1px dotted var(--tf-hairline-strong);transform:translateY(-.3em)}.tf-res-underline{position:relative}.tf-res-underline:after{content:"";position:absolute;inset-inline:0;bottom:-6px;height:2px;background:color-mix(in oklab,var(--tf-teal-400) 60%,transparent);transform:scaleX(1);transform-origin:left;transition:transform .5s var(--tf-ease-out) .3s}.tf-reveal[data-hidden] .tf-res-underline:after{transform:scaleX(0);transition:none}@media (prefers-reduced-motion:reduce){.tf-anim-rise{animation:none}.tf-reveal[data-hidden]{opacity:1;transform:none}.tf-reveal[data-hidden] .tf-cascade,.tf-reveal[data-hidden] .tf-heat-cell{opacity:var(--o,1);transform:none}.tf-proof.is-live .tf-proof-fill{animation:none;opacity:1;transform:none}.tf-res-underline:after,.tf-reveal[data-hidden] .tf-res-underline:after{transform:scaleX(1);transition:none}}