.nxvr-shell .nxar-stepper {
	gap: 28px;
}

.nxvr-shell .nxar-stepper::after {
	height: 190px;
}

.nxvr-state {
	width: min(100%, 980px);
	margin: 32px auto;
	padding: 42px;
	border: 1px solid var(--nx-border, #233b58);
	border-radius: 16px;
	background: linear-gradient(145deg, var(--nx-panel, #0d1c31), var(--nx-panel-soft, #101f35));
	box-shadow: 0 18px 55px rgba(2, 9, 20, .28);
	color: var(--nx-text-soft, #dce7f6);
}

.nxvr-state > span {
	display: block;
	margin-bottom: 12px;
	color: var(--nx-cyan, #19d9c5);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .15em;
}

.nxvr-state h2 {
	margin: 0 0 12px;
	color: var(--nx-text, #f2f7ff);
	font-size: clamp(25px, 4vw, 38px);
}

.nxvr-state p {
	max-width: 720px;
	margin: 0 0 22px;
	color: var(--nx-text-muted, #aebed2);
	font-size: 16px;
	line-height: 1.65;
}

.nxvr-state small {
	display: inline-flex;
	margin-right: 14px;
	padding: 7px 11px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--nx-emerald, #10b981) 12%, transparent);
	color: var(--nx-emerald-soft, #aef6ed);
}

.nxvr-state .nxar-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.nxvr-state--inactive {
	border-color: color-mix(in srgb, var(--nx-rose, #f43f5e) 42%, transparent);
}

.nxvr-state--inactive > span {
	color: var(--nx-rose-soft, #ff9c9c);
}

@media (max-width: 680px) {
	.nxvr-state {
		margin: 16px auto;
		padding: 24px 18px;
	}

	.nxvr-state p {
		font-size: 14px;
	}

	.nxvr-state small {
		display: flex;
		width: fit-content;
		margin: 0 0 14px;
	}
}

/* Interested categories as checkbox chips (PM STAKEHOLDER #270) — replaces the
   Ctrl-click multi-select, which barely works on touch devices. */
.nxvr-cats { border: 1px solid var(--nx-border, #334155); border-radius: 10px; margin: 0; padding: 14px; }
.nxvr-cats legend { font-weight: 700; font-size: 13px; color: var(--nx-text-soft, #e1e9f4); padding: 0 6px; }
.nxvr-cats-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px 10px; margin-top: 6px; }
.nxvr-cat {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	padding: 9px 12px;
	border: 1px solid rgba(48, 79, 113, 0.5);
	border-radius: 8px;
	background: var(--nxar-field, rgba(6, 19, 38, 0.6));
	transition: border-color .2s ease, background .2s ease, transform .15s ease;
	font-size: 13px;
	min-height: 42px;
}
.nxvr-cat:hover { border-color: var(--nx-cyan, #22d3ee); background: rgba(14, 32, 57, 0.8); }
.nxvr-cat input { flex: 0 0 auto; accent-color: var(--nx-cyan, #22d3ee); width: 16px; height: 16px; margin: 0; }
.nxvr-cat span { color: var(--nx-text, #eaf2ff); line-height: 1.3; word-break: break-word; }
.nxvr-cats small { display: block; margin-top: 10px; color: var(--nx-text-muted, #7f90a7); font-size: 11px; }

@media (max-width: 480px) {
	.nxvr-cats { padding: 10px 11px; }
	.nxvr-cats-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 6px; }
	.nxvr-cat { padding: 7px 9px; min-height: 38px; font-size: 12px; gap: 7px; }
}
