/* Shared adaptive colours for ABBC3 content blocks. */
.hc-box,
.abbc3-spoiler {
	--abbc3-content-surface: rgba(127, 127, 127, 0.08);
	--abbc3-content-border: rgba(127, 127, 127, 0.30);
	--abbc3-content-accent: currentColor;
}

@supports (background: color-mix(in srgb, currentColor 10%, transparent)) {
	.hc-box,
	.abbc3-spoiler {
		--abbc3-content-surface: color-mix(in srgb, currentColor 7%, transparent);
		--abbc3-content-border: color-mix(in srgb, currentColor 25%, transparent);
	}
}

/* [hidden] Hidden Content (guest view) */
.hc-box {
	background-color: var(--abbc3-content-surface);
	border: 1px solid var(--abbc3-content-border);
	border-radius: 12px;
	color: inherit;
	margin: 1em 0;
	padding: 20px;
}

.hc-overlay {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

.hc-lock:before {
	font-size: 1.5rem;
	line-height: 1;
	content: "\1F512";
}

.hc-text {
	display: grid;
	max-width: 32rem;
	gap: 6px;
}

.hc-text strong {
	font-size: 1rem;
}

.hc-text span {
	font-size: 0.9rem;
	opacity: 0.85;
}

.hc-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 8px;
	gap: 8px;
}

.hc-btn {
	font-size: 0.9rem;
	line-height: 1;
	text-decoration: none;
	background-color: transparent;
	border: 1px solid var(--abbc3-content-border);
	border-radius: 10px;
	color: inherit;
	display: inline-block;
	padding: 8px 12px;
}

.hc-btn:hover,
.hc-btn:focus {
	background-color: var(--abbc3-content-surface);
	color: inherit;
	text-decoration: none;
}

.hc-btn--primary {
	background-color: var(--abbc3-content-accent);
	border-color: transparent;
	color: Canvas;
}

@supports (color: color-mix(in srgb, Canvas 50%, CanvasText)) {
	.hc-btn--primary {
		color: color-mix(in srgb, Canvas 92%, CanvasText);
	}
}

.hc-box--member .hc-content {
	padding: 5px 0;
}

.hc-header {
	font-size: 0.85rem;
	font-weight: 500;
	border-bottom: 1px solid var(--abbc3-content-border);
	opacity: 0.85;
	display: flex;
	align-items: center;
	margin-bottom: 10px;
	padding-bottom: 4px;
	gap: 6px;
}

.hc-box--member .hc-lock:before {
	font-size: 1rem;
	content: "\1F512";
}

/* [spoil] spoiler BBCode */
.spoilbtn:hover {
	filter: brightness(1.15);
}

/* [fade] fade text in/out effect */
.fadeEffect {
	-moz-animation: fade 2s infinite;
	-webkit-animation: fade 2s infinite;
	animation: fade 2s infinite;
}

@-webkit-keyframes fade {
	50% { opacity: 0; }
}

@keyframes fade {
	50% { opacity: 0; }
}

.auto-video {
	max-width: 100%;
}

.pipe-table {
	margin-bottom: 0.813rem;
}

.pipe-table th,
.pipe-table td {
	padding: 0 12px;
}

.pipe-table th {
	background-color: var(--abbc3-content-surface);
	border-color: var(--abbc3-content-border);
	color: inherit;
}

.pipe-table tr:hover {
	background-color: var(--abbc3-content-surface);
}

.abbc3-marquee {
	overflow: hidden;
}

.abbc3-marquee-left {
	text-align: center;
	-webkit-transform: translateX(100%);
	-moz-transform: translateX(100%);
	transform: translateX(100%);
	-webkit-animation: marquee-x 10s linear normal infinite;
	-moz-animation: marquee-x 10s linear normal infinite;
	animation: marquee-x 10s linear normal infinite;
}

.abbc3-marquee-right {
	text-align: center;
	-webkit-transform: translateX(-100%);
	-moz-transform: translateX(-100%);
	transform: translateX(-100%);
	-webkit-animation: marquee-x 10s linear reverse infinite;
	-moz-animation: marquee-x 10s linear reverse infinite;
	animation: marquee-x 10s linear reverse infinite;
}

.abbc3-marquee-up {
	height: 20em;
	-webkit-transform: translateY(100%);
	-moz-transform: translateY(100%);
	transform: translateY(100%);
	-webkit-animation: marquee-y 5s linear normal infinite;
	-moz-animation: marquee-y 5s linear normal infinite;
	animation: marquee-y 5s linear normal infinite;
}

.abbc3-marquee-down {
	height: 20em;
	-webkit-transform: translateY(-100%);
	-moz-transform: translateY(-100%);
	transform: translateY(-100%);
	-webkit-animation: marquee-y 5s linear reverse infinite;
	-moz-animation: marquee-y 5s linear reverse infinite;
	animation: marquee-y 5s linear reverse infinite;
}

@keyframes marquee-x {
	0% {
		-webkit-transform: translateX(100%);
		-moz-transform: translateX(100%);
		transform: translateX(100%);
	}
	100% {
		-webkit-transform: translateX(-100%);
		-moz-transform: translateX(-100%);
		transform: translateX(-100%);
	}
}

@keyframes marquee-y {
	0% {
		-webkit-transform: translateY(100%);
		-moz-transform: translateY(100%);
		transform: translateY(100%);
	}
	100% {
		-webkit-transform: translateY(-100%);
		-moz-transform: translateY(-100%);
		transform: translateY(-100%);
	}
}

/* Compatibility with extensions providing a dark-mode class. */
.phpbb-dark-mode .hc-box,
.phpbb-dark-mode .abbc3-spoiler {
	background-color: var(--abbc3-content-surface) !important;
	border-color: var(--abbc3-content-border) !important;
}
