@keyframes fh-pop{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}@keyframes fh-tick{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes fh-route{0%,2%{opacity:0}6%,30%{opacity:1}34%,to{opacity:0}}@keyframes fh-wire-y{0%{opacity:0;transform:translate(-3px,-4px)}15%,85%{opacity:1}to{opacity:0;transform:translate(-3px,calc(2rem - 3px))}}@keyframes fh-wire-x{0%{opacity:0;left:0}15%,85%{opacity:1}to{opacity:0;left:calc(100% - 7px)}}@keyframes fh-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes fh-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes fh-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes fh-arrive{0%{opacity:0}35%{opacity:1}to{opacity:0}}@keyframes fh-stamp{0%{opacity:0;transform:scale(.4)rotate(-20deg)}70%{opacity:1;transform:scale(1.2)rotate(4deg)}to{opacity:1;transform:none}}.fh-wire{background:repeating-linear-gradient(180deg, var(--color-line-strong) 0 4px, transparent 4px 8px)}.fh-wire-dot{opacity:0;top:0;left:50%}@media (min-width:64rem){.fh-wire{background:repeating-linear-gradient(90deg, var(--color-line-strong) 0 4px, transparent 4px 8px)}.fh-wire-dot{top:-3px;left:0}}.fh-route:after{content:"";border-radius:inherit;box-shadow:inset 0 0 0 1.5px var(--color-accent);opacity:0;pointer-events:none;background:#f0541c0f;position:absolute;inset:0}.fh-draw{stroke-dasharray:1;stroke-dashoffset:0}.fh-arrive{opacity:0;box-shadow:inset 0 0 0 1.5px var(--color-accent), 0 0 24px -6px #f0541c8c}@media (prefers-reduced-motion:no-preference){.fh-draw{animation:fh-draw .8s var(--ease-out-quint) both}.fh-arrive{animation:fh-arrive .9s var(--ease-out-quint) both}.fh-pop{animation:fh-pop .7s var(--ease-out-quint) both}.fh-tick{animation:fh-tick .5s var(--ease-out-quint) 1.6s both}.fh-route:after{animation:fh-route 9s var(--ease-in-out) infinite;animation-delay:inherit}.fh-wire-dot{animation:fh-wire-y 2.8s var(--ease-in-out) infinite}@media (min-width:64rem){.fh-wire-dot{animation-name:fh-wire-x}}@supports (animation-timeline:view()){.fh-reveal{animation:linear both fh-rise;animation-timeline:view();animation-range:entry entry 55%}.fh-bar{transform-origin:0;animation:linear both fh-grow;animation-timeline:view();animation-range:entry 20% cover 40%}.fh-tile{animation:linear both fh-rise;animation-timeline:view();animation-range:entry entry 80%}.fh-stamp{animation:linear both fh-stamp;animation-timeline:view();animation-range:entry 40% cover 45%}}}@media (prefers-reduced-motion:reduce){.fh-route:first-child:after{opacity:1}.fh-tick{transform:translateY(-50%)}.fh-wire-dot{display:none}}
