@keyframes tf-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes tf-type{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes tf-caret{0%,45%{opacity:1}50%,95%{opacity:0}to{opacity:1}}@keyframes tf-beam{0%{opacity:0;transform:translateY(-120%)}12%,88%{opacity:1}to{opacity:0;transform:translateY(560%)}}@keyframes tf-rail{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes tf-pop{0%{opacity:0;transform:scale(.3)}65%{transform:scale(1.3)}to{opacity:1;transform:scale(1)}}@keyframes tf-draw{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@keyframes tf-drift{0%,to{transform:translate(0)}50%{transform:translate(14px,-10px)}}@keyframes tf-cycle4{0%,20%{opacity:1}26%,to{opacity:0}}.tf-stack{display:grid}.tf-stack>*{grid-area:1/1}.tf-reveal,.tf-token{opacity:1;transform:none}.tf-rail{transform:scaleY(1)}.tf-cite{opacity:1;transform:none}.tf-beam{display:none}.tf-draw use{stroke-dashoffset:0}.tf-stack>.tf-cycle:not(:first-child){opacity:0}[data-motion=on] .tf-beam{animation:3.6s cubic-bezier(.4,0,.5,1) infinite tf-beam;display:block}[data-motion=on] .tf-rail{animation:tf-rail .62s var(--ease) both}[data-motion=on] .tf-cite{animation:tf-pop .42s var(--ease) .62s both}[data-motion=on] .tf-token{animation:tf-up .32s var(--ease) both}[data-motion=on] .tf-typed{animation:2.2s steps(34,end) both tf-type}[data-motion=on] .tf-caret{animation:1.1s step-end infinite tf-caret}[data-motion=on] .tf-cycle{animation:9.6s linear infinite forwards tf-cycle4}[data-motion=on] .tf-float{animation:14s ease-in-out infinite tf-drift}[data-motion=on] .tf-draw use{stroke-dasharray:100;animation:tf-draw 1.5s var(--ease) both}@supports (animation-timeline:view()){[data-motion=on] .tf-reveal{animation:tf-up var(--dur-reveal) var(--ease) both;animation-timeline:view();animation-range:entry entry 55%}}
