.downloadHeader { max-width: 62rem; margin: 0 auto; padding: clamp(2rem, 7vw, 5rem) 1.25rem 2rem; }
.downloadHeader h1 { max-width: 12ch; }
.backLink { display: inline-block; margin-bottom: 2rem; color: #d9dce5; text-decoration: none; }
.backLink:hover, .backLink:focus-visible { color: white; text-decoration: underline; }
.downloadMain { max-width: 62rem; margin: 0 auto; padding: 0 1.25rem 5rem; }
.downloadPanel { display: grid; gap: 1.2rem; }
.downloadPanel form, .progressCard, .downloadNote { padding: clamp(1.2rem, 4vw, 2rem); border: 1px solid var(--line); border-radius: 1rem; background: rgba(21,25,34,.9); }
.downloadPanel label { display: block; margin-bottom: .65rem; font-size: .82rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.downloadEntry { display: grid; grid-template-columns: 1fr auto; }
.downloadEntry input { min-width: 0; padding: .95rem 1rem; border: 1px solid var(--line); border-radius: .75rem 0 0 .75rem; outline: none; background: #090b10; color: white; }
.downloadEntry input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(255,77,103,.16); }
.downloadEntry button { padding: .85rem 1.1rem; border: 1px solid var(--accent); border-radius: 0 .75rem .75rem 0; background: var(--accent); color: white; cursor: pointer; font-weight: 800; }
.downloadEntry button:disabled { cursor: wait; opacity: .55; }
.formHint, .downloadNote p, .progressCard p { color: var(--muted); line-height: 1.55; }
.formHint { margin: .7rem 0 0; font-size: .78rem; }
.formError { min-height: 1.3rem; margin: .65rem 0 0; color: #ff8da0; }
.progressHeading { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.progressHeading span { color: var(--muted); font-variant-numeric: tabular-nums; }
progress { display: block; width: 100%; height: 1.1rem; overflow: hidden; border: 0; border-radius: 999px; background: #090b10; accent-color: var(--accent); }
progress::-webkit-progress-bar { background: #090b10; }
progress::-webkit-progress-value { border-radius: 999px; background: var(--accent); }
progress::-moz-progress-bar { border-radius: 999px; background: var(--accent); }
.outputName { overflow-wrap: anywhere; }
.downloadNote strong { color: #7fcf9d; }
.downloadNote p { margin-bottom: 0; }
@media (max-width: 620px) {
  .downloadEntry { grid-template-columns: 1fr; gap: .65rem; }
  .downloadEntry input, .downloadEntry button { border-radius: .75rem; }
}
