:root{--blue:#0078ff;--bg:linear-gradient(180deg,#f7faff 0%,#eef3f9 100%);}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial;margin:0;background:var(--bg);color:#222}
.container{max-width:520px;margin:64px auto;background:#fff;padding:28px;border-radius:12px;box-shadow:0 8px 30px rgba(20,38,71,.06);text-align:center}
h1{color:var(--blue);margin:0 0 6px}
.subtitle{color:#5b6673;margin:6px 0 18px;font-size:0.95rem}
.upload-box{border:2px dashed var(--blue);padding:26px;border-radius:10px;cursor:pointer;background:#fbfdff}
.controls{margin-top:18px;display:flex;flex-direction:column;gap:10px;align-items:center}
.hidden{display:none}
input[type=password]{padding:10px;border-radius:8px;border:1px solid #d0d7df;width:100%;max-width:380px}
.row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
button{background:var(--blue);color:#fff;border:none;padding:10px 14px;border-radius:8px;cursor:pointer}
button[title]{background:#6c757d}
.progress{width:100%;height:10px;background:#eef3ff;border-radius:8px;margin-top:10px;overflow:hidden}
#progressBar{height:100%;width:0;background:linear-gradient(90deg,var(--blue),#7aa8ff);transition:width .25s ease}
.download-btn{display:inline-block;margin-top:12px;background:#1db954;color:white;padding:10px 14px;border-radius:8px;text-decoration:none}
.back-link{display:block;margin-top:16px;color:var(--blue);text-decoration:none}
.status{margin-top:10px;color:#444;font-size:.95rem}
