/* CrozzTube overlay: Plyr mount inside PlayTag watch chrome.
   Breakpoints (WoltLab 6.2 + PlayTag): phone 544px, screen-md-down 1024px,
   screen-lg 1025px, screen-xl 1281px. PlayTag .tag_watch_side stacks at 1200px
   — related follows that (no third layout scale). */
/* Suite-first tokens (PLAN §2.15): names from WCF, values from CrozzTube.
   Do not grow a parallel ct-* system. SSO brand fills stay in .ct-sso-btn--*. */
:root {
	--wcfBorderRadius: 4px;
	--wcfContentHeadlineText: inherit;
	--wcfContentBorderInner: var(--color-border, #e7e7e7);
	--wcfContentDimmedText: var(--color-muted, #5c6370);
	--wcfInputLabel: inherit;
	--wcfButtonPrimaryBackground: var(--main);
	--wcfButtonPrimaryText: var(--main-color, #fff);
	--wcfButtonBackground: var(--color-border, #e7e7e7);
	--wcfButtonText: var(--color-fg, #212529);
}
.video-player .ct-player,
.embed-responsive-item .ct-player {
	width: 100%;
	height: 100%;
	min-height: 200px;
}
.ct-player .plyr,
.ct-player__embed,
.ct-player__video {
	width: 100%;
	height: 100%;
}
.embed-responsive-item .plyr {
	position: absolute;
	inset: 0;
}
.ct-player__embed {
	border: 0;
}
.ct-player__empty {
	margin: 0;
	padding: 1.5rem;
	color: inherit;
}
.ct-player__fail {
	display: grid;
	place-items: center;
	gap: 0.75rem;
	min-height: 12rem;
	padding: 1.5rem;
	height: 100%;
}
.ct-player__retry {
	min-height: 2.75rem;
}

/* #225: reserved PlayTag thumb/list space. No glow, no new chrome. */
.thumb.ct-thumb-pending,
.tag_short_home_list a.ct-thumb-pending,
.embed-responsive.ct-thumb-pending,
.tag_feat_video_img.ct-thumb-pending {
	background-color: var(--body-bg, #1a1a1a);
}
.thumb.ct-thumb-pending::after,
.tag_short_home_list a.ct-thumb-pending::after,
.embed-responsive.ct-thumb-pending::after,
.tag_feat_video_img.ct-thumb-pending::after,
.ct-list-shimmer .thumb::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-image: linear-gradient(
		90deg,
		transparent 0%,
		rgba(255, 255, 255, 0.08) 50%,
		transparent 100%
	);
	background-size: 200% 100%;
	animation: ct-shimmer 1.2s ease-in-out infinite;
}
.thumb.ct-thumb-pending img,
.tag_short_home_list a.ct-thumb-pending img,
.embed-responsive.ct-thumb-pending img {
	opacity: 0;
}
.thumb.ct-thumb-ready img,
.tag_short_home_list a.ct-thumb-ready img,
.embed-responsive.ct-thumb-ready img {
	opacity: 1;
}
.ct-shimmer-line {
	display: block;
	height: 0.75rem;
	margin: 0.5rem 0 0;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.08);
}
.ct-shimmer-line--sm {
	width: 40%;
}
.night-mode-css ~ * .ct-shimmer-line,
html.night-mode .ct-shimmer-line {
	background: rgba(255, 255, 255, 0.08);
}
@keyframes ct-shimmer {
	0% { background-position: 100% 0; }
	100% { background-position: -100% 0; }
}
@media (prefers-reduced-motion: reduce) {
	.thumb.ct-thumb-pending::after,
	.tag_short_home_list a.ct-thumb-pending::after,
	.embed-responsive.ct-thumb-pending::after,
	.tag_feat_video_img.ct-thumb-pending::after,
	.ct-list-shimmer .thumb::after {
		animation: none;
		background-image: none;
		background-color: rgba(255, 255, 255, 0.06);
	}
	.thumb.ct-thumb-pending img,
	.tag_short_home_list a.ct-thumb-pending img,
	.embed-responsive.ct-thumb-pending img {
		opacity: 1;
	}
}

/* #209: Suite-near avatar/cover crop. PlayTag tokens only. */
.tag_cover_preview {
	aspect-ratio: 6 / 1;
	background: var(--body-bg, #1a1a1a);
}
.tag_cover_preview img {
	object-fit: cover;
}
.tag_avatar_preview_face {
	margin-top: -70px;
}
.tag_avatar_preview_face img {
	border: 4px solid var(--body-bg, #fff);
	background: var(--body-bg, #fff);
	object-fit: cover;
}
.tag_crop_stage {
	position: relative;
	overflow: hidden;
	max-width: 100%;
	background: var(--body-bg, #1a1a1a);
}
.tag_crop_stage--avatar {
	max-width: 280px;
	aspect-ratio: 1;
}
.tag_crop_stage--cover {
	aspect-ratio: 6 / 1;
}
.tag_crop_stage img {
	position: absolute;
	max-width: none;
	cursor: grab;
}
.tag_crop_stage img.ui-draggable-dragging {
	cursor: grabbing;
}
.tag_point_earn:focus {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

/* #95 / §2.15: Suite sections on Overlay-Twig pages inside PlayTag chrome. */
.section {
	margin: 0 0 1.5rem;
}
.section > .sectionTitle {
	margin: 0 0 1.25rem;
	padding-bottom: 0.625rem;
	border-bottom: 1px solid var(--wcfContentBorderInner, var(--color-border, #e7e7e7));
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--wcfContentHeadlineText, inherit);
}
.section > .sectionDescription {
	margin: 0 0 1rem;
}
.section dl {
	margin: 0;
}
.section dt {
	margin: 0.75rem 0 0.25rem;
	font-weight: 600;
}
.section dd {
	margin: 0 0 0.5rem;
}
.section fieldset {
	margin: 0 0 1.25rem;
	padding: 0;
	border: 0;
}
.section fieldset > .sectionTitle,
.section legend.sectionTitle {
	margin: 0 0 0.5rem;
	font-size: 1.1rem;
	font-weight: 600;
}

.ct-watch-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	margin: 0.35rem 0 0;
}
.ct-watch-toolbar__meta {
	font-size: 0.9rem;
}
.ct-watch-toolbar__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}
.tag_watch_details .publisher-element {
	margin-top: 0.75rem;
}
.ct-watch-toolbar__actions .video-options {
	overflow: visible;
	max-width: none;
	margin: 0;
	padding: 0;
	white-space: normal;
}
.ct-watch-toolbar__actions .video-options .dropdown {
	position: relative;
	display: inline-flex;
	align-items: center;
}
.ct-watch-toolbar__actions .video-options .dropdown > .btn,
.video-options .btn.ct-watch-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 32px;
	min-width: 32px;
	height: 32px;
	min-height: 32px;
	padding: 0;
	line-height: 32px;
	border-radius: 16px;
}
.ct-watch-actions {
	gap: 0.5rem;
}
.ct-watch-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 32px;
	min-width: 32px;
	height: 32px;
	min-height: 32px;
	padding: 0;
	line-height: 32px;
	border-radius: 16px;
	font-weight: 600;
	background: rgb(0 0 0 / 5%);
}
.ct-watch-icon:hover {
	background: #fff;
}
.ct-watch-icon:focus-visible {
	outline: 2px solid var(--main);
	outline-offset: 2px;
}
.ct-watch-more,
.ct-watch-toolbar__actions .video-options .dropdown.ct-watch-more {
	display: none;
}
.ct-watch-more--always,
.ct-watch-toolbar__actions .video-options .dropdown.ct-watch-more--always {
	display: inline-flex;
}
.ct-watch-mirror {
	display: flex;
	justify-content: flex-end;
	margin: 0.35rem 0 0;
}
.ct-watch-mirror .ct-mirror {
	margin: 0;
	width: min(40rem, 100%);
	max-width: 100%;
}
.ct-watch-mirror .embed-responsive {
	width: 100%;
}
.ct-embed-sizes {
	margin: 0 0 1rem;
	padding: 0;
	border: 0;
	min-width: 0;
}
.ct-embed-sizes__legend {
	margin: 0 0 0.5rem;
	padding: 0;
	font-size: 0.875rem;
	font-weight: 600;
}
.ct-embed-sizes__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}
.ct-embed-size {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 32px;
	padding: 0 12px;
	line-height: 32px;
	border-radius: 16px;
	font-weight: 600;
	font-size: 90%;
	background: rgb(0 0 0 / 5%);
}
.ct-embed-size:hover {
	background: #fff;
}
.ct-embed-size[aria-pressed='true'] {
	background: var(--main);
	color: #fff;
}
.ct-embed-size:focus-visible {
	outline: 2px solid var(--main);
	outline-offset: 2px;
}
.ct-embed-code {
	min-height: 6.5rem;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.8125rem;
	line-height: 1.4;
}
.ct-stats {
	container-type: inline-size;
	container-name: ct-stats;
	margin: 0 0 1.5rem;
}
.ct-stats-list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
}
.ct-stats-card {
	margin: 0;
	padding: 1rem 1.25rem;
	isolation: isolate;
	background: var(--wcfContentBackground, rgb(0 0 0 / 4%));
	border: 1px solid var(--wcfContentBorder, var(--color-border, #e7e7e7));
	border-radius: 16px;
}
.ct-stats-heading {
	margin: 0 0 0.75rem;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--main);
}
.ct-stats-grid {
	display: grid;
	gap: 0.75rem 1rem;
	margin: 0;
}
.ct-stats-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ct-stats-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ct-stats-item {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	min-inline-size: 0;
}
.ct-stats-grid dt {
	margin: 0;
	color: var(--color-muted, #5c6370);
	font-size: 0.75rem;
	line-height: 1.3;
}
.ct-stats-grid dd {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
}
@media (max-width: 544px) {
	.ct-stats-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@supports (container-type: inline-size) {
	@media (max-width: 544px) {
		.ct-stats-grid--3 {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}
	}
	@container ct-stats (max-width: 36rem) {
		.ct-stats-grid--3 {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
	}
}
@media (max-width: 1024px) {
	.ct-watch-action--overflow,
	.video-options .btn.ct-watch-action--overflow,
	.ct-watch-toolbar__actions .video-options .btn.ct-watch-action--overflow {
		display: none;
	}
	.ct-watch-more,
	.ct-watch-toolbar__actions .video-options .dropdown.ct-watch-more {
		display: inline-flex;
	}
}
.ct-watch-source {
	margin: 0.35rem 0 0;
}
.ct-source-btn .fa-circle-info {
	font-size: 1.05rem;
	pointer-events: none;
}
.ct-source-panel {
	inset: auto;
	margin: 0;
	padding: 0.35rem 0 0.45rem;
	min-width: 12.5rem;
	max-width: min(20rem, calc(100vw - 1rem));
	border: 1px solid var(--border-color, rgba(0, 0, 0, 0.12));
	border-radius: 4px;
	background: var(--body-bg, #fff);
	color: inherit;
	font: inherit;
	isolation: isolate;
}
.ct-source-panel[data-open] {
	display: block;
	position: fixed;
	z-index: 4;
}
.ct-source-panel__title {
	margin: 0;
	padding: 0.35rem 0.75rem 0.45rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: inherit;
	opacity: 0.7;
}
.ct-source-panel__item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	width: 100%;
	margin: 0;
	padding: 0.45rem 0.75rem;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: start;
	text-decoration: none;
	cursor: pointer;
}
.ct-source-panel__item--static {
	cursor: default;
}
.ct-source-panel__item:hover,
.ct-source-panel__item:focus-visible {
	background: rgb(0 0 0 / 5%);
}
.ct-source-panel__item:focus-visible {
	outline: 2px solid var(--main);
	outline-offset: -2px;
}
.ct-source-panel__item .fa-solid {
	width: 1rem;
	flex: 0 0 auto;
	opacity: 0.9;
}
.ct-player-status[hidden] {
	display: none !important;
}
.ct-player-status {
	margin: 0 0 0.25rem;
	font-size: 0.85rem;
	color: var(--text-muted, #8b8b8b);
}
.ct-player-status[data-kind='fail'] {
	color: var(--color-danger, #c44);
}
.ct-mirror {
	margin: 0.5rem 0 0;
}
.ct-mirror[hidden] {
	display: none !important;
}
.ct-mirror summary {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	cursor: pointer;
	list-style: none;
	padding: 0.25rem 0.5rem;
	border-radius: 4px;
	font-weight: 600;
	color: inherit;
}
.ct-mirror summary::-webkit-details-marker {
	display: none;
}
.ct-mirror summary::after {
	content: '';
	width: 0.4rem;
	height: 0.4rem;
	margin-inline-start: 0.15rem;
	border-inline-end: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
}
.ct-mirror[open] summary::after {
	transform: rotate(-135deg);
	translate: 0 0.15rem;
}
.ct-mirror summary:focus-visible {
	outline: 2px solid var(--main);
	outline-offset: 2px;
}
.ct-watch-desc {
	display: block;
	margin: 0.5rem 0 1.5rem;
	padding: 0.75rem 1rem;
	border-radius: 8px;
	background: rgb(128 128 128 / 8%);
}
.ct-watch-desc > summary {
	cursor: pointer;
	list-style: none;
	color: inherit;
}
.ct-watch-desc > summary::-webkit-details-marker {
	display: none;
}
.ct-watch-desc > summary:focus-visible {
	outline: 2px solid var(--main);
	outline-offset: 2px;
}
.ct-watch-desc__preview {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	margin: 0 0 0.5rem;
	font-size: 0.95rem;
	line-height: 1.5;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
	-webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent);
	mask-image: linear-gradient(to bottom, #000 55%, transparent);
}
.ct-watch-desc__more,
.ct-watch-desc__less {
	display: block;
	font-size: 0.9rem;
	font-weight: 600;
}
.ct-watch-desc__body {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.5;
	overflow-wrap: anywhere;
}
.ct-watch-desc[open] .ct-watch-desc__preview,
.ct-watch-desc[open] .ct-watch-desc__more,
.ct-watch-desc:not([open]) .ct-watch-desc__less {
	display: none;
}
.ct-watch-tags {
	display: none;
}
.ct-seek:focus {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}
.ct-clip-dialog {
	width: min(32rem, calc(100vw - 2rem));
	max-height: calc(100vh - 2rem);
	overflow: hidden;
	padding: 0;
	border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
	border-radius: 16px;
	background: var(--body-bg, #0f1014);
	color: inherit;
}
.ct-clip-dialog::backdrop {
	background: rgb(0 0 0 / 45%);
}
.ct-clip-dialog__panel {
	margin: 0;
	padding: 1rem 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.ct-clip-dialog__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0;
}
.ct-clip-dialog__title {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1.2;
}
.ct-clip-dialog__howto {
	margin: 0;
}
.ct-clip-dialog__howto > summary,
.ct-clip-dialog__meta > summary,
.ct-clip-dialog__list > summary {
	cursor: pointer;
	list-style: none;
	font-size: 0.85rem;
	font-weight: 600;
}
.ct-clip-dialog__howto > summary::-webkit-details-marker,
.ct-clip-dialog__meta > summary::-webkit-details-marker,
.ct-clip-dialog__list > summary::-webkit-details-marker {
	display: none;
}
.ct-clip-dialog__howto > summary::marker,
.ct-clip-dialog__meta > summary::marker,
.ct-clip-dialog__list > summary::marker {
	content: '';
	font-size: 0;
}
.ct-clip-dialog__howto > summary:focus-visible,
.ct-clip-dialog__meta > summary:focus-visible,
.ct-clip-dialog__list > summary:focus-visible {
	outline: 2px solid var(--main);
	outline-offset: 2px;
}
.ct-clip-dialog__lead,
.ct-clip-dialog__notice {
	margin: 0.35rem 0 0;
}
.ct-clip-dialog__preview {
	display: block;
	width: min(100%, 20rem);
	aspect-ratio: 16 / 9;
	height: auto;
	max-height: min(9rem, 18vh);
	margin: 0 auto;
	background: #16181f;
}
.ct-clip-dialog__formats,
.ct-clip-dialog__times {
	display: grid;
	gap: 0.5rem;
}
.ct-clip-dialog__formats {
	grid-template-columns: 1fr 1fr;
}
.ct-clip-dialog__times {
	grid-template-columns: 1fr 2.5rem 1fr;
	align-items: end;
	column-gap: 0.75rem;
}
.ct-clip-dialog__field {
	margin: 0;
}
.ct-clip-dialog__field > label {
	display: block;
	position: static;
	height: auto;
	padding: 0 0 0.25rem;
	margin: 0;
	pointer-events: auto;
	font-size: 0.85rem;
	font-weight: 600;
	color: inherit;
}
.ct-clip-dialog .form-control {
	height: 2rem;
	min-height: 2rem;
	padding: 0.25rem 0.75rem;
	line-height: 1.25;
	border-radius: 0.6rem;
}
.ct-clip-dialog select.form-control {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 1.75rem;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239aa0a6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right 0.5rem center;
	background-size: 12px 10px;
}
.ct-clip-dialog textarea.form-control {
	height: auto;
	min-height: 3rem;
}
.ct-clip-dialog__time {
	text-align: center;
	font-variant-numeric: tabular-nums;
}
.ct-clip-dialog__play {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 2.5rem;
	height: 2.5rem;
	min-width: 2.5rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--main);
	color: var(--main-color);
	font-size: 0;
	line-height: 0;
}
.ct-clip-dialog__play:hover:not(:disabled) {
	background: var(--main-hover);
	color: var(--main-hover-color);
}
.ct-clip-dialog__play:disabled {
	opacity: 0.45;
}
.ct-clip-dialog__play:focus-visible {
	outline: 2px solid var(--main);
	outline-offset: 2px;
}
.ct-clip-dialog__play-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1rem;
	height: 1rem;
	font-size: 1rem;
	line-height: 1;
	color: inherit;
}
.ct-clip-dialog__play-icon[hidden] {
	display: none !important;
}
.ct-clip-dialog__play-icon i,
.ct-clip-dialog__play-icon svg {
	width: 1rem;
	height: 1rem;
	font-size: 1rem;
	color: inherit;
	fill: currentColor;
}
.ct-clip-dialog__trim-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem;
	margin: 0 0 0.5rem;
}
.ct-clip-dialog__trim-head > label {
	margin: 0;
	font-size: 0.85rem;
	font-weight: 600;
}
.ct-clip-dialog__dual {
	isolation: isolate;
	position: relative;
	height: 1.75rem;
}
.ct-clip-dialog__dual-track {
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	height: 4px;
	transform: translateY(-50%);
	background: color-mix(in srgb, currentColor 16%, transparent);
	border-radius: 2px;
}
.ct-clip-dialog__dual-fill {
	position: absolute;
	top: 0;
	bottom: 0;
	left: var(--ct-start, 0%);
	right: calc(100% - var(--ct-end, 100%));
	background: var(--main);
	border-radius: 2px;
}
.ct-clip-dialog__range {
	-webkit-appearance: none;
	appearance: none;
	position: absolute;
	inset: 0;
	width: 100%;
	margin: 0;
	background: transparent;
	pointer-events: none;
	accent-color: var(--main);
}
.ct-clip-dialog__range::-webkit-slider-runnable-track {
	height: 4px;
	background: transparent;
	border: 0;
}
.ct-clip-dialog__range::-moz-range-track,
.ct-clip-dialog__range::-moz-range-progress {
	height: 4px;
	background: transparent;
	border: 0;
}
.ct-clip-dialog__range::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	pointer-events: auto;
	box-sizing: border-box;
	width: 1rem;
	height: 1rem;
	margin-top: -6px;
	border: 2px solid var(--body-bg, #0f1014);
	border-radius: 50%;
	background: var(--main);
}
.ct-clip-dialog__range::-moz-range-thumb {
	-moz-appearance: none;
	appearance: none;
	pointer-events: auto;
	box-sizing: border-box;
	width: 1rem;
	height: 1rem;
	border: 2px solid var(--body-bg, #0f1014);
	border-radius: 50%;
	background: var(--main);
}
.ct-clip-dialog__range--start {
	z-index: 2;
}
.ct-clip-dialog__range--end {
	z-index: 1;
}
.ct-clip-dialog__number[hidden] {
	display: none !important;
}
.ct-clip-dialog__meta {
	margin: 0;
}
.ct-clip-dialog__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin: 0;
}
.ct-clip-dialog__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 0.5rem;
	margin-left: auto;
}
.ct-clip-dialog__privacy {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
	font-weight: 400;
}
/* Suite GridView (auto-fill tiles) + Videos-Leiste Maße:
   .tag_video_grid gap 8+8, .tag_video_grid_list .thumb 16:9 / radius 10px,
   .info margin-top 8px, h4 clamp 2 / 1rem / max-height 40px. */
.ct-clip-list {
	container-type: inline-size;
	margin-top: 1.25rem;
}
.ct-clip-list .sectionTitle {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 1rem;
	font-size: 1.1rem;
}
.ct-clip-list__items {
	--ct-clip-gap: 1rem;
	--ct-clip-min: 10.5rem;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--ct-clip-gap);
	margin: 0 0 1rem;
	padding: 0;
}
@container (min-width: 36rem) {
	.ct-clip-list__items {
		grid-template-columns: repeat(
			auto-fill,
			minmax(max(var(--ct-clip-min), calc((100% - 5 * var(--ct-clip-gap)) / 6)), 1fr)
		);
	}
}
.ct-clip-list__item {
	isolation: isolate;
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	padding: 0;
}
.ct-clip-list__media {
	display: block;
	min-width: 0;
}
.ct-clip-list__media:focus-visible,
.ct-clip-list__title:focus-visible,
.ct-clip-list__privacy:focus-visible {
	outline: 2px solid var(--main);
	outline-offset: 2px;
}
.ct-clip-list__thumb {
	display: block;
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 10px;
	background: #0f1014;
}
.ct-clip-list__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ct-clip-list__thumb--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #6c757d;
}
.ct-clip-list__body {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-top: 8px;
}
.ct-clip-list__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	min-width: 0;
	max-height: 40px;
	margin: 0 0 2px;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.25;
	color: inherit;
}
.ct-clip-list__title:hover {
	color: var(--main);
}
.ct-clip-list__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}
.ct-clip-list__pill {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	min-width: 0;
	font-size: 0.875em;
	font-weight: 400;
	line-height: 1.4;
}
.ct-clip-list__item[data-ct-clip-pending] .ct-clip-list__title {
	cursor: default;
}
.ct-clip-list__pill .ct-odysee-icon-wrap,
.ct-clip-list__pill .ct-odysee-icon {
	width: 0.875rem;
	height: 0.875rem;
	flex-basis: 0.875rem;
}
.ct-clip-list__privacy {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font-size: 0.875em;
	font-weight: 400;
	line-height: 1.4;
	cursor: pointer;
}
.ct-clip-list__privacy-track {
	position: relative;
	flex: 0 0 1.75rem;
	width: 1.75rem;
	height: 1rem;
	border-radius: 999px;
	background: rgb(108 117 125 / 35%);
}
.ct-clip-list__privacy[aria-checked='true'] .ct-clip-list__privacy-track {
	background: var(--main);
}
.ct-clip-list__privacy-knob {
	position: absolute;
	top: 2px;
	left: 2px;
	width: 0.75rem;
	height: 0.75rem;
	border-radius: 50%;
	background: #e8eaed;
	transition: transform 150ms ease;
}
.ct-clip-list__privacy[aria-checked='true'] .ct-clip-list__privacy-knob {
	transform: translateX(0.75rem);
}
@media (prefers-reduced-motion: reduce) {
	.ct-clip-list__privacy-knob {
		transition: none;
	}
}
.ct-clip-dialog__footer .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-height: 32px;
	padding: 0 12px;
	line-height: 32px;
	border-radius: 16px;
	font-weight: 600;
	font-size: 90%;
}
.ct-clip-dialog__footer .btn-main-outline {
	line-height: 30px;
}
.ct-clip-dialog__footer .btn:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}
.ct-odysee-icon-wrap,
.ct-odysee-icon {
	display: inline-flex;
	width: 1.25rem;
	height: 1.25rem;
	flex: 0 0 1.25rem;
	align-items: center;
	justify-content: center;
}
.ct-odysee-icon {
	width: 1.25rem;
	height: 1.25rem;
	fill: currentColor;
}
.publisher-subscribe-button > a.btn-share,
.publisher-subscribe-button > .btn-share {
	font-weight: 600;
	font-size: 90%;
	min-height: 32px;
	padding: 0 12px;
	line-height: 32px;
	border-radius: 16px;
	background: rgb(0 0 0 / 5%);
}
.publisher-subscribe-button > a.btn-share:hover,
.publisher-subscribe-button > .btn-share:hover {
	background: #fff;
}
.publisher-subscribe-button > a.btn-share:focus-visible,
.publisher-subscribe-button > .btn-share:focus-visible {
	outline: 2px solid var(--main);
	outline-offset: 2px;
}
.ct-clip-dialog__loop {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
	font-weight: 400;
}
.ct-clip-dialog__hint,
.ct-clip-dialog__status {
	margin: 0;
}
.ct-clip-dialog__list {
	margin: 0;
}
.ct-clip-dialog__clips {
	margin: 0.35rem 0 0;
	padding-left: 1.1rem;
}
.ct-clip-dialog__clips a {
	color: var(--main);
}
.ct-clip-dialog__range:focus-visible,
.ct-clip-dialog__loop input:focus-visible,
.ct-clip-dialog .btn:focus,
.ct-clip-dialog .form-control:focus {
	outline: 2px solid var(--main);
	outline-offset: 2px;
}
.swal2-modal.pt_add_to_list_vid .swal2-content,
.pt_add_to_list_vid .add-topl-cont {
	max-height: min(24rem, 60vh);
	overflow-y: auto;
	overscroll-behavior: contain;
}
.swal2-modal.pt_add_to_list_vid .swal2-content:focus-visible {
	outline: 2px solid var(--main);
	outline-offset: 2px;
}
#ct_download_box .modal-header {
	padding: 1rem 1.25rem 0.5rem;
	border-bottom: 0;
}
#ct_download_box .modal-body {
	padding: 0.5rem 1.25rem 1rem;
}
#ct_download_box .modal-footer {
	padding: 0.5rem 1.25rem 1rem;
	border-top: 0;
}
.ct-download-hint {
	margin: 0 0 0.75rem;
}
.ct-download-list a:focus,
#ct_download_box button:focus {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}
.ct-download-list {
	margin: 0;
	padding: 0;
}
.ct-download-list__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 2.5rem;
	padding: 0.35rem 0;
	border-bottom: 1px solid var(--border-color, rgba(0, 0, 0, 0.12));
}
.ct-download-list__row:last-child {
	border-bottom: 0;
}
.ct-download-list__quality {
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
.ct-download-list__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	box-sizing: border-box;
	min-width: 8.75rem;
	min-height: 32px;
	padding: 0 12px;
	line-height: 32px;
	border-radius: 16px;
}
.ct-download-cnl {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	margin-top: 0.35rem;
	padding: 0.35rem 0;
	gap: 0.5rem;
	min-height: 2.5rem;
}
.ct-download-cnl[hidden],
[data-ct-cnl][hidden] {
	display: none !important;
}
.ct-jd-icon {
	display: inline-flex;
	width: 1.25rem;
	height: 1.25rem;
	flex: 0 0 1.25rem;
}
.ct-jd-icon img {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
}
[data-ct-cnl-status][hidden] {
	display: none !important;
}
[data-ct-cnl-status][data-kind='fail'] {
	color: var(--color-danger, #c44);
}
.ct-watch-related__title {
	margin: 0 0 1rem;
}
.tag_watch_rel_vids {
	margin-top: 1.5rem;
}
.ct-clip-dialog__trim {
	margin-top: 0.75rem;
}
@media (max-width: 544px) {
	.ct-clip-dialog__formats {
		grid-template-columns: 1fr;
	}
	.ct-clip-dialog__preview {
		max-height: min(7rem, 16vh);
	}
	.ct-clip-dialog__footer .btn,
	.ct-clip-dialog__actions,
	.ct-clip-dialog__odysee {
		width: 100%;
		max-width: none;
	}
}
@media (min-width: 1201px) {
	.tag_watch_rel_vids {
		display: none;
	}
}
@media (max-width: 1200px) {
	.tag_watch_rel_vids {
		display: block;
	}
	.ct-watch-up-next {
		display: none;
	}
}
.cc-btn:focus-visible,
.cc-link:focus-visible,
.cc-close:focus-visible,
.head_sidebar_menu a:focus-visible,
.tag_header .navbar-brand:focus-visible,
.tag_mode_toggle:focus-within .content,
.tag_header .btn:focus-visible,
.tag_header_ddown .btn-close:focus-visible,
.tag_user_menu_links a:focus-visible,
.tag_user_menu_links .ct-account-logout button:focus-visible,
.tag_search_menu #search-bar:focus-visible {
	outline: 2px solid var(--main);
	outline-offset: 2px;
}

/* Chrome: avatar fallback + sidebar footer icons (#198). */
.ct-chrome-avatar-fa {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	background: var(--main);
	color: var(--main-color);
	flex: 0 0 auto;
}
.ct-chrome-avatar-fa i {
	font-size: 14px;
	line-height: 1;
}
.ct-chrome-avatar-fa--fill,
.tag_user_menu_links .ct-chrome-avatar-fa {
	width: 100%;
	height: 100%;
}
.tag_user_menu_links .ct-chrome-avatar-fa i {
	font-size: 28px;
}
.head_sidebar_menu .ct-chrome-avatar-img,
.head_sidebar_menu .ct-chrome-avatar-fa {
	width: 26px;
	height: 26px;
	object-fit: cover;
}
/* Photo fills the circle; span.main --main fill must not sit over the img. */
.ct-chrome-avatar-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
	background: transparent;
	position: relative;
	z-index: 1;
}
#ct-user-toggle .ct-chrome-avatar-img {
	width: 26px;
	height: 26px;
	background: transparent;
}
.tag_user_menu_links .tag_pro_head > span.main {
	width: 70px;
	height: 70px;
	flex: 0 0 70px;
	background: transparent;
	overflow: hidden;
	border-radius: 50%;
}
.tag_user_menu_links .tag_pro_head > span.main > img {
	display: block;
	width: 70px;
	height: 70px;
	object-fit: cover;
	object-position: center;
	background: transparent;
}
.tag_mode_toggle.mini .content i,
.tag_mode_toggle .content i {
	font-size: 16px;
	line-height: 1;
	width: 1em;
	height: 1em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.ct-sidebar-foot {
	position: fixed;
	left: 0;
	bottom: 84px;
	z-index: 10;
	width: 100px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
}
.ct-sidebar-foot__link,
.ct-sidebar-foot__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 33px;
	height: 33px;
	border-radius: 50%;
	color: rgb(0 0 0 / 70%);
	text-decoration: none;
}
.ct-sidebar-foot__link:hover,
.ct-sidebar-foot__link:focus-visible {
	color: var(--main);
}
.ct-sidebar-foot__badge {
	color: var(--main);
}
.ct-sidebar-foot__link i,
.ct-sidebar-foot__badge i {
	font-size: 16px;
	line-height: 1;
}
.tag_user_menu_links form.ct-account-logout {
	display: contents;
}
.tag_user_menu_links .ct-account-logout button,
.tag_user_menu_links button[data-action="account-logout"] {
	cursor: pointer;
}
@media (prefers-reduced-motion: reduce) {
	.plyr,
	.plyr__control,
	.plyr__progress,
	.ct-source-panel,
	.ct-clip-dialog,
	.ct-clip-dialog::backdrop,
	.cc-window,
	.cc-animate.cc-revoke,
	.cc-grower,
	.tag_search_menu,
	.tag_noti_menu,
	.head_menu_backdrop,
	.head_sidebar_backsplash {
		transition: none !important;
	}
	.ct-watch-desc__preview {
		-webkit-mask-image: none;
		mask-image: none;
	}
	.ct-pw__toggle {
		transition: none;
	}
}

.form-group.ct-pw {
	isolation: isolate;
}
.form-group.ct-pw > .form-control {
	padding-right: 2.75rem;
}
.ct-pw__toggle {
	position: absolute;
	top: 50%;
	right: 0.5rem;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0.35rem;
	background: transparent;
	color: inherit;
	cursor: pointer;
	transform: translateY(-50%);
}
.ct-pw__toggle:focus-visible {
	outline: 2px solid var(--main, #6e67cc);
	outline-offset: 2px;
}
.ct-pw__rules {
	list-style: none;
	margin: 0.5rem 0 0;
	padding: 0;
	font-size: 0.875rem;
	color: inherit;
}
.ct-pw__rules li {
	margin: 0.15rem 0;
}
.ct-pw__rules li.is-ok {
	color: #1f7a4d;
}
.ct-pw__rules li.is-fail {
	color: #b42318;
}

.ct-mfa-secret {
	display: inline-block;
	padding: 0.25rem 0.4rem;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: 0.06em;
	word-break: break-all;
}
.ct-mfa-codes {
	margin: 0 0 1rem;
	padding-left: 1.25rem;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	columns: 2;
}
.ct-mfa-current {
	font-weight: 600;
}
#ct-mfa .form-group {
	margin-top: 0.75rem;
}
#ct-mfa [data-ct-mfa]:focus-visible,
#ct-mfa-copy:focus-visible,
#ct-mfa-cancel:focus-visible {
	outline: 2px solid var(--main, #6e67cc);
	outline-offset: 2px;
}

/* Auth CTAs: one height for Log In / Sign Up and provider buttons. */
.tag_auth_main .btn.btn-main.btn-block,
.tag_auth_main .ct-sso-btn {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 2.5rem;
	min-height: 2.5rem;
	padding: 0 1rem;
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1;
}

/* SSO login/register: brand color + icon, secondary to Log In. */
.ct-sso {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin: 1.25rem 0 0;
	padding: 0;
}
.ct-sso__item {
	margin: 0;
	padding: 0;
}
.ct-sso-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	border: 1px solid transparent;
	border-radius: 2em;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color var(--motion, 0.16s ease-out),
		border-color var(--motion, 0.16s ease-out),
		color var(--motion, 0.16s ease-out);
}
.ct-sso-btn__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1em;
	height: 1em;
	font-size: 1em;
	line-height: 1;
	text-align: center;
}
.ct-sso-btn__label {
	min-width: 0;
}
.ct-sso-btn:hover {
	text-decoration: none;
}
.ct-sso-btn:focus {
	outline: none;
}
.ct-sso-btn:focus-visible {
	outline: 2px solid var(--main, #6e67cc);
	outline-offset: 3px;
}
.ct-sso-btn:disabled,
.ct-sso-btn[aria-disabled="true"] {
	opacity: 0.45;
	cursor: not-allowed;
	pointer-events: none;
}
.ct-sso-btn--discord {
	background: #5865f2;
	border-color: #5865f2;
	color: #fff;
}
.ct-sso-btn--discord:hover {
	background: #4752c4;
	border-color: #4752c4;
	color: #fff;
}
.ct-sso-btn--google {
	background: #fff;
	border-color: #747775;
	color: #1f1f1f;
}
.ct-sso-btn--google:hover {
	background: #f8f9fa;
	border-color: #5f6368;
	color: #1f1f1f;
}
.ct-sso-btn--google .ct-sso-btn__icon {
	background-image: linear-gradient(
		180deg,
		#ea4335 0 28%,
		#fbbc05 28% 50%,
		#34a853 50% 72%,
		#4285f4 72% 100%
	);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.ct-sso-btn--facebook {
	background: #1877f2;
	border-color: #1877f2;
	color: #fff;
}
.ct-sso-btn--facebook:hover {
	background: #166fe5;
	border-color: #166fe5;
	color: #fff;
}
.ct-sso-btn--tiktok {
	background: #161823;
	border-color: #161823;
	color: #fff;
}
.ct-sso-btn--tiktok:hover {
	background: #000;
	border-color: #000;
	color: #fff;
}
.ct-sso-btn--tiktok .ct-sso-btn__icon {
	background-image: linear-gradient(120deg, #25f4ee 0%, #fff 42%, #fe2c55 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.ct-sso-btn--twitch {
	background: #9146ff;
	border-color: #9146ff;
	color: #fff;
}
.ct-sso-btn--twitch:hover {
	background: #772ce8;
	border-color: #772ce8;
	color: #fff;
}
.ct-sso-btn--github {
	background: #24292f;
	border-color: #24292f;
	color: #fff;
}
.ct-sso-btn--github:hover {
	background: #1b1f23;
	border-color: #1b1f23;
	color: #fff;
}
.ct-sso-btn--instagram {
	background: #c13584;
	border-color: #c13584;
	color: #fff;
}
.ct-sso-btn--instagram:hover {
	background: #a12d6e;
	border-color: #a12d6e;
	color: #fff;
}
.ct-sso-btn--steam {
	background: #171a21;
	border-color: #171a21;
	color: #fff;
}
.ct-sso-btn--steam:hover {
	background: #1b2838;
	border-color: #1b2838;
	color: #fff;
}
.ct-sso-btn--steam .ct-sso-btn__icon {
	color: #66c0f4;
}
.ct-sso-btn--woltlab {
	background: #fff;
	border-color: #c8c8c8;
	color: #212529;
}
.ct-sso-btn--woltlab:hover {
	background: #f4f4f5;
	border-color: #a8a8a8;
	color: #212529;
}
.ct-sso-telegram {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1rem;
	border: 1px solid #229ed9;
	border-radius: 2em;
	background: #229ed9;
	color: #fff;
}
.ct-sso-telegram__label {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin: 0;
	font-weight: 500;
}
html:has(.night-mode-css) .ct-sso-btn--google {
	background: #131314;
	border-color: #8e918f;
	color: #e3e3e3;
}
html:has(.night-mode-css) .ct-sso-btn--google:hover {
	background: #1f1f1f;
	border-color: #c4c7c5;
	color: #e3e3e3;
}
html:has(.night-mode-css) .ct-sso-btn--github {
	background: #f0f6fc;
	border-color: #f0f6fc;
	color: #24292f;
}
html:has(.night-mode-css) .ct-sso-btn--github:hover {
	background: #e6edf3;
	border-color: #e6edf3;
	color: #24292f;
}
html:has(.night-mode-css) .ct-sso-btn--tiktok {
	background: #f1f1f2;
	border-color: #25f4ee;
	color: #161823;
}
html:has(.night-mode-css) .ct-sso-btn--tiktok:hover {
	background: #fff;
	border-color: #fe2c55;
	color: #161823;
}
html:has(.night-mode-css) .ct-sso-btn--steam {
	background: #2a475e;
	border-color: #2a475e;
	color: #fff;
}
html:has(.night-mode-css) .ct-sso-btn--steam:hover {
	background: #3b6a8c;
	border-color: #3b6a8c;
	color: #fff;
}
html:has(.night-mode-css) .ct-sso-btn--woltlab {
	background: #16181f;
	border-color: #5c6370;
	color: #e3e3e3;
}
html:has(.night-mode-css) .ct-sso-btn--woltlab:hover {
	background: #1d2028;
	border-color: #9aa0a6;
	color: #fff;
}
@media (prefers-reduced-motion: reduce) {
	.ct-sso-btn {
		transition: none;
	}
}