*{box-sizing:border-box}body{margin:0;background:#0b1020;color:#eef1f8;font-family:system-ui,-apple-system,Segoe UI,sans-serif}a{color:#7db3ff}.wrap{max-width:860px;margin:0 auto;padding:24px 16px 64px}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.brand{font-weight:800;letter-spacing:.12em;font-size:22px}.brand:before{content:"";display:inline-block;width:12px;height:12px;background:#c00000;margin-right:10px}.subtitle{color:#9aa7c2;font-size:14px;margin-top:4px}.card{background:#141b31;border:1px solid #26314f;border-radius:12px;padding:20px;margin-bottom:20px}.login-card{width:100%;max-width:420px}h2{margin:0 0 16px;font-size:18px}label{display:block;margin-bottom:14px;font-size:14px;color:#c6d0e4}input,select,textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;border-radius:8px;border:1px solid #33406a;background:#0b1020;color:#eef1f8;font-size:15px}textarea{resize:vertical}.row{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:12px;gap:12px}.button,button{display:inline-block;background:#c00000;color:#fff;border:0;border-radius:8px;padding:11px 20px;font-size:15px;font-weight:700;cursor:pointer;text-decoration:none}button:disabled{opacity:.6;cursor:wait}button.ghost{background:transparent;border:1px solid #33406a;color:#c6d0e4}.hint{color:#9aa7c2;font-size:13px}.info{background:#12331f;border:1px solid #2b6b3f;border-radius:8px}.error,.info{padding:10px 12px;font-size:14px}.error{background:#3a1214;border:1px solid #7a262b;border-radius:8px}.job-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.badge{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:#33406a;white-space:nowrap}.badge.processing{background:#7a5b00}.badge.done{background:#1e6b34}.badge.error{background:#7a262b}.progress{height:8px;background:#0b1020;border-radius:999px;overflow:hidden;margin:12px 0}.progress>div{height:100%;background:#c00000;transition:width .5s}.steps{list-style:none;padding:0;margin:12px 0;font-size:14px}.steps li{padding:3px 0;color:#9aa7c2}.steps li.done{color:#eef1f8}.steps li.running{color:#ffd166}video{width:100%;max-height:520px;background:#000;border-radius:8px;margin-top:12px}footer{margin-top:24px}@media (max-width:640px){.row{grid-template-columns:1fr}}