:root {
	font-family:
		Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI",
		sans-serif;
	color: #171716;
	background: #f5f5f3;
	font-synthesis: none;
	text-rendering: optimizeLegibility;
}

* {
	box-sizing: border-box;
}

html,
body {
	min-width: 320px;
	min-height: 100%;
	margin: 0;
}

body {
	background:
		radial-gradient(circle at 20% 15%, rgb(255 255 255 / 90%), transparent 32rem),
		#f5f5f3;
}

button {
	font: inherit;
	-webkit-tap-highlight-color: transparent;
}

.page-shell {
	min-height: 100vh;
	min-height: 100dvh;
	padding:
		max(24px, env(safe-area-inset-top))
		max(24px, env(safe-area-inset-right))
		max(24px, env(safe-area-inset-bottom))
		max(24px, env(safe-area-inset-left));
	display: grid;
	place-items: center;
}

.copy-panel {
	width: min(100%, 680px);
	display: grid;
	justify-items: center;
	gap: 18px;
}

.button-group {
	width: min(100%, 340px);
	display: grid;
	gap: 12px;
}

.copy-button {
	min-height: 64px;
	padding: 16px 28px;
	border: 1px solid #171716;
	border-radius: 18px;
	background: #171716;
	box-shadow: 0 14px 32px rgb(23 23 22 / 14%);
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	cursor: pointer;
	transition:
		transform 160ms ease,
		box-shadow 160ms ease,
		background-color 160ms ease;
	-webkit-user-select: none;
	user-select: none;
}

.copy-button--secondary {
	border-color: #d2d2ce;
	background: rgb(255 255 255 / 88%);
	box-shadow: 0 12px 28px rgb(23 23 22 / 8%);
	color: #171716;
}

.copy-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 36px rgb(23 23 22 / 18%);
}

.copy-button:active {
	transform: translateY(0) scale(0.985);
}

.copy-button:focus-visible {
	outline: 3px solid #6b7cff;
	outline-offset: 4px;
}

.copy-status {
	min-height: 24px;
	margin: 0;
	color: #376642;
	font-size: 0.875rem;
	font-weight: 650;
	opacity: 0;
	transform: translateY(4px);
	transition:
		opacity 160ms ease,
		transform 160ms ease;
}

.copy-status.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.copy-status.is-error {
	color: #a33a32;
}

@media (min-width: 640px) {
	.button-group {
		width: 100%;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.copy-button,
	.copy-status {
		transition: none;
	}
}

