.download-feedback[hidden]{display:none}
.download-feedback{--download-fill:0;margin-top:24px;padding:23px 20px 20px;background:#292e23;border-radius:30px 18px 34px 18px;animation:download-arrive .35s ease both}
.download-scene{display:flex;align-items:center;gap:18px;margin-bottom:19px}
.download-organism{position:relative;flex:0 0 72px;height:72px;isolation:isolate;display:grid;place-items:center}
.download-organism::before,.download-organism::after{content:'';position:absolute;inset:3px;background:var(--lavender,#bda3ef);border-radius:46% 54% 62% 38% / 42% 42% 58% 58%;z-index:-1;transform:rotate(-18deg)}
.download-organism::after{inset:9px 0 0 9px;background:var(--lime,#c6f65b);border-radius:52% 48% 36% 64% / 58% 41% 59% 42%;transform:rotate(20deg)}
.download-organism svg{width:28px;height:28px;fill:none;stroke:#20261b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.download-check{display:none}.download-stage{font-size:12px;font-weight:600;color:#d2d6c9;letter-spacing:.02em;display:block;margin-bottom:5px}.download-percent{font-size:34px;line-height:1.1;letter-spacing:-1.5px;font-weight:800;font-variant-numeric:tabular-nums;color:#eef7d8}
.download-track{height:12px;position:relative;overflow:hidden;background:#414835;border-radius:60% 18px 18px 60% / 50%}
.download-track-fill{position:absolute;inset:0;background:var(--lime,#c6f65b);transform:scaleX(var(--download-fill));transform-origin:left;transition:transform .3s ease;border-radius:inherit}
.download-track-fill::after{content:'';position:absolute;right:0;top:-4px;bottom:-4px;width:28px;background:#e0fca4;border-radius:50%;transform:rotate(-15deg)}
.download-feedback #download-status{font-size:12px;line-height:1.65;color:#c9cebf;margin:13px 0 0;text-wrap:pretty;overflow-wrap:anywhere}
.download-cancel{border:0;background:transparent;padding:9px 0 0;color:#e2e8d5;font-size:12px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.download-cancel:hover{color:var(--lime,#c6f65b)}
.download-feedback progress{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.download-feedback[data-state="ready"]{background:#2c3522}.download-feedback[data-state="ready"] .download-arrow{display:none}.download-feedback[data-state="ready"] .download-check{display:block}.download-feedback[data-state="ready"] .download-percent{font-size:27px;letter-spacing:-1px}
.download-feedback[data-state="error"],.download-feedback[data-state="paused"]{background:#302d36}.download-feedback[data-state="error"] .download-track-fill,.download-feedback[data-state="paused"] .download-track-fill{background:var(--lavender,#bda3ef)}
.download-apk[aria-disabled="true"]{cursor:progress;transform:none;background:#d4ee9c}
@keyframes download-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes download-breathe{0%,100%{transform:rotate(-18deg) scale(.94)}50%{transform:rotate(12deg) scale(1.05)}}
@keyframes download-flow{0%,100%{transform:rotate(20deg) scale(1)}50%{transform:rotate(-10deg) scale(.93)}}
@keyframes download-fall{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}
@media(prefers-reduced-motion:no-preference){.download-feedback:is([data-state="preparing"],[data-state="downloading"],[data-state="verifying"]) .download-organism::before{animation:download-breathe 3.5s ease-in-out infinite}.download-feedback:is([data-state="preparing"],[data-state="downloading"],[data-state="verifying"]) .download-organism::after{animation:download-flow 2.8s ease-in-out infinite}.download-feedback[data-state="downloading"] .download-arrow{animation:download-fall 1.6s ease-in-out infinite}.download-feedback[data-state="verifying"] .download-organism{animation:download-flow 2.4s ease-in-out infinite}}
@media(max-width:370px){.download-feedback{padding:19px 15px}.download-scene{gap:14px}.download-percent{font-size:30px}}
@media(prefers-reduced-motion:reduce){.download-feedback,.download-feedback *,.download-feedback::before,.download-feedback::after{animation:none!important;transition:none!important}}
