:root{--bg-1: #edf4ff;--bg-2: #dce9ff;--card: rgba(255, 255, 255, .94);--line: #b4cae8;--text: #0e2038;--muted: #587190;--primary: #1778ff;--primary-2: #0f57c8}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;color:var(--text);background:radial-gradient(900px 520px at 15% 10%,rgba(51,178,255,.24),transparent 70%),radial-gradient(900px 520px at 85% 100%,rgba(255,190,60,.2),transparent 70%),linear-gradient(145deg,var(--bg-2),var(--bg-1) 60%)}.page{min-height:100vh;display:flex;justify-content:center;padding:28px 16px}.card{width:100%;max-width:860px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 10px 28px #1c355533}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.top-controls{display:flex;align-items:center;gap:0}h1{margin:0 0 6px;font-size:26px}.subtitle{margin:0 0 12px;color:var(--muted)}#export-form,#progress-wrap,#status-card{width:100%;max-width:640px;margin-left:auto;margin-right:auto}.auth-panel{margin-bottom:14px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#14243c73}.auth-panel label{font-size:14px;font-weight:700}.auth-panel input[type=text],.auth-panel input[type=password]{font-size:16px;line-height:1.25;min-height:50px;padding:12px 14px}.auth-panel input[type=text]::placeholder,.auth-panel input[type=password]::placeholder{font-size:14px}.mode{display:block;margin:7px 0;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#dfebfcbf}.mode input{accent-color:var(--primary)}label{font-weight:600}input[type=text],input[type=password],input[type=file]{width:100%;margin-top:6px;padding:10px;border:1px solid #9fb8d7;border-radius:9px;background:#f7fbff;border-color:#9fb8d7;color:#0e2038}select{width:100%;margin-top:6px;padding:10px;border:1px solid #9fb8d7;border-radius:9px;background:#f7fbff;color:#0e2038}#ids-wrap,#file-wrap{margin:10px 0}.format-row{margin:10px 0 2px}.hidden{display:none}.actions{display:flex;gap:10px;flex-wrap:wrap}button{margin-top:8px;border:0;background:linear-gradient(90deg,var(--primary),var(--primary-2));color:#fff;padding:11px 16px;border-radius:10px;font-weight:700;cursor:pointer}button:disabled{opacity:.7;cursor:not-allowed}button.danger{background:linear-gradient(90deg,#f36b6b,#c83838)}button.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}button.ghost.small{margin-top:0;padding:6px 10px;border-radius:999px;font-size:12px}#download-last{background:linear-gradient(90deg,#1aa96a,#0f8a54)}#download-last:hover{filter:brightness(1.03)}.status{margin-top:12px}.status.ok{color:#70e8a0}.status.err{color:#ff8a8a}.status.muted{color:#355a84;font-weight:500}.status-card{margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#e9f2ffeb}.status-title{margin:0 0 8px;font-size:15px}.status-lines{margin-top:8px;display:grid;gap:6px}.status-line{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:var(--muted)}.status-line strong{color:var(--text)}.progress-wrap{margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#e9f2ffeb}.progress-head{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px;margin-bottom:8px}.progress-track{width:100%;height:10px;border-radius:999px;background:#123e7224;overflow:hidden;position:relative}.progress-bar{height:100%;width:45%;border-radius:999px;background:linear-gradient(90deg,#33b2ff26,#33b2ffe6 40%,#2f6febf2 55%,#33b2ff26);transform:translate(-120%)}.progress-bar.running{animation:wave-slide 1.4s ease-in-out infinite}@keyframes wave-slide{0%{transform:translate(-120%)}to{transform:translate(260%)}}@media(max-width:640px){h1{font-size:22px}.card{padding:14px}}
