.download-modal-overlay,.summary-overlay{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(3,6,11,.74);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.download-modal,.summary-modal{width:min(36rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;color:var(--w-92,#edf3f8);background:var(--bg-panel,#10141b);border:1px solid var(--w-10,rgba(255,255,255,.1));border-radius:.75rem;box-shadow:0 1.5rem 4rem rgba(0,0,0,.48)}
.modal-header,.summary-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;border-bottom:1px solid var(--w-8,rgba(255,255,255,.08))}
.header-left{min-width:0;flex:1}.header-left h3,.summary-header h3{margin:0 0 .75rem;font-size:1rem;line-height:1.4;font-weight:700;letter-spacing:0;color:var(--w-96,#f6f8fb)}
.zip-name-wrap,.zip-pwd-wrap{display:flex;align-items:center;gap:.5rem;min-height:2.25rem;padding:.35rem .55rem;color:var(--w-60,#95a2b0);background:var(--w-3,rgba(255,255,255,.035));border:1px solid var(--w-8,rgba(255,255,255,.08));border-radius:.5rem;transition:border-color .16s,background .16s}
.zip-name-wrap{margin-bottom:.55rem;cursor:text}.zip-name-wrap:hover,.zip-name-wrap.editing,.zip-pwd-wrap.active{background:var(--w-5,rgba(255,255,255,.05));border-color:var(--c-primary-40,rgba(245,158,11,.4))}
.zip-field-icon{flex:0 0 auto;font-size:.85rem}.zip-name-text{min-width:0;max-width:22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;color:var(--w-76,#bdc7d1)}.zip-name-edit-icon{margin-left:auto;color:var(--w-42,#6f7b88);font-size:.78rem}
.zip-name-input,.zip-pwd-input{min-width:0;flex:1;padding:0;color:var(--w-90,#e6ebf0);background:transparent;border:0;outline:0;font:inherit;font-size:.78rem;letter-spacing:0}.zip-pwd-input::placeholder{color:var(--w-34,#596572)}.zip-pwd-wrap.disabled{opacity:.55}.zip-pwd-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;color:var(--w-52,#82909e);background:transparent;border:0;border-radius:.35rem;cursor:pointer}.zip-pwd-toggle:hover{color:var(--w-88,#dfe5eb);background:var(--w-7,rgba(255,255,255,.07))}
.download-modal .close-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2rem;height:2rem;padding:0;color:var(--w-50,#7e8b98);background:transparent;border:1px solid transparent;border-radius:.45rem;cursor:pointer;font-size:1.25rem;line-height:1}.download-modal .close-btn:hover{color:var(--w-92,#edf3f8);background:var(--w-6,rgba(255,255,255,.06));border-color:var(--w-9,rgba(255,255,255,.09))}.download-modal .close-btn:disabled{cursor:not-allowed;opacity:.4}
.progress-section{padding:1.3rem 1.25rem 1.1rem}.progress-bar-container{display:flex;align-items:center;gap:.75rem}.progress-bar{height:.5rem;flex:1;overflow:hidden;background:var(--w-7,rgba(255,255,255,.07));border-radius:999px}.progress-fill{height:100%;min-width:0;background:var(--c-primary-70,#f59e0b);border-radius:inherit;transition:width .22s ease}.progress-fill.progress-error{background:var(--danger,#ef4444)}.progress-percent{width:2.75rem;color:var(--w-66,#a5b0bc);font-variant-numeric:tabular-nums;text-align:right;font-size:.75rem}
.progress-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .85rem;margin-top:1rem}.meta-row{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.55rem .65rem;background:var(--w-3,rgba(255,255,255,.035));border:1px solid var(--w-6,rgba(255,255,255,.06));border-radius:.45rem}.meta-label{color:var(--w-42,#6f7b88);font-size:.72rem}.meta-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--w-78,#c5ced7);font-size:.74rem;font-weight:600;font-variant-numeric:tabular-nums}.meta-value.status-active{color:var(--c-primary-78,#fbbf24)}.meta-value.status-success,.stat-item.success .stat-value{color:var(--success,#22c55e)}.meta-value.status-warning{color:var(--warning,#f59e0b)}.meta-value.status-error,.meta-value.text-error,.stat-item.failed .stat-value{color:var(--danger,#ef4444)}
.phase-hint{display:flex;align-items:center;justify-content:center;gap:.55rem;margin-top:1rem;color:var(--w-48,#788592);font-size:.74rem}.phase-spinner{width:.85rem;height:.85rem;border:2px solid var(--w-12,rgba(255,255,255,.12));border-top-color:var(--c-primary-72,#f59e0b);border-radius:50%;animation:agent-download-spin .7s linear infinite}
.modal-footer,.summary-footer{display:flex;justify-content:flex-end;padding:1rem 1.25rem;border-top:1px solid var(--w-8,rgba(255,255,255,.08))}.footer-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.6rem}.footer-btn,.close-summary-btn,.copy-btn{min-height:2.25rem;padding:.5rem .9rem;border:1px solid var(--w-10,rgba(255,255,255,.1));border-radius:.5rem;color:var(--w-76,#bdc7d1);background:var(--w-4,rgba(255,255,255,.04));cursor:pointer;font-size:.76rem;font-weight:600;letter-spacing:0;transition:background .16s,border-color .16s,color .16s}.footer-btn:hover,.close-summary-btn:hover,.copy-btn:hover{color:var(--w-94,#f1f5f9);background:var(--w-8,rgba(255,255,255,.08));border-color:var(--w-16,rgba(255,255,255,.16))}.footer-btn.start-btn,.footer-btn.redownload-btn{color:var(--primary-foreground,#18130a);background:var(--c-primary-76,#f5a623);border-color:var(--c-primary-76,#f5a623)}.footer-btn.start-btn:hover,.footer-btn.redownload-btn:hover{background:var(--c-primary-84,#ffc14d);border-color:var(--c-primary-84,#ffc14d)}.footer-btn.cancel-btn{color:var(--danger,#ef4444)}.footer-btn.retry-all-btn{color:var(--warning,#f59e0b)}.footer-btn:disabled{cursor:not-allowed;opacity:.45}
.summary-overlay{z-index:10060}.summary-header{align-items:center}.summary-body{padding:1.15rem 1.25rem}.summary-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.stat-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0;padding:.65rem .75rem;background:var(--w-3,rgba(255,255,255,.035));border:1px solid var(--w-6,rgba(255,255,255,.06));border-radius:.5rem}.stat-label{color:var(--w-42,#6f7b88);font-size:.72rem}.stat-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--w-84,#d7dee5);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}.zip-name-value{max-width:13rem}
.failed-section{margin-top:1rem;padding:.8rem;background:var(--danger-soft,rgba(239,68,68,.06));border:1px solid var(--danger-border,rgba(239,68,68,.18));border-radius:.55rem}.failed-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.failed-title{color:var(--danger,#ef4444);font-size:.76rem;font-weight:700}.copy-btn{min-height:1.85rem;padding:.3rem .55rem;color:var(--danger,#ef4444);font-size:.68rem}.failed-list{max-height:7rem;margin-top:.6rem;overflow:auto}.failed-url{padding:.35rem 0;color:var(--w-46,#74818e);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.65rem;word-break:break-all;border-bottom:1px solid var(--w-5,rgba(255,255,255,.05))}.failed-tip{display:flex;align-items:flex-start;gap:.45rem;margin-top:.65rem;color:var(--w-46,#74818e);font-size:.68rem;line-height:1.55}.tip-icon{flex:0 0 auto}
.download-modal-fade-enter-active,.download-modal-fade-leave-active,.summary-fade-enter-active,.summary-fade-leave-active{transition:opacity .16s ease}.download-modal-fade-enter-active .download-modal,.download-modal-fade-leave-active .download-modal,.summary-fade-enter-active .summary-modal,.summary-fade-leave-active .summary-modal{transition:transform .18s ease,opacity .18s ease}.download-modal-fade-enter-from,.download-modal-fade-leave-to,.summary-fade-enter-from,.summary-fade-leave-to{opacity:0}.download-modal-fade-enter-from .download-modal,.download-modal-fade-leave-to .download-modal,.summary-fade-enter-from .summary-modal,.summary-fade-leave-to .summary-modal{opacity:0;transform:translateY(.5rem) scale(.985)}
@keyframes agent-download-spin{to{transform:rotate(360deg)}}
@media (max-width:560px){.download-modal-overlay,.summary-overlay{align-items:flex-end;padding:.75rem}.download-modal,.summary-modal{width:100%;max-height:calc(100vh - 1.5rem)}.progress-meta,.summary-stats{grid-template-columns:1fr}.modal-header{padding:1rem}.progress-section,.summary-body{padding:1rem}.modal-footer,.summary-footer{padding:.85rem 1rem}.footer-actions,.footer-btn{width:100%}.zip-name-text{max-width:calc(100vw - 8.5rem)}}
html[data-theme=light] .download-modal,html[data-theme=light] .summary-modal{color:var(--text-primary,#17202a);background:var(--bg-panel,#fff);border-color:var(--w-12,rgba(15,23,42,.12));box-shadow:0 1.5rem 4rem rgba(15,23,42,.2)}
html[data-theme=light] .download-modal-overlay,html[data-theme=light] .summary-overlay{background:rgba(15,23,42,.38)}
