@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marquee-x{0%{transform:translate(0)}to{transform:translateX(calc(-100% - var(--gap)))}}@keyframes marquee-y{0%{transform:translateY(0)}to{transform:translateY(calc(-100% - var(--gap)))}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-100% 0}}@keyframes twinkle{0%,to{opacity:.25}50%{opacity:.9}}.animate-fade-in-up{animation:.5s ease-out both fade-in-up}.animate-marquee,.animate-marquee-x,.animate-marquee-y{animation-timing-function:linear;animation-iteration-count:infinite}.animate-marquee{animation-name:marquee;animation-duration:38s}.animate-marquee-x{animation-name:marquee-x;animation-duration:var(--duration)}.animate-marquee-y{animation-name:marquee-y;animation-duration:var(--duration)}.animate-twinkle{animation:3.2s ease-in-out infinite twinkle}.skeleton{--skeleton-base:var(--ui-skeleton-base);--skeleton-sheen:var(--ui-skeleton-sheen);background-color:var(--skeleton-base);background-image:linear-gradient(90deg, transparent 0%, var(--skeleton-sheen) 50%, transparent 100%);background-repeat:no-repeat;background-size:200% 100%;animation-name:skeleton-shimmer;animation-duration:1.9s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.skeleton-on-contrast{--skeleton-base:var(--ui-skeleton-base-on-contrast);--skeleton-sheen:var(--ui-skeleton-sheen-on-contrast)}.skeleton-on-primary{--skeleton-base:#00000024;--skeleton-sheen:#ffffff47}@media (prefers-reduced-motion:reduce){.animate-fade-in-up,.animate-marquee,.animate-marquee-x,.animate-marquee-y,.animate-twinkle{animation:none}.skeleton{background-image:none;animation:none}}@keyframes split-char-in{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}.animate-split-char{white-space:pre;animation-name:split-char-in;animation-duration:1.25s;animation-timing-function:cubic-bezier(.165,.84,.44,1);animation-fill-mode:both;animation-delay:var(--char-delay,0s);display:inline-block}@media (prefers-reduced-motion:reduce){.animate-split-char{animation:none}}@keyframes draw-path{0%{stroke-dashoffset:1px;opacity:0}to{stroke-dashoffset:0;opacity:1}}.animate-draw-path{stroke-dasharray:1;animation:2.4s cubic-bezier(.16,1,.3,1) .2s both draw-path}@media (prefers-reduced-motion:reduce){.animate-draw-path{stroke-dashoffset:0;animation:none}}@keyframes flow{0%{offset-distance:0%;opacity:0}8%,85%{opacity:1}to{offset-distance:100%;opacity:0}}.animate-flow{animation:3.4s linear infinite flow}@media (prefers-reduced-motion:reduce){.animate-flow{opacity:0;animation:none}}@keyframes search-scrim-in{0%{opacity:0}to{opacity:1}}.animate-search-scrim-in{animation:.25s ease-out both search-scrim-in}@media (prefers-reduced-motion:reduce){.animate-search-scrim-in{animation:none}}@keyframes departure-focus{0%,to{opacity:1;transform:scale(1.12)}28%,72%{opacity:.42;transform:scale(.95)}}.animate-departure-focus{animation-name:departure-focus;animation-duration:var(--duration);animation-delay:var(--focus-delay,0s);will-change:transform, opacity;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@media (prefers-reduced-motion:reduce){.animate-departure-focus{animation:none}}@keyframes corridor-bar-grow{0%{width:0}}.animate-corridor-bar{animation:1.15s cubic-bezier(.16,1,.3,1) backwards corridor-bar-grow}@media (prefers-reduced-motion:reduce){.animate-corridor-bar{animation:none}}@keyframes gallery-fade-in{0%{opacity:0}}.animate-gallery-fade{animation:.28s ease-out both gallery-fade-in}@media (prefers-reduced-motion:reduce){.animate-gallery-fade{animation:none}}
