/* The wheel demo on the settings home page and the website; needs the page's colour tokens. */

.tw-demo {
	position: relative;
	border-radius: var(--radius);
	overflow: hidden;
	border: 1px solid var(--stroke);
	background:
		radial-gradient(120% 90% at 85% 10%, color-mix(in srgb, var(--accent) 26%, transparent), transparent 60%),
		radial-gradient(90% 80% at 0% 100%, color-mix(in srgb, #0047ab 24%, transparent), transparent 60%),
		var(--stage);
}

.tw-demo svg {
	display: block;
	width: 100%;
	height: auto;
}

.tw-demo .steps {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 16px;
	padding: 8px;
	border-top: 1px solid var(--stroke);
	background: color-mix(in srgb, var(--surface) 60%, transparent);
}

.tw-demo .keys {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.tw-demo .hint {
	flex: 1 1 260px;
	margin: 0;
	padding: 0 8px;
	font: 400 14px/20px var(--font);
	color: var(--text-2);
	min-height: 40px;
	display: flex;
	align-items: center;
}

.tw-demo.playable svg {
	cursor: default;
	user-select: none;
	-webkit-user-select: none;
}

.tw-demo .steps button {
	font: 600 14px var(--font);
	color: var(--text-2);
	background: none;
	border: 1px solid transparent;
	border-radius: 999px;
	padding: 0 16px;
	min-height: 44px;
	cursor: pointer;
}

.tw-demo .steps button:hover {
	color: var(--text);
	background: color-mix(in srgb, var(--text) 6%, transparent);
}

.tw-demo .steps button:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 1px;
}

.tw-demo .steps button[aria-pressed="true"] {
	background: var(--accent);
	color: var(--on-accent);
	border-color: transparent;
}
