.hero-actions .download-entry {background:transparent;color:#f1f6f2;border:1px solid #778b82;gap:16px;cursor:pointer;font-size:14px;}
.hero-actions .download-entry>[data-download-label]{font-size:14px}
@media (max-width:760px){
  .hero-actions{flex-wrap:wrap;justify-content:center;gap:12px}
  .hero-actions>.text-link{flex-basis:100%;justify-content:center;margin-top:4px}
}
#download-dialog{width:min(460px,92vw);padding:0;border-radius:18px;overflow:hidden;background:#0d1f2b;color:#e3efe9;border:1px solid #33525f;box-shadow:0 30px 100px #000b;}
#download-dialog::backdrop{background:#061821db;backdrop-filter:blur(8px);}
@media (prefers-reduced-motion: no-preference) {
  #download-dialog[open]{animation:dlIn .46s cubic-bezier(.22,1.4,.36,1) both;}
  #download-dialog[open]::backdrop{animation:dlFade .38s ease both;}
  #download-dialog[open] .download-mark{animation:dlMark .6s .1s cubic-bezier(.3,1.5,.5,1) both;}
  #download-dialog[open] .dl-primary{animation:dlSheen 1.1s .5s ease-out both;}
  #download-dialog[open] .download-others{animation:dlFadeUp .5s .35s ease-out both;}
}
@keyframes dlIn{from{opacity:0;transform:translateY(22px) scale(.94);}}
@keyframes dlFade{from{opacity:0;}}
@keyframes dlMark{from{opacity:0;transform:scale(.55) rotate(-6deg);}}
@keyframes dlSheen{
  from{box-shadow:0 0 0 0 rgba(127,169,157,0);background-position:120% 0;}
  40%{box-shadow:0 0 22px 3px rgba(127,169,157,.5);}
  to{box-shadow:0 0 0 0 rgba(127,169,157,0);}
}
@keyframes dlFadeUp{from{opacity:0;transform:translateY(8px);}}
.download-panel{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:44px 24px 28px;background:radial-gradient(120% 90% at 50% -10%, #17323f 0%, #0d1f2b 62%);}
#close-download-dialog{position:absolute;top:10px;right:12px;font-size:26px;line-height:1;padding:4px 8px;color:#7f96a4;background:none;border:0;cursor:pointer;transition:color .2s;}
#close-download-dialog:hover{color:#e3efe9;}
.dl-logo-stage{position:relative;width:88px;height:88px;}
.download-mark{display:block;border-radius:20px;box-shadow:0 8px 30px rgba(0,0,0,.4),0 0 0 1px rgba(127,169,157,.15);}
  18%{opacity:1;}
  60%{transform:translate(-18px,8px) scale(.95) rotate(8deg);opacity:1;}
  82%{transform:translate(2px,-3px) scale(.78) rotate(-2deg);}
  100%{transform:translate(0,0) scale(.7) rotate(0deg);opacity:0;}
}
@media (prefers-reduced-motion: no-preference) {
  #download-dialog[open] }
  to{opacity:1;clip-path:inset(0 0% 0 0);transform:translateY(0);}
}
  to{background-position:-50% 0;}
}
  8%{opacity:1;}
  55%{transform:scale(.92);}
  88%{offset-distance:88%;opacity:1;transform:scale(.7);}
  100%{offset-distance:100%;opacity:0;transform:scale(.55);}
}
  10%{opacity:.8;}
  88%{offset-distance:88%;opacity:.7;}
  100%{offset-distance:100%;opacity:0;}
}
  25%,80%{opacity:.8;}
  100%{opacity:0;}
}
.dl-welcome{
  margin:2px 0 0;font-size:22px;line-height:1.45;
  color:#a9d9c6;letter-spacing:.02em;
}
.dl-welcome-en{font-family:"Caveat","Comic Sans MS","Comic Neue","Bradley Hand",cursive;font-style:normal;font-weight:600;font-size:1.32em;letter-spacing:.01em;}
.dl-welcome-zh{font-family:"Hannotate SC","Yuanti SC","YouYuan","Hannotate SB","Yuanti SC","Kaiti SC","STKaiti","KaiTi",sans-serif;font-size:.98em;}
@media (prefers-reduced-motion: no-preference) {
  #download-dialog[open] .dl-welcome{animation:dlWelcomeIn 1.1s .7s cubic-bezier(.2,.7,.3,1) both;}
}
@keyframes dlWelcomeIn{
  from{opacity:0;transform:translateY(10px);filter:blur(6px);}
  to{opacity:1;transform:translateY(0);filter:blur(0);}
}
  30%,78%{opacity:.85;}
  100%{opacity:0;}
}
.download-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;min-height:46px;}
.dl-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;border-radius:12px;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid #3a5563;background:#122935;color:#ddebe6;font-family:inherit;transition:transform .15s,box-shadow .2s;}
.dl-button:not([aria-disabled="true"]):hover{transform:translateY(-1px);}
.dl-button.dl-primary{background:linear-gradient(120deg,#edf4f1 30%,#b9d4cb 50%,#edf4f1 70%);background-size:220% 100%;color:#0d1f2b;border-color:#edf4f1;}
.dl-button[aria-disabled="true"]{opacity:.45;cursor:default;}
.download-meta{margin:-8px 0 0;font-size:12px;color:#8aa3b0;}
.download-status{margin:0;font-size:12.5px;color:#9fd8c4;min-height:17px;}
.download-others{width:100%;}
.download-others summary{font-size:12.5px;color:#8aa3b0;cursor:pointer;list-style:none;}
.download-others summary::-webkit-details-marker{display:none;}
.download-others summary::before{content:"▸ ";}
.download-others[open] summary::before{content:"▾ ";}
.download-other-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;}
.dl-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid #294754;border-radius:12px;background:#112736;text-align:left;transition:border-color .2s,background .2s,transform .15s;}
.dl-row:hover{border-color:#4a7285;background:#142f3d;transform:translateY(-1px);}
.dl-icon{flex:0 0 36px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#0d1f2b;border:1px solid #294754;color:#7fa99d;}
.dl-icon svg{width:18px;height:18px;}
.dl-info{flex:1;min-width:0;}
.dl-name{display:block;font-size:13.5px;font-weight:600;color:#ddebe6;}
.dl-meta{display:block;font-size:11.5px;color:#7e97a4;margin-top:2px;}
.dl-row .dl-arrow{flex:0 0 auto;color:#5c8a7d;display:flex;}
.dl-row .dl-arrow svg{width:16px;height:16px;}
