@keyframes app-promo-rise{0%{opacity:1;transform:translateY(0)}80%{opacity:1}96%{opacity:0}to{transform:translateY(calc(-1 * var(--rise-distance,180px)));opacity:0}}@keyframes app-promo-shine{0%{transform:translate(-120%)skew(-18deg)}60%,to{transform:translate(320%)skew(-18deg)}}@keyframes app-promo-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.app-promo-bubble{border-radius:50%;animation:linear infinite app-promo-rise;position:absolute;bottom:-30px}.app-promo-shine{background:linear-gradient(90deg,#fff0 0%,#ffffff2e 35%,#ffffff61 50%,#ffffff2e 65%,#fff0 100%);width:45%;animation:4.5s ease-in-out infinite app-promo-shine;position:absolute;top:-20px;bottom:-20px}.app-promo-bob{animation:1.5s ease-in-out infinite app-promo-bob}.app-promo-bob-chip{animation-duration:2.4s}@keyframes app-promo-banner-in{0%{opacity:0;transform:translateY(110%)}to{opacity:1;transform:translateY(0)}}@keyframes app-promo-banner-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(110%)}}.app-promo-banner-in{animation:.65s cubic-bezier(.34,1.4,.64,1) both app-promo-banner-in}.app-promo-banner-out{animation:.3s ease-in both app-promo-banner-out}.app-promo-banner-bleed:after{content:"";inset-inline:0;background:linear-gradient(to right, var(--color-app-green) -100%, var(--color-app-green-dark) 100%);background:linear-gradient(to right in oklab, var(--color-app-green) -100%, var(--color-app-green-dark) 100%);height:2rem;position:absolute;top:100%}@keyframes app-promo-qr-ring{0%{box-shadow:0 26px 14px 2px #16a86200,0 24px 50px -24px #101f3866}20%,80%{box-shadow:0 0 0 5px var(--color-app-green), 0 24px 50px -24px #101f3866}to{box-shadow:0 -26px 14px 2px #16a86200,0 24px 50px -24px #101f3866}}@keyframes app-promo-qr-ring-still{0%,to{box-shadow:0 0 0 5px #16a86200,0 24px 50px -24px #101f3866}20%,80%{box-shadow:0 0 0 5px var(--color-app-green), 0 24px 50px -24px #101f3866}}.app-promo-qr-ring[data-pulse]{animation:3.5s ease-in-out both app-promo-qr-ring}@media (prefers-reduced-motion:reduce){.app-promo-banner-in,.app-promo-banner-out{animation:none}.app-promo-qr-ring[data-pulse]{animation-name:app-promo-qr-ring-still}.app-promo-bubble{animation:none}.app-promo-shine{opacity:0;animation:none}.app-promo-bob{animation:none}}