:root{--bg:#0f1220;--panel:#191d31;--panel-2:#222741;--border:#2d3352;--text:#e7e9f3;--muted:#9aa0bd;--accent:#6c8cff;--accent-2:#4f6ef2;--ok:#3ecf8e;--err:#ff6b6b;--radius:12px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}a{color:var(--accent)}.container{max-width:780px;margin:0 auto;padding:32px 20px 80px}.header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:24px}.header h1{font-size:22px;margin:0}.header .sub{color:var(--muted);font-size:13px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:18px}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:40px 20px;text-align:center;color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s}.dropzone.drag{border-color:var(--accent);background:var(--panel-2);color:var(--text)}.file-line{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.badge{display:inline-block;font-size:12px;padding:2px 10px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);color:var(--muted)}.section-title{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:4px 0 12px}.options-grid{display:flex;flex-direction:column;gap:14px}.choice-row{display:flex;gap:10px;flex-wrap:wrap}.chip{border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:999px;padding:8px 16px;cursor:pointer;font-size:14px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chip.active{border-color:var(--accent);background:rgba(108,140,255,.16);color:#fff}.check{display:flex;align-items:center;gap:10px;cursor:pointer}.check input{width:16px;height:16px;accent-color:var(--accent)}.btn{background:var(--accent-2);color:#fff;border:none;border-radius:10px;padding:11px 20px;font-size:15px;font-weight:600;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text);font-weight:500}.muted{color:var(--muted)}.progress{height:10px;background:var(--panel-2);border-radius:999px;overflow:hidden;border:1px solid var(--border)}.progress>div{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .4s ease}.result-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border)}.error-box{background:rgba(255,107,107,.12);border:1px solid var(--err);color:#ffd5d5;border-radius:10px;padding:12px 14px;font-size:14px}.or-sep{display:flex;align-items:center;text-align:center;color:var(--muted);font-size:13px;margin:16px 0}.or-sep:after,.or-sep:before{content:"";flex:1 1;height:1px;background:var(--border)}.or-sep span{padding:0 12px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:100%;max-width:360px}.input{width:100%;padding:11px 14px;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:15px}.row-end{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px;margin-right:8px}@keyframes spin{to{transform:rotate(1turn)}}