.download-dialog { width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); overflow: auto; padding: 28px; border: 1px solid #49643e; border-radius: 12px; background: #111a17; color: var(--text); box-shadow: 0 25px 100px #0008; }
.download-dialog::backdrop { background: #000b; backdrop-filter: blur(5px); }
.download-dialog-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.download-dialog h2 { font-size: 23px; letter-spacing: -.5px; }
.download-dialog-close { background: transparent; color: #b3c2b6; font-size: 27px; padding: 0 8px; line-height: 1.4; }
.download-password-intro { margin: 12px 0 22px; font-size: 13px; color: var(--muted); }
.download-dialog label { display: block; margin-bottom: 8px; font-size: 13px; }
.download-dialog input { width: 100%; min-width: 0; padding: 13px 14px; background: #09110e; border: 1px solid #4a5d46; border-radius: 6px; color: var(--text); font: inherit; font-size: 16px; }
.download-dialog input:focus { border-color: var(--accent); outline: 2px solid #b6f58a33; outline-offset: 2px; }
.download-password-error { min-height: 28px; margin: 5px 0 9px; color: #ffc19e; font-size: 12px; }
.download-password-submit { width: 100%; justify-content: center; }
.download-password-submit:disabled { opacity: .6; cursor: wait; }
.download-password-help { margin-top: 22px; padding-top: 20px; border-top: 1px solid #2f4033; color: #becbbd; font-size: 13px; line-height: 1.9; }
.download-password-help strong { color: var(--accent); user-select: text; white-space: nowrap; }
.download-copy-qq { display: block; padding: 6px 0; margin-top: 4px; background: transparent; color: var(--accent); font-size: 12px; }
@media(max-width: 600px) { .download-dialog { padding: 23px; } .download-dialog h2 { font-size: 21px; } }
