*{box-sizing:border-box}body{margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1b1f24;background:#f7f8fa}
header{background:#111827;color:#fff}header .w{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}header a{color:#cbd5e1;text-decoration:none}header a.brand{color:#fff;font-weight:700;margin-right:auto}
.w{max-width:960px;margin:0 auto;padding:1rem}.card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1rem 1.25rem;margin:1rem 0}
label{display:block;font-weight:600;margin:.5rem 0 .25rem}select,input{width:100%;padding:.55rem;font-size:1rem;border:1px solid #cbd5e1;border-radius:6px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.big{font-size:2rem;font-weight:700}
table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{text-align:left;padding:.45rem;border-bottom:1px solid #e5e7eb}
.ok{color:#047857;font-weight:600}.no{color:#b91c1c}.tight{color:#b45309;font-weight:600}
.badge{display:inline-block;background:#fef3c7;color:#92400e;border-radius:4px;padding:0 .4rem;font-size:.8rem;font-weight:600}
.pending{border:2px dashed #f59e0b;background:#fffbeb}code{background:#eef2f7;padding:0 .25rem;border-radius:4px}
footer{color:#6b7280;font-size:.85rem}.scroll{overflow-x:auto}
.btn{display:inline-block;background:#2563eb;color:#fff;border:0;border-radius:6px;padding:.6rem 1rem;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer}.btn:disabled{background:#94a3b8;cursor:not-allowed}
pre{background:#0f172a;color:#e2e8f0;padding:.6rem .8rem;border-radius:6px;overflow-x:auto;font-size:.9rem;max-height:420px}.steps li{margin:.6rem 0}
.src-v{background:#d1fae5;color:#065f46}.src-c{background:#e0e7ff;color:#3730a3}
.src-u{background:#f3f4f6;color:#374151;border:1px dashed #9ca3af}.note{color:#6b7280;font-size:.8rem}.srcl{font-size:.8rem;margin-top:.2rem;max-width:260px}
.filters{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap;margin-bottom:.5rem}label.inl{display:inline-flex;gap:.4rem;align-items:center;margin:0;font-weight:600}label.inl input{width:auto}label.inl select{width:auto;padding:.3rem}
th.sortable{cursor:pointer;user-select:none;white-space:nowrap}th.sortable:hover{background:#f1f5f9}th.sortable .arr{color:#6b7280;font-size:.8rem}th[aria-sort=ascending] .arr,th[aria-sort=descending] .arr{color:#1d4ed8}
#rows td:nth-child(2){min-width:150px}#rows td:nth-child(3){min-width:120px}
.spec{white-space:nowrap}.spec a{color:#6b7280}
/* compact results table */
#rows td,thead th{padding:.3rem .35rem;vertical-align:top;line-height:1.3}
table{font-size:.85rem}thead th{font-size:.78rem}
#rows .badge{white-space:nowrap;font-size:.72rem;text-decoration:none}
#rows .note{font-size:.72rem}
#rows td:nth-child(2){min-width:0;max-width:210px}#rows td:nth-child(3){min-width:0;max-width:120px}
#rows td:nth-child(5){max-width:150px;overflow-wrap:anywhere}
#rows td:nth-child(n+8){white-space:nowrap;text-align:right}
.spec{white-space:normal}
main.w{max-width:1240px}
#rows td:nth-child(2){min-width:230px;max-width:260px}#rows td:nth-child(3){min-width:110px;max-width:130px}
#rows td:nth-child(5){min-width:110px}#rows td:nth-child(7){max-width:140px}#rows td:nth-child(6){white-space:nowrap}
#rows td:nth-child(1){width:1%;white-space:nowrap}#rows td:nth-child(2){min-width:270px;max-width:300px}#rows td:nth-child(3){min-width:135px}
#rows .spec{white-space:nowrap;font-size:.68rem}
#rows td:nth-child(2){min-width:250px;max-width:265px}#rows td:nth-child(3){min-width:0;max-width:125px}#rows td:nth-child(6){white-space:normal;max-width:120px}
#rows td:nth-child(5){min-width:135px}#rows .badge{font-size:.68rem;padding:0 .3rem}
#rows td:nth-child(7){min-width:110px;max-width:130px}
#rows .spec{white-space:normal}
