/* Rigorous tests: torture warning, stage Stop button, live status, integrity / limit / suite results. */
.smgpu-stage__stop {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	z-index: 5;
	min-height: 44px;
	min-width: 5.5rem;
	box-shadow: 0 6px 18px -8px rgba(11, 18, 32, 0.6);
}

.smgpu-stage__stop[hidden] {
	display: none;
}

.smgpu-status {
	margin: 0;
	padding: 0.55rem 0.8rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: #0847c4;
	background: #eef3fc;
	border: 1px solid #e1e7f3;
	border-radius: 10px;
}

.smgpu-status[hidden] {
	display: none;
}

.smgpu-hud__grid > div[hidden] {
	display: none;
}

.smgpu-hud__grid > div.is-bad {
	background: #fdecea;
	border-color: #f3b9b4;
}

.smgpu-hud__grid > div.is-bad dd {
	color: #b3261e;
}

.smgpu-warning__strong {
	margin: 0.75rem 0;
	padding: 0.75rem 0.9rem;
	background: #fff4e5;
	border: 1px solid #f2cf9a;
	border-radius: 10px;
}

.smgpu-warning__strong[hidden] {
	display: none;
}

.smgpu-warning__strong p {
	margin: 0 0 0.4rem;
}

.smgpu-warning__strong ul {
	margin: 0 0 0.6rem;
	padding-inline-start: 1.2rem;
}

.smgpu-warning__strong li {
	margin: 0.25rem 0;
}

.smgpu-warning__ack {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	min-height: 44px;
	font-weight: 700;
	cursor: pointer;
}

.smgpu-warning__ack input {
	flex: none;
	width: 22px;
	height: 22px;
	margin: 0;
	accent-color: #0b5cff;
}

.smgpu-controls label[hidden] {
	display: none;
}

.smgpu-btn[disabled] {
	opacity: 0.5;
	cursor: not-allowed;
}

/* Integrity / suite blocks */
.smgpu-integrity,
.smgpu-limit,
.smgpu-suite {
	margin: 1rem 0;
	padding: 1rem 1.1rem;
	background: #fff;
	border: 1px solid #e1e7f3;
	border-radius: 14px;
	box-shadow: 0 8px 24px -18px rgba(11, 18, 32, 0.35);
}

.smgpu-integrity--pass {
	border-color: #a7dcc0;
	background: #f1faf5;
}

.smgpu-integrity--fail {
	border-color: #f0b3ae;
	background: #fdf3f2;
}

.smgpu-integrity__head,
.smgpu-limit__head {
	margin: 0.1rem 0 0.3rem;
	font-size: clamp(1.25rem, 4vw, 1.7rem);
	line-height: 1.2;
	overflow-wrap: anywhere;
}

.smgpu-integrity--pass .smgpu-integrity__head {
	color: #0f7a43;
}

.smgpu-integrity--fail .smgpu-integrity__head {
	color: #b3261e;
}

.smgpu-integrity__sub,
.smgpu-limit__sub {
	margin: 0 0 0.75rem;
	color: #3b4456;
}

.smgpu-integrity .smgpu-table,
.smgpu-limit .smgpu-table {
	margin-top: 0.5rem;
}

.smgpu-integrity__log td,
.smgpu-limit__steps td {
	overflow-wrap: anywhere;
}

.smgpu-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.smgpu-suite__verdict {
	margin: 0.1rem 0 0.3rem;
	font-size: clamp(2rem, 8vw, 3rem);
	line-height: 1.05;
	letter-spacing: 0.02em;
}

.smgpu-suite--pass {
	border-color: #a7dcc0;
	background: #f1faf5;
}

.smgpu-suite--pass .smgpu-suite__verdict {
	color: #0f7a43;
}

.smgpu-suite--warning {
	border-color: #f2cf9a;
	background: #fff8ee;
}

.smgpu-suite--warning .smgpu-suite__verdict {
	color: #a35f00;
}

.smgpu-suite--fail {
	border-color: #f0b3ae;
	background: #fdf3f2;
}

.smgpu-suite--fail .smgpu-suite__verdict {
	color: #b3261e;
}

.smgpu-suite__lede {
	margin: 0 0 0.6rem;
	font-weight: 600;
}

.smgpu-suite__reasons {
	margin: 0 0 0.6rem;
	padding-inline-start: 1.2rem;
}

.smgpu-suite__reasons li {
	margin: 0.3rem 0;
}

.smgpu-suite__reasons li.is-fail {
	color: #b3261e;
	font-weight: 600;
}

.smgpu-suite__table th,
.smgpu-suite__table td {
	text-align: start;
	vertical-align: top;
}

.smgpu-suite__table tr.is-bad td,
.smgpu-suite__table tr.is-bad th {
	color: #b3261e;
	font-weight: 600;
}

@media (max-width: 600px) {
	.smgpu-stage__stop {
		top: 0.5rem;
		right: 0.5rem;
	}

	.smgpu-suite__table {
		min-width: 34rem;
	}
}

/* Multi-column tables: natural column widths, no letter-by-letter wrapping, scroll sideways on narrow screens. */
.smgpu-suite__table th,
.smgpu-limit__steps th,
.smgpu-integrity__log th {
	width: auto;
	color: inherit;
	font-weight: 600;
	white-space: nowrap;
}

.smgpu-suite__table td,
.smgpu-limit__steps td,
.smgpu-integrity__log td {
	overflow-wrap: normal;
	white-space: nowrap;
}

.smgpu-suite__table td:last-child {
	white-space: normal;
	min-width: 9rem;
}

.smgpu-limit__steps,
.smgpu-integrity__log {
	display: block;
	overflow-x: auto;
}

.smgpu-suite__table tr:last-child th,
.smgpu-suite__table tr:last-child td,
.smgpu-limit__steps tr:last-child td,
.smgpu-integrity__log tr:last-child td {
	font-weight: inherit;
	color: inherit;
}
