.copyclip {
	display: inline-flex;
	align-items: center;
	gap: var( --copyclip-gap, 6px );
	max-width: 100%;
	vertical-align: middle;
}

.copyclip-text {
	font-family: var( --copyclip-font, ui-monospace, SFMono-Regular, Menlo, monospace );
	font-size: .9em;
	background: none;
	padding: 0;
	overflow-x: auto;
	white-space: pre;
}

.copyclip-btn {
	display: inline-flex;
	align-items: center;
	gap: .35em;
	padding: .25em .4em;
	margin: 0;
	border: 0;
	border-radius: 4px;
	background: none;
	color: inherit;
	font: inherit;
	font-size: .85em;
	line-height: 1;
	cursor: pointer;
	opacity: var( --copyclip-opacity, .45 );
	transition: opacity .15s ease, color .15s ease;
}

.copyclip-btn:hover,
.copyclip-btn:focus-visible {
	opacity: 1;
}

.copyclip-icon {
	width: var( --copyclip-icon-size, 14px );
	height: var( --copyclip-icon-size, 14px );
	fill: none;
	stroke: currentColor;
	stroke-width: 1.25;
	stroke-linecap: round;
	stroke-linejoin: round;
	flex: none;
}

.copyclip-glyph {
	transition: opacity .12s ease;
}

.copyclip-check {
	stroke-dasharray: 15;
	stroke-dashoffset: 15;
}

.copyclip-label {
	white-space: nowrap;
}

.copyclip.is-copied .copyclip-btn {
	opacity: 1;
	color: var( --copyclip-accent, inherit );
}

.copyclip.is-copied .copyclip-glyph {
	opacity: 0;
}

.copyclip.is-copied .copyclip-check {
	stroke-dashoffset: 0;
	transition: stroke-dashoffset .25s ease .05s;
}

.copyclip-live {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
	.copyclip-btn,
	.copyclip-glyph,
	.copyclip-check {
		transition: none;
	}

	.copyclip-check {
		stroke-dasharray: none;
		stroke-dashoffset: 0;
		opacity: 0;
	}

	.copyclip.is-copied .copyclip-check {
		opacity: 1;
	}
}
