:root{color-scheme:light dark}
*{box-sizing:border-box}
body{margin:0;padding:20px 16px 48px;font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans CJK SC","Microsoft YaHei",sans-serif;background:#fafafa;color:#111}
@media (prefers-color-scheme:dark){body{background:#0f0f10;color:#e8e8e8}.card{background:#17181a!important;border-color:#2c2e31!important}code,pre{background:#111214!important;color:#d7d7d7}}
h1{font-size:19px;margin:0 0 4px}
h2{font-size:15px;margin:22px 0 8px;padding-bottom:6px;border-bottom:1px solid #e3e3e3}
@media (prefers-color-scheme:dark){h2{border-color:#2c2e31}}
p,li{margin:6px 0}
.lead{color:#666;font-size:13px;margin:0 0 16px}
@media (prefers-color-scheme:dark){.lead{color:#9aa0a6}}
.card{background:#fff;border:1px solid #e6e6e6;border-radius:10px;padding:14px;margin:12px 0}
table{border-collapse:collapse;width:100%;font-size:13.5px}
th,td{text-align:left;padding:5px 8px;border-bottom:1px solid #eee;vertical-align:top;word-break:break-all}
@media (prefers-color-scheme:dark){th,td{border-color:#2c2e31}}
th{font-weight:600;width:38%;color:#555}
@media (prefers-color-scheme:dark){th{color:#a5a5a5}}
code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#f2f2f2;border-radius:6px}
code{padding:1px 5px;font-size:12.5px}
pre{padding:10px;overflow:auto;font-size:12.5px;max-height:280px}
.verdict{padding:12px 14px;border-radius:10px;font-weight:600;margin:14px 0}
.v-ok{background:#e7f6ec;color:#11602b;border:1px solid #b6e0c3}
.v-bad{background:#fdeaea;color:#8a1c1c;border:1px solid #f0bcbc}
.v-wait{background:#eef2fb;color:#25406e;border:1px solid #c6d3ef}
@media (prefers-color-scheme:dark){.v-ok{background:#12301c;color:#8ee0a8;border-color:#1f5633}.v-bad{background:#351515;color:#f2a3a3;border-color:#5c2323}.v-wait{background:#151d2e;color:#a6bdea;border-color:#27354f}}
button{font:inherit;padding:10px 16px;border-radius:9px;border:1px solid #1a73e8;background:#1a73e8;color:#fff;cursor:pointer}
button[disabled]{background:#c9c9c9;border-color:#c9c9c9;color:#fff;cursor:not-allowed}
@media (prefers-color-scheme:dark){button[disabled]{background:#3a3d41;border-color:#3a3d41;color:#8b8f94}}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
.muted{color:#777;font-size:12.5px}
@media (prefers-color-scheme:dark){.muted{color:#9aa0a6}}
.tag{display:inline-block;padding:1px 7px;border-radius:999px;font-size:12px;border:1px solid #ddd;margin-right:6px}
.t-ok{border-color:#9ad3ae;background:#eefaf1;color:#13662f}
.t-bad{border-color:#eeb4b4;background:#fdf0f0;color:#8a1c1c}
.t-warn{border-color:#e8d39a;background:#fdf8ea;color:#7a5b13}
.stages{margin:10px 0 0;border:1px solid #e6e6e6;border-radius:10px;overflow:hidden}
.stage{display:flex;gap:10px;justify-content:space-between;align-items:flex-start;padding:7px 12px;font-size:13px;border-bottom:1px solid #f0f0f0}
.stage:last-child{border-bottom:0}
.s-name{flex:0 0 44%;color:#444}
.s-state{text-align:right;word-break:break-word;color:#666}
.s-ok .s-state{color:#11602b}
.s-failed{background:#fdf3f3}
.s-failed .s-state{color:#8a1c1c;font-weight:600}
.s-running .s-state{color:#25406e}
.s-pending .s-state{color:#999}
.s-warn{background:#fdf8ea}
.s-warn .s-state{color:#7a5b13}
@media (prefers-color-scheme:dark){
  .stages{border-color:#2c2e31}
  .stage{border-color:#232527}
  .s-name{color:#c9c9c9}
  .s-ok .s-state{color:#8ee0a8}
  .s-failed{background:#2a1516}
  .s-failed .s-state{color:#f2a3a3}
  .s-running .s-state{color:#a6bdea}
  .s-warn{background:#332c12}
  .s-warn .s-state{color:#e8cf8a}
}
@media (prefers-color-scheme:dark){.t-ok{background:#12301c;color:#8ee0a8;border-color:#1f5633}.t-bad{background:#351515;color:#f2a3a3;border-color:#5c2323}.t-warn{background:#332c12;color:#e8cf8a;border-color:#5c4c1f}}
