/* Visual motion transcribed from reference/home.css. */

@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scaleIn{from{opacity:0;transform:scale(.92) translateY(16px)}to{opacity:1;transform:none}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(-50px,40px)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes floatR{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(-3deg) translateY(-10px)}}
@keyframes type{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes blink{50%{opacity:0}}
@keyframes sweep{0%{left:6%}100%{left:94%}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(.55)}}
@keyframes bounce{0%{transform:translateY(-34px)}100%{transform:translateY(30px)}}
@keyframes shadow{0%{transform:scaleX(.4);opacity:.25}100%{transform:scaleX(1);opacity:.6}}
@keyframes wave{0%,100%{transform:scaleY(.25)}50%{transform:scaleY(1)}}
@keyframes morph{0%,100%{border-radius:50% 50% 50% 50%/50% 50% 50% 50%;transform:rotate(0)}33%{border-radius:32% 68% 58% 42%/48% 34% 66% 52%;transform:rotate(60deg)}66%{border-radius:62% 38% 30% 70%/60% 64% 36% 40%;transform:rotate(120deg)}}
@keyframes orbit{from{transform:rotate(0) translateX(40px) rotate(0)}to{transform:rotate(360deg) translateX(40px) rotate(-360deg)}}
@keyframes flip{0%,15%{transform:perspective(320px) rotateY(0)}50%,65%{transform:perspective(320px) rotateY(180deg)}100%{transform:perspective(320px) rotateY(360deg)}}
@keyframes stretch{0%,100%{transform:scaleX(.18)}50%{transform:scaleX(1)}}
@keyframes dash{to{stroke-dashoffset:-48}}
@keyframes travel{from{offset-distance:0%;opacity:0}10%{opacity:1}90%{opacity:1}to{offset-distance:100%;opacity:0}}
@keyframes scan{0%{top:-10%}100%{top:100%}}
@keyframes ring{0%{transform:translate(-50%,-50%) scale(.25);opacity:.8}100%{transform:translate(-50%,-50%) scale(1);opacity:0}}
@keyframes bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(-4deg)}}
@keyframes tabs3{0%,28%{transform:translateX(0)}33%,61%{transform:translateX(88px)}66%,94%{transform:translateX(176px)}100%{transform:translateX(0)}}
@keyframes tog{0%,45%{transform:translateX(0)}50%,95%{transform:translateX(40px)}100%{transform:translateX(0)}}
@keyframes sel4{0%,20%{transform:translateY(0)}25%,45%{transform:translateY(84px)}50%,70%{transform:translateY(168px)}75%,95%{transform:translateY(252px)}100%{transform:translateY(0)}}
@keyframes cellIn{from{transform:scale(0)}to{transform:scale(1)}}
@keyframes fanL{from{transform:rotate(0) translate(0,0)}to{transform:rotate(-9deg) translate(-46px,18px)}}
@keyframes fanM{from{transform:rotate(0)}to{transform:rotate(-2.5deg) translate(-10px,4px)}}
@keyframes fanR{from{transform:rotate(0) translateY(0)}to{transform:rotate(4deg) translate(22px,-6px)}}
@keyframes under{0%,10%{transform:scaleX(0)}40%,80%{transform:scaleX(1)}100%{transform:scaleX(0)}}
@keyframes glow{0%,100%{box-shadow:0 0 0 0 rgba(94,230,168,.55)}50%{box-shadow:0 0 0 10px rgba(94,230,168,0)}}
@keyframes glowY{0%,100%{box-shadow:0 0 0 0 rgba(255,225,77,.6)}50%{box-shadow:0 0 0 12px rgba(255,225,77,0)}}
@keyframes spinSlow{to{transform:rotate(360deg)}}
@keyframes fly{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes slideIn{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}

.rise{animation:rise 1s cubic-bezier(.16,.8,.2,1) both}
.fade{animation:fadeIn 1.1s ease both}
.scalein{animation:scaleIn 1.1s cubic-bezier(.16,.8,.2,1) both}
.d1{animation-delay:.05s}.d2{animation-delay:.14s}.d3{animation-delay:.24s}.d4{animation-delay:.34s}.d5{animation-delay:.44s}.d6{animation-delay:.56s}
.bar{transform-origin:left center;animation:grow 1.1s cubic-bezier(.16,.8,.2,1) both}
.typing{animation:type 1.5s steps(26) .7s both}
.caret{animation:blink 1s steps(1) infinite}
.trav1{position:absolute;left:0;top:0;offset-path:path('M296 214 C 336 214 322 118 360 118');offset-rotate:0deg;animation:travel 2.2s linear infinite}
.trav2{position:absolute;left:0;top:0;offset-path:path('M500 236 L 500 296');offset-rotate:0deg;animation:travel 1.6s linear infinite}
.trav3{position:absolute;left:0;top:0;offset-path:path('M346 196 C 420 196 430 300 486 312');offset-rotate:0deg;animation:travel 2.6s linear infinite}
.plane{position:absolute;left:0;top:0;offset-path:path('M -20 150 C 90 30 230 10 300 80 S 470 230 610 40');offset-rotate:auto;animation:fly 5.5s cubic-bezier(.45,0,.35,1) 1s infinite}
.chan{transition:transform .3s cubic-bezier(.2,.7,.1,1),background-color .3s}
.chan:hover{transform:translateX(6px);background-color:rgba(255,255,255,.16) !important}
@keyframes titleRise{from{transform:translateY(28px)}to{transform:none}}
.title.rise{animation-name:titleRise}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.001s !important;animation-iteration-count:1 !important;animation-delay:0s !important;transition-duration:0s !important;scroll-behavior:auto !important}}
