body { max-width: 1200px; margin: 2rem auto; padding: 0 1rem; font: 14px ui-monospace, monospace; }
header { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid; }
h1 { font-size: 1.25rem; }
button { font: inherit; background: none; border: 1px solid; cursor: pointer; }
button:disabled { opacity: .5; }
.table-wrap { overflow-x: auto; }
table { width: 100%; min-width: 900px; border-collapse: collapse; }
th, td { padding: .65rem .5rem; border-bottom: 1px solid #bbb; text-align: left; vertical-align: top; }
th { font-weight: normal; }
tr.group th { padding-top: 1.5rem; font-weight: bold; border-bottom-color: #444; }
small, #summary, .requires { color: #666; }
.result small { display: block; margin-top: .25rem; }
tr[data-status="pass"] .status { color: green; }
tr[data-status="fail"] .status { color: #b00020; }
@media (max-width: 600px) { body { margin-top: 1rem; } }
