*{box-sizing:border-box}body{margin:0;font:15px/1.6 -apple-system,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;background:#f4f6fa;color:#1d2330}
header{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;background:#fff;border-bottom:1px solid #e3e7ef;position:sticky;top:0;z-index:2}
.logo{width:32px;height:32px}h1{font-size:17px;margin:0;flex:1;min-width:200px}
nav{display:flex;gap:6px;align-items:center}.tab{border:0;background:#eef2f8;padding:6px 12px;border-radius:8px;cursor:pointer;font-size:14px}.tab.active{background:#1f6feb;color:#fff}
.link{border:0;background:none;color:#57606a;cursor:pointer}
main{max-width:760px;margin:0 auto;padding:16px}.card{background:#fff;border:1px solid #e3e7ef;border-radius:12px;padding:18px;margin-bottom:16px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
h2{font-size:16px;margin:0 0 12px}label{display:block;margin:10px 0;font-size:14px;color:#3b4454}
input:not([type=checkbox]),textarea{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #cfd6e2;border-radius:8px;font:inherit;background:#fff}
textarea{resize:vertical}.chk{display:flex;gap:8px;align-items:flex-start}.chk input{margin-top:4px}
button.primary{width:100%;padding:12px;border:0;border-radius:8px;background:#1f6feb;color:#fff;font-size:16px;cursor:pointer;margin-top:6px}button:disabled{opacity:.6;cursor:not-allowed}
.err{color:#cf222e;white-space:pre-wrap;min-height:1em}.hint{font-size:13px;color:#57606a;background:#f6f8fa;padding:8px 10px;border-radius:8px}.muted{color:#6e7781;font-size:13px}
code{background:#eef2f8;padding:1px 5px;border-radius:4px}
.bar{height:8px;background:#eef2f8;border-radius:4px;overflow:hidden}#upbar{height:100%;width:0;background:#1f6feb;transition:width .2s}
ol#steps{padding-left:0;list-style:none}ol#steps li{padding:8px 10px;border-left:3px solid #d0d7de;margin:6px 0;background:#fafbfc;border-radius:0 6px 6px 0}
li .d{display:block;font-size:13px;color:#57606a;white-space:pre-wrap;word-break:break-all}
li.running{border-color:#1f6feb}li.running b::after{content:" …";}li.done{border-color:#2da44e}li.done b::before{content:"✓ ";color:#2da44e}
li.failed{border-color:#cf222e;background:#fff5f5}li.failed b::before{content:"✗ ";color:#cf222e}li.warn{border-color:#bf8700}li.warn b::before{content:"! ";color:#bf8700}
.warns li{color:#9a6700;font-size:13px}#result a{font-size:16px;word-break:break-all}.ok{background:#dafbe1;border-radius:8px;padding:10px}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid #eef0f4;vertical-align:top}td a{word-break:break-all}
@media (max-width:560px){thead{display:none}tr{display:block;border-bottom:1px solid #e3e7ef;padding:6px 0}td{display:block;border:0;padding:2px 0}td[data-l]::before{content:attr(data-l)"：";color:#6e7781}}
footer{text-align:center;color:#8c959f;font-size:12px;padding:20px}
