:root{--ink:#17212d;--muted:#74808e;--line:#e8ebef;--paper:#fff;--soft:#f7f8fa;--blue:#2563eb;--blue-dark:#1d4ed8;--success:#138a64;--danger:#d14343}*{box-sizing:border-box}body{margin:0;font:14px/1.5 Inter,"Microsoft YaHei",Arial,sans-serif;color:var(--ink);background:var(--soft)}aside{position:fixed;width:236px;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:28px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;font-weight:750;font-size:16px;padding:0 10px 34px}.brand span{width:34px;height:34px;display:grid;place-items:center;background:var(--blue);color:#fff;border-radius:7px;font-size:12px}.brand small{display:block;font-size:11px;color:var(--muted);font-weight:500;margin-top:1px}.nav{display:flex;gap:13px;align-items:center;width:100%;border:0;background:transparent;padding:11px 12px;color:#657181;border-radius:5px;font:inherit;text-align:left;cursor:pointer;margin:2px 0}.nav:hover{background:#f5f7fa}.nav.active{background:#eef4ff;color:var(--blue);font-weight:650}.aside-foot{margin-top:auto;color:#98a2ae;font-size:11px;padding:10px}main{margin-left:236px;min-height:100vh;padding:56px clamp(28px,7vw,108px)}.page{display:none;max-width:820px}.page.active{display:block}header{margin-bottom:30px}.eyebrow{color:var(--blue);font-size:11px;letter-spacing:1.2px;font-weight:750;margin:0 0 7px}h1{margin:0;font-size:30px;letter-spacing:0;font-weight:750}p.sub{margin:8px 0 0;color:var(--muted)}form{display:grid;gap:20px}.upload{height:210px;border:1.5px dashed #bfc8d5;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;position:relative;transition:.15s}.upload.over{border-color:var(--blue);background:#f7faff}.upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload span,.upload em{color:var(--muted);font-size:12px;font-style:normal}.upload em{color:var(--blue);font-weight:650;min-height:18px}.file-icon{color:var(--blue);width:38px;height:38px;border-radius:50%;background:#edf3ff;display:grid;place-items:center;font-size:20px;margin-bottom:4px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:grid;gap:7px;font-size:12px;color:#526070;font-weight:650}input,select,textarea{width:100%;border:1px solid #dce1e7;border-radius:4px;background:#fff;color:var(--ink);font:14px inherit;padding:11px 12px;outline:0}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #e7efff}textarea{resize:vertical;min-height:115px;line-height:1.6}.primary{justify-self:start;border:0;border-radius:4px;background:var(--blue);color:#fff;font:650 14px inherit;padding:12px 18px;cursor:pointer}.primary:hover{background:var(--blue-dark)}.primary b{font-size:18px;margin-left:10px}.task-list{display:grid;gap:10px}.task{background:#fff;border:1px solid var(--line);padding:17px 18px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.task h3{margin:0 0 4px;font-size:14px}.task p{margin:0;color:var(--muted);font-size:12px}.status{font-size:12px;font-weight:650;color:var(--muted);text-align:right}.status.done{color:var(--success)}.status.failed{color:var(--danger)}.progress{height:4px;background:#edf0f3;margin-top:10px;overflow:hidden}.progress i{display:block;height:100%;background:var(--blue);transition:width .3s}.download{color:var(--blue);font-weight:650;text-decoration:none;font-size:12px}.settings{max-width:700px}.hint{color:var(--success);margin:0;font-size:12px}code{background:#edf0f3;padding:2px 4px;border-radius:3px}#toast{position:fixed;right:24px;bottom:24px;background:#17212d;color:#fff;padding:11px 15px;border-radius:4px;transform:translateY(80px);opacity:0;transition:.2s}#toast.show{transform:none;opacity:1}@media(max-width:720px){aside{position:static;width:auto;height:auto;padding:14px 16px;flex-direction:row;align-items:center}.brand{padding:0;margin-right:auto}.brand small,.aside-foot{display:none}nav{display:flex;width:auto}.nav{width:auto;padding:8px}.nav span{display:none}main{margin:0;padding:34px 20px}.grid{grid-template-columns:1fr}.task{grid-template-columns:1fr}h1{font-size:26px}}
