.download-toast {
  position: fixed;
  top: calc(env(safe-area-inset-top) + 18px);
  left: 50%;
  z-index: 300;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: calc(100vw - 32px);
  min-height: 46px;
  padding: 9px 20px 9px 12px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(83, 151, 225, .42);
  border-radius: 999px;
  background: rgba(250, 253, 255, .88);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  box-shadow: 0 10px 32px rgba(0, 93, 186, .18), inset 0 1px rgba(255, 255, 255, .72);
  color: #17314e;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  opacity: 0;
  transform: translate(-50%, -12px) scale(.96);
  transition: opacity .32s ease, transform .42s cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
}
.download-toast[hidden] { display: none; }
.download-toast.is-visible { opacity: 1; transform: translate(-50%, 0) scale(1); }
.download-toast::before {
  content: "";
  position: absolute;
  inset: -35% -10%;
  z-index: 0;
  background: linear-gradient(110deg, transparent 20%, rgba(73, 159, 255, .18) 48%, transparent 76%);
  transform: translateX(-80%);
  animation: download-sheen 2.6s ease-in-out infinite;
}
.download-toast__mark {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  flex: none;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(145deg, #157fe3, #0058b5);
  box-shadow: 0 0 0 4px rgba(24, 128, 231, .12), 0 0 18px rgba(24, 128, 231, .36);
  color: #fff;
  font-size: 15px;
  line-height: 1;
}
.download-toast[data-state="loading"] .download-toast__mark::before {
  content: "";
  width: 11px;
  height: 11px;
  border: 2px solid rgba(255, 255, 255, .5);
  border-top-color: #fff;
  border-radius: 50%;
  animation: download-spin .8s linear infinite;
}
.download-toast[data-state="error"] .download-toast__mark {
  background: linear-gradient(145deg, #e76872, #b9394a);
  box-shadow: 0 0 0 4px rgba(214, 72, 88, .12), 0 0 18px rgba(214, 72, 88, .3);
}
.download-toast__text { position: relative; z-index: 1; overflow: hidden; text-overflow: ellipsis; }
html[data-theme="dark"] .download-toast {
  border-color: rgba(126, 187, 255, .36);
  background: rgba(20, 36, 57, .84);
  box-shadow: 0 12px 38px rgba(0, 0, 0, .28), 0 0 30px rgba(14, 116, 228, .14), inset 0 1px rgba(255, 255, 255, .12);
  color: #eff7ff;
}
@keyframes download-sheen { to { transform: translateX(80%); } }
@keyframes download-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .download-toast, .download-toast::before { transition: none; animation: none; }
  .download-toast[data-state="loading"] .download-toast__mark::before { animation: none; }
}
