.download-feedback{position:relative;isolation:isolate;overflow:hidden}
.download-feedback__content{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:12px;pointer-events:none}
.download-feedback__icon{display:block;flex:0 0 28px;width:28px;height:28px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.download-feedback__icon>*{transform-box:fill-box;transform-origin:center}
.download-feedback__halo{opacity:0;stroke-width:1.2}
.download-feedback__check{opacity:0;stroke-dasharray:1;stroke-dashoffset:1}
.download-feedback__spark{opacity:0;fill:currentColor;stroke:none}
.download-feedback__labels{display:grid;text-align:center}
.download-feedback__labels>span{grid-area:1/1;transition:opacity .18s ease,transform .24s ease;line-height:1.2}
.download-feedback__sent{opacity:0;transform:translateY(7px)}
.download-feedback::after{content:"";position:absolute;z-index:0;inset:-45% auto -45% -55%;width:40%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}
.download-feedback[data-download-state="active"]{animation:download-feedback-press .52s cubic-bezier(.2,.9,.3,1)}
.download-feedback[data-download-state="active"]::after{animation:download-feedback-sheen .8s ease-out}
.download-feedback[data-download-state="active"] .download-feedback__arrow{animation:download-feedback-drop .58s cubic-bezier(.35,0,.2,1) both}
.download-feedback[data-download-state="active"] .download-feedback__tray{animation:download-feedback-tray .4s .2s cubic-bezier(.2,.9,.3,1) both}
.download-feedback[data-download-state="active"] .download-feedback__halo{animation:download-feedback-halo .6s .27s ease-out both}
.download-feedback[data-download-state="active"] .download-feedback__check{animation:download-feedback-check .3s .49s ease-out both}
.download-feedback[data-download-state="active"] .download-feedback__spark{animation:download-feedback-spark .55s .32s ease-out both}
.download-feedback[data-download-state="sent"] .download-feedback__arrow,.download-feedback[data-download-state="sent"] .download-feedback__tray{opacity:0}
.download-feedback[data-download-state="sent"] .download-feedback__check{opacity:1;stroke-dashoffset:0}
.download-feedback[data-download-state="sent"] .download-feedback__initial{opacity:0;transform:translateY(-7px)}
.download-feedback[data-download-state="sent"] .download-feedback__sent{opacity:1;transform:translateY(0)}
.download-feedback__announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes download-feedback-press{0%{transform:translateY(0) scale(1)}16%{transform:translateY(2px) scale(.965)}52%{transform:translateY(-2px) scale(1.025)}100%{transform:translateY(0) scale(1)}}
@keyframes download-feedback-sheen{0%{opacity:0;left:-55%}20%{opacity:.9}100%{opacity:0;left:140%}}
@keyframes download-feedback-drop{0%{transform:translateY(-3px);opacity:1}36%{transform:translateY(0);opacity:1}72%,100%{transform:translateY(9px);opacity:0}}
@keyframes download-feedback-tray{0%,100%{transform:translateY(0)}45%{transform:translateY(2.5px)}}
@keyframes download-feedback-halo{0%{opacity:.55;transform:scale(.65)}100%{opacity:0;transform:scale(1.35)}}
@keyframes download-feedback-check{0%{opacity:1;stroke-dashoffset:1}100%{opacity:1;stroke-dashoffset:0}}
@keyframes download-feedback-spark{0%{opacity:.8;transform:scale(.4)}55%{opacity:.45;transform:scale(1.7)}100%{opacity:0;transform:scale(2)}}
@media(max-width:720px){.download-feedback__content{gap:10px}.download-feedback__icon{width:25px;height:25px;flex-basis:25px}.download-feedback__labels{min-width:0}}
@media(prefers-reduced-motion:reduce){
  .download-feedback,.download-feedback *,.download-feedback::after{animation:none!important;transition:none!important}
  .download-feedback::after{display:none}
  .download-feedback[data-download-state="active"] .download-feedback__arrow,.download-feedback[data-download-state="active"] .download-feedback__tray{opacity:0}
  .download-feedback[data-download-state="active"] .download-feedback__check{opacity:1;stroke-dashoffset:0}
}
