@keyframes tpl-pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.25)}}@keyframes tpl-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes tpl-code-cursor{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes tpl-scroll-x{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes tpl-bar-grow{0%{transform:scaleY(.4)}to{transform:scaleY(1)}}.tpl-anim-pulse-dot{animation:tpl-pulse-dot 2s ease-in-out infinite}.tpl-anim-float{animation:tpl-float 3.5s ease-in-out infinite}.tpl-anim-cursor{animation:tpl-code-cursor 1s step-end infinite}.tpl-anim-scroll-x{animation:tpl-scroll-x 30s linear infinite}.tpl-anim-bar{animation:tpl-bar-grow 1.4s ease-in-out infinite alternate}@keyframes tpl-fade-slide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tpl-anim-fade-slide{animation:tpl-fade-slide .45s ease-out both}@keyframes tpl-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tpl-anim-progress{transform-origin:left center;animation:tpl-progress linear forwards}@keyframes tpl-orbit-dash{to{stroke-dashoffset:-60}}.tpl-anim-orbit-dash{animation:tpl-orbit-dash 2s linear infinite}@keyframes tpl-bob{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-4px)}}.tpl-anim-bob{animation:tpl-bob 3s ease-in-out infinite}@keyframes tpl-glow{0%,to{box-shadow:0 0 0 0 rgba(99,102,241,0);transform:scale(1)}50%{box-shadow:0 0 0 3px rgba(99,102,241,.35);transform:scale(1.03)}}.tpl-anim-glow{animation:tpl-glow 1.8s ease-in-out infinite}@keyframes tpl-type{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.tpl-anim-type{animation:tpl-type .6s steps(24) both}@keyframes tpl-fill{0%{width:0}to{width:var(--tpl-fill,100%)}}.tpl-anim-fill{animation:tpl-fill 1.2s ease-out forwards}