/* Overlia Fixtures
 *
 * Follows the theme: font and text colour are inherited, every line and tint
 * is mixed from currentColor, so the same rules work on light and dark pages.
 * The accent colour and corner radius come from the settings (inline custom
 * properties on .ovfx). The block is a size container: its layout follows the
 * space it gets (content column or sidebar), not the window. Themes style
 * tables, buttons, lists and headings heavily, so those are reset here. */

.ovfx {
	--ovfx-accent: #1d7a46;
	--ovfx-radius: 10px;
	--ovfx-line: color-mix(in srgb, currentColor 13%, transparent);
	--ovfx-soft: color-mix(in srgb, currentColor 4%, transparent);
	--ovfx-soft-2: color-mix(in srgb, currentColor 8%, transparent);
	--ovfx-mute: color-mix(in srgb, currentColor 62%, transparent);
	--ovfx-club: color-mix(in srgb, var(--ovfx-accent) 14%, transparent);
	--ovfx-win: #1f9d55;
	--ovfx-draw: #8d949c;
	--ovfx-loss: #d64545;
	--ovfx-live: #e0322b;

	container: ovfx / inline-size;
	box-sizing: border-box;
	margin: 0 0 1.5em;
	font-variant-numeric: tabular-nums;
	line-height: 1.35;
	text-align: left;
}

.ovfx *,
.ovfx *::before,
.ovfx *::after {
	box-sizing: inherit;
}

.ovfx [hidden] {
	display: none !important;
}

/* Themes recolour bold text site-wide (puszcza-niepolomice.pl has
   "b, strong { color: #007141 !important }" in Additional CSS), so the
   plugin marks numbers with spans, never b or strong. */
.ovfx-club-sum__num {
	font-weight: 800;
}

/* Some themes fade images in on scroll by setting opacity: 0 on them from a
   script (Real Soccer does it to every image below the fold). Crests are
   small icons and stay visible; !important is the only way past an inline
   style. */
.ovfx img.ovfx-crest {
	opacity: 1 !important;
}

/* Explicit card backgrounds (Tło: jasna / ciemna karta). */
.ovfx[data-ovfx-theme="light"],
.ovfx[data-ovfx-theme="dark"] {
	padding: 16px;
	border-radius: calc(var(--ovfx-radius) + 4px);
}

.ovfx[data-ovfx-theme="light"] {
	color-scheme: light;
	background: #fff;
	color: #16191d;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.05);
}

.ovfx[data-ovfx-theme="dark"] {
	color-scheme: dark;
	background: #12161b;
	color: #eef1f4;
}

/* --- head ------------------------------------------------------------- */

.ovfx-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
	margin: 0 0 12px;
}

.ovfx-head__league {
	font-weight: 700;
	font-size: 1.05em;
}

.ovfx-head__season {
	color: var(--ovfx-mute);
	font-size: 0.9em;
}

/* --- crests and names ---------------------------------------------------- */

.ovfx img.ovfx-crest,
.ovfx .ovfx-crest {
	display: block;
	flex: none;
	width: 22px;
	height: 22px;
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	object-fit: contain;
}

.ovfx .ovfx-crest--none {
	display: inline-grid;
	place-items: center;
	border-radius: 50%;
	background: var(--ovfx-soft-2);
	font-size: 0.7em;
	font-weight: 700;
	line-height: 1;
}

.ovfx-name {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ovfx-name__short {
	display: none;
}

/* --- tabs ------------------------------------------------------------------ */

.ovfx-tabs {
	display: flex;
	gap: 2px;
	margin: 0 0 12px;
	border-bottom: 1px solid var(--ovfx-line);
	overflow-x: auto;
	scrollbar-width: none;
}

.ovfx .ovfx-tab {
	flex: none;
	margin: 0 0 -1px;
	padding: 10px 14px;
	border: 0;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: inherit;
	font: inherit;
	font-weight: 600;
	letter-spacing: normal;
	line-height: 1.3;
	text-transform: none;
	opacity: 0.6;
	cursor: pointer;
}

.ovfx .ovfx-tab:hover {
	background: none;
	color: inherit;
	opacity: 0.9;
}

.ovfx .ovfx-tab[aria-selected="true"] {
	border-bottom-color: var(--ovfx-accent);
	opacity: 1;
}

.ovfx .ovfx-tab:focus-visible,
.ovfx .ovfx-rounds__btn:focus-visible,
.ovfx .ovfx-rounds__select:focus-visible {
	outline: 2px solid var(--ovfx-accent);
	outline-offset: 2px;
}

/* --- rounds ---------------------------------------------------------------- */

.ovfx-rounds__nav {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 6px;
}

.ovfx .ovfx-rounds__btn {
	display: grid;
	place-items: center;
	flex: none;
	width: 38px;
	height: 38px;
	margin: 0;
	padding: 0;
	border: 1px solid var(--ovfx-line);
	border-radius: calc(var(--ovfx-radius) - 2px);
	background: none;
	box-shadow: none;
	color: inherit;
	cursor: pointer;
}

.ovfx .ovfx-rounds__btn:hover:not(:disabled) {
	background: var(--ovfx-soft-2);
	color: inherit;
}

.ovfx .ovfx-rounds__btn:disabled {
	opacity: 0.3;
	cursor: default;
}

.ovfx .ovfx-rounds__select {
	flex: 1;
	min-width: 0;
	height: 38px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid var(--ovfx-line);
	border-radius: calc(var(--ovfx-radius) - 2px);
	background: transparent;
	box-shadow: none;
	color: inherit;
	font: inherit;
	font-weight: 600;
	text-align: center;
	text-align-last: center;
	cursor: pointer;
}

.ovfx .ovfx-rounds__select option {
	color: #16191d;
	background: #fff;
}

.ovfx[data-ovfx-theme="dark"] .ovfx-rounds__select option {
	color: #eef1f4;
	background: #12161b;
}

.ovfx .ovfx-day {
	margin: 16px 0 6px;
	padding: 0;
	border: 0;
	color: var(--ovfx-mute);
	font-family: inherit;
	font-size: 0.74em;
	font-weight: 700;
	letter-spacing: 0.07em;
	line-height: 1.3;
	text-transform: uppercase;
}

.ovfx-round__note {
	margin: 12px 0 8px;
	color: var(--ovfx-mute);
	font-size: 0.85em;
}

/* --- match rows ----------------------------------------------------------- */

.ovfx .ovfx-list {
	margin: 0;
	padding: 0;
	border: 1px solid var(--ovfx-line);
	border-radius: var(--ovfx-radius);
	overflow: hidden;
	list-style: none;
}

.ovfx .ovfx-m {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 4px 10px;
	min-height: 46px;
	margin: 0;
	padding: 8px 12px;
	list-style: none;
}

/* The end rows take the list's rounded corners, so a row's own outline (the
   next match) follows the curve instead of being cut off by the list. */
.ovfx .ovfx-list > .ovfx-m:first-child {
	border-top-left-radius: inherit;
	border-top-right-radius: inherit;
}

.ovfx .ovfx-list > .ovfx-m:last-child {
	border-bottom-left-radius: inherit;
	border-bottom-right-radius: inherit;
}

.ovfx .ovfx-m + .ovfx-m {
	border-top: 1px solid var(--ovfx-line);
}

.ovfx .ovfx-m::before,
.ovfx .ovfx-m::marker {
	content: none;
}

.ovfx-m.is-club {
	background: var(--ovfx-club);
	box-shadow: inset 3px 0 0 var(--ovfx-accent);
}

.ovfx-m.is-off {
	opacity: 0.65;
}

.ovfx-m__team {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.ovfx-m__team--home {
	justify-content: flex-end;
	text-align: right;
}

.ovfx-m__team.is-winner {
	font-weight: 700;
}

.ovfx-m__mid {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 3.6em;
}

.ovfx-score {
	min-width: 3.1em;
	padding: 3px 8px;
	border-radius: 6px;
	background: var(--ovfx-soft-2);
	font-weight: 800;
	line-height: 1.25;
	text-align: center;
	white-space: nowrap;
}

.ovfx-score--time {
	background: none;
	font-weight: 600;
}

.ovfx-score--off {
	background: none;
	color: var(--ovfx-mute);
}

.is-live .ovfx-score {
	background: var(--ovfx-live);
	color: #fff;
}

.ovfx-status {
	margin-top: 2px;
	color: var(--ovfx-mute);
	font-size: 0.7em;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
}

.is-live .ovfx-status {
	color: var(--ovfx-live);
	font-weight: 700;
}

.ovfx-m__info {
	grid-column: 1 / -1;
	color: var(--ovfx-mute);
	font-size: 0.75em;
	text-align: center;
}

/* The club's own list: date column on the left, result badge on the right. */
.ovfx .ovfx-list--club .ovfx-m {
	grid-template-columns: 5.4em minmax(0, 1fr) auto minmax(0, 1fr) 24px;
}

.ovfx-list--club .ovfx-m__info {
	grid-column: 2 / -2;
}

.ovfx-m__when {
	display: flex;
	flex-direction: column;
	font-size: 0.8em;
	line-height: 1.25;
}

.ovfx-m__date {
	font-weight: 600;
	white-space: nowrap;
}

.ovfx-m__round {
	color: var(--ovfx-mute);
	white-space: nowrap;
}

.ovfx-m__res {
	display: grid;
	place-items: center;
	grid-column: -2;
	width: 24px;
	height: 24px;
	border-radius: 6px;
	color: #fff;
	font-size: 0.72em;
	font-weight: 800;
}

.ovfx-m__res.is-w,
.ovfx-form__i.is-w {
	background: var(--ovfx-win);
}

.ovfx-m__res.is-d,
.ovfx-form__i.is-d {
	background: var(--ovfx-draw);
}

.ovfx-m__res.is-l,
.ovfx-form__i.is-l {
	background: var(--ovfx-loss);
}

.ovfx .ovfx-m.is-next {
	box-shadow: inset 3px 0 0 var(--ovfx-accent), inset 0 0 0 1px var(--ovfx-accent);
}

.ovfx-club-sum {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 12px;
}

.ovfx-club-sum > span {
	padding: 5px 11px;
	border-radius: 999px;
	background: var(--ovfx-soft-2);
	font-size: 0.85em;
}

/* --- tables ---------------------------------------------------------------- */

.ovfx-table-wrap {
	overflow-x: auto;
}

.ovfx .ovfx-table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: auto;
	background: none;
	font-size: 0.95em;
}

.ovfx .ovfx-table th,
.ovfx .ovfx-table td {
	padding: 8px 6px;
	border: 0;
	border-bottom: 1px solid var(--ovfx-line);
	background: none;
	color: inherit;
	line-height: 1.3;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
}

.ovfx .ovfx-table th {
	color: var(--ovfx-mute);
	font-size: 0.72em;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.ovfx .ovfx-table abbr {
	border: 0;
	text-decoration: none;
	cursor: help;
}

.ovfx .ovfx-table tbody tr:last-child td {
	border-bottom: 0;
}

/* max-width: 0 lets the name column shrink, so long names end in "…". */
.ovfx .ovfx-table .ovfx-c-team {
	width: 100%;
	max-width: 0;
	text-align: left;
}

.ovfx-team {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.ovfx .ovfx-table .ovfx-c-rank {
	width: 1%;
	padding-left: 8px;
}

.ovfx-rank {
	display: inline-grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border-radius: 6px;
	font-size: 0.85em;
	font-weight: 700;
}

.has-zone .ovfx-rank {
	background: var(--ovfx-zone);
	color: #fff;
}

.ovfx .ovfx-table .ovfx-c-pts {
	font-weight: 800;
}

.ovfx-c-diff,
.ovfx-c-goals {
	color: var(--ovfx-mute);
}

.ovfx .ovfx-table tr.is-club td {
	background: var(--ovfx-club);
	font-weight: 700;
}

.ovfx .ovfx-table tr.is-club td:first-child {
	box-shadow: inset 3px 0 0 var(--ovfx-accent);
}

.ovfx-form {
	display: inline-flex;
	gap: 3px;
	vertical-align: middle;
}

.ovfx-form__i {
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	border-radius: 5px;
	color: #fff;
	font-size: 0.66em;
	font-weight: 800;
	cursor: default;
}

.ovfx .ovfx-table tr.ovfx-gap td {
	padding: 0 6px 4px;
	color: var(--ovfx-mute);
	line-height: 1;
	letter-spacing: 0.2em;
}

.ovfx .ovfx-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
	font-size: 0.8em;
}

.ovfx .ovfx-legend li {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
}

.ovfx-legend__dot {
	width: 10px;
	height: 10px;
	border-radius: 3px;
	background: var(--ovfx-zone, var(--ovfx-line));
}

.ovfx-note {
	margin: 8px 0 0;
	color: var(--ovfx-mute);
	font-size: 0.78em;
}

/* --- mini table ------------------------------------------------------------ */

.ovfx--mini .ovfx-head {
	margin-bottom: 8px;
}

.ovfx--mini .ovfx-head__league {
	font-size: 0.95em;
}

.ovfx .ovfx-table--mini {
	font-size: 0.88em;
}

.ovfx .ovfx-table--mini th,
.ovfx .ovfx-table--mini td {
	padding: 6px 4px;
}

.ovfx .ovfx-table--mini .ovfx-crest {
	width: 18px;
	height: 18px;
}

.ovfx .ovfx-table--mini .ovfx-rank {
	width: 22px;
	height: 22px;
}

.ovfx--mini .ovfx-name__full {
	display: none;
}

.ovfx--mini .ovfx-name__short {
	display: inline;
}

.ovfx .ovfx-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 10px;
	border: 0;
	box-shadow: none;
	color: inherit;
	font-size: 0.88em;
	font-weight: 600;
	text-decoration: none;
}

.ovfx .ovfx-more:hover {
	text-decoration: underline;
}

.ovfx-empty {
	margin: 0;
	padding: 12px 0;
	color: var(--ovfx-mute);
}

.ovfx-empty--admin {
	color: var(--ovfx-loss);
	font-size: 0.85em;
}

/* --- narrow spaces --------------------------------------------------------- */

@container ovfx (max-width: 560px) {
	.ovfx .ovfx-table:not(.ovfx-table--mini) .ovfx-c-opt {
		display: none;
	}
}

@container ovfx (max-width: 480px) {
	.ovfx-name__full {
		display: none;
	}

	.ovfx-name__short {
		display: inline;
	}

	.ovfx .ovfx-c-form {
		display: none;
	}

	.ovfx .ovfx-m {
		gap: 2px 8px;
		padding: 8px 10px;
		font-size: 0.94em;
	}

	.ovfx .ovfx-list--club .ovfx-m {
		grid-template-columns: 4.3em minmax(0, 1fr) auto minmax(0, 1fr) 22px;
	}

	.ovfx-m__round {
		display: none;
	}
}

@container ovfx (max-width: 360px) {
	.ovfx .ovfx-m .ovfx-crest {
		width: 18px;
		height: 18px;
	}

	.ovfx .ovfx-m__team {
		gap: 6px;
	}

	.ovfx .ovfx-c-diff {
		display: none;
	}

	.ovfx .ovfx-tab {
		padding: 10px 10px;
	}
}

.ovfx-score__sep {
	padding: 0 0.1em;
}

/* Grey crests, like the club's own match list (Herby: szare). A mono crest
   uploaded for the team is shown as drawn. */
.ovfx[data-ovfx-crests="mono"] .ovfx-crest:not(.ovfx-crest--own-mono) {
	filter: grayscale(1) brightness(1.08);
}

/* =========================================================================
   Club style: the look of puszcza-niepolomice.pl (Real Soccer theme).
   Dark surfaces, club green (the accent colour) with its dark shade, the
   yellow of "Szczegóły spotkania", uppercase Industry (loaded by the site),
   pill buttons, 30 px cards, "ll" before headings and "3 - 2" scores.
   ========================================================================= */

.ovfx[data-ovfx-style="club"] {
	--ovfx-green: var(--ovfx-accent);
	--ovfx-green-dark: color-mix(in srgb, var(--ovfx-accent) 45%, #000);
	--ovfx-green-hover: color-mix(in srgb, var(--ovfx-accent) 86%, #fff);
	--ovfx-yellow: #b8ab14;
	--ovfx-row: #1f1f20;
	--ovfx-row-2: #262627;
	--ovfx-surface: #2c2c2c;
	--ovfx-line: #343536;
	--ovfx-mute: #9d9d9d;
	--ovfx-soft-2: rgba(255, 255, 255, 0.08);
	--ovfx-win: #1f9d55;
	--ovfx-draw: #6f7275;
	--ovfx-loss: #aa4243;
	--ovfx-club: var(--ovfx-green);

	color-scheme: dark;
	color: #fff;
	font-family: industry, "Industry", "Helvetica Neue", Arial, sans-serif;
	font-weight: 500;
}

/* Headings with the site's "ll" marker. */
.ovfx[data-ovfx-style="club"] .ovfx-head {
	justify-content: center;
	margin-bottom: 18px;
	text-align: center;
}

.ovfx[data-ovfx-style="club"] .ovfx-head__league {
	color: var(--ovfx-green);
	font-size: 2em;
	font-weight: 800;
	line-height: 1.1;
	text-transform: uppercase;
}

.ovfx[data-ovfx-style="club"] .ovfx-head__league::before,
.ovfx[data-ovfx-style="club"] .ovfx-day::before {
	content: "ll";
	margin-right: 0.3em;
	color: #c5c5c5;
	font-weight: 700;
	text-transform: none;
}

.ovfx[data-ovfx-style="club"] .ovfx-head__season {
	color: var(--ovfx-mute);
	font-size: 1em;
	font-weight: 700;
}

/* Tabs as the site's pill buttons. */
.ovfx[data-ovfx-style="club"] .ovfx-tabs {
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0 0 18px;
	border: 0;
	overflow: visible;
}

.ovfx[data-ovfx-style="club"] .ovfx-tab {
	margin: 0;
	padding: 10px 24px;
	border: 0;
	border-radius: 100px;
	background: var(--ovfx-surface);
	color: #cfcfcf;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	opacity: 1;
}

.ovfx[data-ovfx-style="club"] .ovfx-tab:hover {
	background: #3a3a3b;
	color: #fff;
}

.ovfx[data-ovfx-style="club"] .ovfx-tab[aria-selected="true"] {
	background: var(--ovfx-green);
	color: #fff;
}

/* Round switcher. */
.ovfx[data-ovfx-style="club"] .ovfx-rounds__nav {
	gap: 10px;
}

.ovfx[data-ovfx-style="club"] .ovfx-rounds__btn {
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: var(--ovfx-green);
	color: #fff;
}

.ovfx[data-ovfx-style="club"] .ovfx-rounds__btn:hover:not(:disabled) {
	background: var(--ovfx-green-hover);
	color: #fff;
}

.ovfx[data-ovfx-style="club"] .ovfx-rounds__btn:disabled {
	background: var(--ovfx-surface);
	opacity: 0.5;
}

.ovfx[data-ovfx-style="club"] .ovfx-rounds__select {
	height: 40px;
	border: 0;
	border-radius: 100px;
	background: var(--ovfx-surface);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
}

.ovfx[data-ovfx-style="club"] .ovfx-rounds__select option {
	background: var(--ovfx-surface);
	color: #fff;
}

.ovfx[data-ovfx-style="club"] .ovfx-day {
	margin: 24px 0 10px;
	color: var(--ovfx-green);
	font-size: 1.25em;
	font-weight: 800;
	letter-spacing: 0;
}

.ovfx[data-ovfx-style="club"] .ovfx-round__note {
	color: var(--ovfx-mute);
	font-style: italic;
}

/* Match rows: dark, the club's matches green; the club's own list alternates
   green and dark green like "Wyniki i terminarz". */
.ovfx[data-ovfx-style="club"] .ovfx-list {
	border: 0;
	border-radius: 20px;
}

.ovfx[data-ovfx-style="club"] .ovfx-m {
	min-height: 56px;
	padding: 10px 18px;
	background: var(--ovfx-row);
}

.ovfx[data-ovfx-style="club"] .ovfx-m:nth-child(even) {
	background: var(--ovfx-row-2);
}

.ovfx[data-ovfx-style="club"] .ovfx-m + .ovfx-m {
	border-top: 0;
}

.ovfx[data-ovfx-style="club"] .ovfx-m.is-club {
	background: var(--ovfx-green);
	box-shadow: none;
}

.ovfx[data-ovfx-style="club"] .ovfx-list--club .ovfx-m.is-club:nth-child(even) {
	background: var(--ovfx-green-dark);
}

.ovfx[data-ovfx-style="club"] .ovfx-m__team {
	color: #fff;
	font-size: 0.95em;
	text-transform: uppercase;
}

.ovfx[data-ovfx-style="club"] .ovfx-score {
	min-width: 3.4em;
	padding: 3px 10px;
	border-radius: 100px;
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	font-weight: 700;
}

.ovfx[data-ovfx-style="club"] .ovfx-m.is-club .ovfx-score {
	background: rgba(0, 0, 0, 0.22);
}

.ovfx[data-ovfx-style="club"] .ovfx-score--time,
.ovfx[data-ovfx-style="club"] .ovfx-m.is-club .ovfx-score--time {
	background: none;
	font-style: italic;
	font-weight: 900;
}

.ovfx[data-ovfx-style="club"] .is-live .ovfx-score,
.ovfx[data-ovfx-style="club"] .ovfx-m.is-club.is-live .ovfx-score {
	background: var(--ovfx-live);
}

.ovfx[data-ovfx-style="club"] .ovfx-status {
	color: var(--ovfx-mute);
	font-size: 0.66em;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.ovfx[data-ovfx-style="club"] .ovfx-m.is-club .ovfx-status,
.ovfx[data-ovfx-style="club"] .ovfx-m.is-club .ovfx-m__info,
.ovfx[data-ovfx-style="club"] .ovfx-m.is-club .ovfx-m__round {
	color: rgba(255, 255, 255, 0.75);
}

.ovfx[data-ovfx-style="club"] .is-live .ovfx-status {
	color: #ff6b63;
}

.ovfx[data-ovfx-style="club"] .ovfx-list--club .ovfx-m {
	grid-template-columns: 6.4em minmax(0, 1fr) auto minmax(0, 1fr) 26px;
}

.ovfx[data-ovfx-style="club"] .ovfx-m__when {
	font-size: 0.85em;
}

.ovfx[data-ovfx-style="club"] .ovfx-m__date {
	font-style: italic;
	font-weight: 900;
	text-transform: uppercase;
}

.ovfx[data-ovfx-style="club"] .ovfx-m__res {
	width: 26px;
	height: 26px;
	border-radius: 50%;
}

.ovfx[data-ovfx-style="club"] .ovfx-m__res.is-w {
	background: #fff;
	color: var(--ovfx-green);
}

.ovfx[data-ovfx-style="club"] .ovfx-m__res.is-d {
	background: rgba(255, 255, 255, 0.28);
}

/* The next match: the whole row in the club's yellow, dark text, black crests. */
.ovfx[data-ovfx-style="club"] .ovfx-list .ovfx-m.is-next:nth-child(n) {
	background: var(--ovfx-yellow);
	box-shadow: none;
	color: #161617;
}

.ovfx[data-ovfx-style="club"] .ovfx-m.is-next :is(.ovfx-m__team, .ovfx-m__date, .ovfx-m__round, .ovfx-m__info, .ovfx-status, .ovfx-score) {
	color: #161617;
}

.ovfx[data-ovfx-style="club"] .ovfx-m.is-next .ovfx-m__round {
	opacity: 0.75;
}

.ovfx[data-ovfx-style="club"] .ovfx-m.is-next .ovfx-crest.ovfx-crest--own-mono {
	filter: brightness(0);
}

.ovfx[data-ovfx-style="club"] .ovfx-m.is-next .ovfx-crest:not(.ovfx-crest--own-mono) {
	filter: grayscale(1) contrast(1.2) brightness(0.7);
}

.ovfx[data-ovfx-style="club"] .ovfx-club-sum {
	justify-content: center;
	margin-bottom: 16px;
}

.ovfx[data-ovfx-style="club"] .ovfx-club-sum > span {
	padding: 7px 16px;
	border-radius: 100px;
	background: var(--ovfx-surface);
	font-size: 0.8em;
	text-transform: uppercase;
}

/* Tables: green header row like the site's league table. */
.ovfx[data-ovfx-style="club"] .ovfx-table-wrap {
	border-radius: 20px;
}

.ovfx[data-ovfx-style="club"] .ovfx-table {
	font-size: 0.9em;
}

.ovfx[data-ovfx-style="club"] .ovfx-table th {
	padding: 11px 6px;
	background: var(--ovfx-green);
	color: #fff;
	font-size: 0.78em;
	letter-spacing: 0.03em;
}

.ovfx[data-ovfx-style="club"] .ovfx-table td {
	padding: 9px 6px;
	border-bottom: 1px solid var(--ovfx-line);
	background: var(--ovfx-row);
}

.ovfx[data-ovfx-style="club"] .ovfx-table tbody tr:nth-child(even) td {
	background: var(--ovfx-row-2);
}

.ovfx[data-ovfx-style="club"] .ovfx-table .ovfx-name {
	text-transform: uppercase;
}

/* :nth-child(n) matches every row; it only lifts this rule above the zebra
   striping (tr:nth-child(even)), which hid the club on even rows. */
.ovfx[data-ovfx-style="club"] .ovfx-table tbody tr.is-club:nth-child(n) td {
	background: var(--ovfx-green);
	border-bottom-color: var(--ovfx-green);
}

.ovfx[data-ovfx-style="club"] .ovfx-table tr.is-club td:first-child {
	box-shadow: none;
}

.ovfx[data-ovfx-style="club"] .ovfx-table tr.is-club:not(.has-zone) .ovfx-rank {
	background: rgba(0, 0, 0, 0.25);
}

.ovfx[data-ovfx-style="club"] .ovfx-table tr.is-club .ovfx-c-diff,
.ovfx[data-ovfx-style="club"] .ovfx-table tr.is-club .ovfx-c-goals {
	color: rgba(255, 255, 255, 0.8);
}

.ovfx[data-ovfx-style="club"] .ovfx-form__i {
	border-radius: 50%;
}

.ovfx[data-ovfx-style="club"] .ovfx-legend {
	justify-content: center;
	color: var(--ovfx-mute);
	font-size: 0.75em;
	text-transform: uppercase;
}

.ovfx[data-ovfx-style="club"] .ovfx-note {
	text-align: center;
}

/* Sidebar: the theme's widget title is already the green "TABELA LIGOWA" pill,
   so the league name stays small; the link is the "WSZYSTKIE WYNIKI" button. */
.ovfx--mini[data-ovfx-style="club"] .ovfx-head {
	margin-bottom: 10px;
}

.ovfx.ovfx--mini[data-ovfx-style="club"] .ovfx-head__league {
	color: var(--ovfx-mute);
	font-size: 0.78em;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.ovfx--mini[data-ovfx-style="club"] .ovfx-head__league::before {
	content: none;
}

.ovfx--mini[data-ovfx-style="club"] .ovfx-table-wrap {
	border-radius: 16px;
}

.ovfx[data-ovfx-style="club"] .ovfx-more {
	justify-content: center;
	width: 100%;
	margin-top: 14px;
	padding: 11px 25px;
	border-radius: 100px;
	background: var(--ovfx-green);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
}

.ovfx[data-ovfx-style="club"] .ovfx-more:hover {
	background: var(--ovfx-green-hover);
	color: #fff;
	text-decoration: none;
}

@container ovfx (max-width: 480px) {
	.ovfx[data-ovfx-style="club"] .ovfx-head__league {
		font-size: 1.5em;
	}

	.ovfx[data-ovfx-style="club"] .ovfx-tab {
		font-size: 12px;
	}

	.ovfx[data-ovfx-style="club"] .ovfx-m {
		padding: 9px 12px;
	}

	.ovfx[data-ovfx-style="club"] .ovfx-list--club .ovfx-m {
		grid-template-columns: 4.6em minmax(0, 1fr) auto minmax(0, 1fr) 24px;
	}

	.ovfx[data-ovfx-style="club"] .ovfx-tab {
		padding: 9px 16px;
	}
}

/* =========================================================================
   Match cards: the club's last and next match, above the tabs.
   Side by side when the block is wide enough, stacked (next first) below.
   Each card is a size container, so crests and the score follow its width.
   ========================================================================= */

/* The column never wider than the block: a wide band (a big live minute)
   or several result cards could otherwise stretch it past the page. */
.ovfx-duo {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	margin: 0 0 22px;
}

@container ovfx (min-width: 680px) {
	.ovfx-duo {
		grid-auto-flow: column;
		grid-auto-columns: minmax(0, 1fr);
	}
}

@container ovfx (max-width: 679px) {
	.ovfx-mc--next {
		order: -1;
	}
}

.ovfx-mc {
	--mc-crest: clamp(52px, 19cqi, 84px);

	container: ovfx-mc / inline-size;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--ovfx-line);
	border-radius: calc(var(--ovfx-radius) + 4px);
	background: var(--ovfx-soft);
	text-align: center;
}

.ovfx-mc--next {
	border-color: color-mix(in srgb, var(--ovfx-accent) 35%, transparent);
	background:
		radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--ovfx-accent) 16%, transparent), transparent 70%),
		var(--ovfx-soft);
}

.ovfx-mc__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	padding: 18px 16px 4px;
}

/* An h3 for screen readers; themes style h3 heavily, so everything is reset. */
.ovfx .ovfx-mc__kind {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--ovfx-accent);
	font-family: inherit;
	font-size: 0.78em;
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.15;
	text-transform: uppercase;
}

.ovfx-mc.is-live .ovfx-mc__kind {
	color: var(--ovfx-live);
}

.ovfx-mc.is-live .ovfx-mc__kind::before {
	content: "";
	width: 0.5em;
	height: 0.5em;
	border-radius: 50%;
	background: currentColor;
	animation: ovfx-pulse 1.4s ease-in-out infinite;
}

.ovfx-mc__round {
	color: var(--ovfx-mute);
	font-size: 0.74em;
}

.ovfx-mc__teams {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: start;
	gap: 8px;
	padding: 14px 14px 16px;
}

.ovfx-mc__team {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.ovfx .ovfx-mc__team .ovfx-crest {
	width: var(--mc-crest);
	height: var(--mc-crest);
	font-size: calc(var(--mc-crest) / 2.4);
}

.ovfx-mc__name {
	max-width: 100%;
	font-size: clamp(0.78em, 3.7cqi, 1em);
	font-weight: 700;
	line-height: 1.2;
	overflow-wrap: break-word;
}

/* As tall as the crests, so the score sits level with them. */
.ovfx-mc__mid {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 4.2em;
	min-height: var(--mc-crest);
}

.ovfx .ovfx-mc .ovfx-score {
	min-width: 0;
	padding: 0;
	border-radius: 0;
	background: none;
	color: inherit;
	font-size: clamp(2em, 11cqi, 3em);
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
}

.ovfx-mc .ovfx-score__sep {
	padding: 0 0.16em;
	opacity: 0.55;
}

.ovfx-mc__vs {
	font-size: clamp(1.3em, 6.5cqi, 1.8em);
	font-weight: 800;
	line-height: 1;
	opacity: 0.9;
}

.ovfx .ovfx-mc.is-pre .ovfx-score--time,
.ovfx-mc:not(.is-pre) .ovfx-mc__vs {
	display: none;
}

.ovfx .ovfx-mc .ovfx-status {
	margin-top: 8px;
	font-size: 0.72em;
}

.ovfx .ovfx-mc.is-live .ovfx-status {
	padding: 2px 10px;
	border-radius: 100px;
	background: var(--ovfx-live);
	color: #fff;
}

/* Scorers: home under the home team, away under the away team. */
.ovfx-mc__goals {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	gap: 4px 10px;
	margin-top: -4px;
	padding: 0 16px 16px;
	font-size: 0.76em;
	line-height: 1.45;
}

.ovfx .ovfx-mc__scorers {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ovfx .ovfx-mc__scorers li {
	margin: 0;
	padding: 0;
}

.ovfx .ovfx-mc__scorers li::before,
.ovfx .ovfx-mc__scorers li::marker {
	content: none;
}

.ovfx-mc__scorers.is-h {
	text-align: right;
}

.ovfx-mc__scorers.is-a {
	text-align: left;
}

.ovfx-mc__scorer {
	font-weight: 600;
}

.ovfx-mc__min {
	color: var(--ovfx-mute);
	white-space: nowrap;
}

.ovfx-mc__ball {
	display: flex;
	padding-top: 1px;
	opacity: 0.6;
}

.ovfx-mc__ball svg {
	display: block;
}

.ovfx-count {
	display: flex;
	justify-content: center;
	gap: 8px;
	padding: 0 14px 18px;
	opacity: 0;
	transition: opacity 0.2s;
}

.ovfx-count.is-ready {
	opacity: 1;
}

.ovfx-count__cell {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 56px;
	padding: 8px 6px 6px;
	border-radius: calc(var(--ovfx-radius) - 2px);
	background: color-mix(in srgb, var(--ovfx-accent) 12%, transparent);
}

.ovfx-count__num {
	font-size: 1.4em;
	font-weight: 800;
	line-height: 1.1;
}

.ovfx-count__cell small {
	margin-top: 2px;
	color: var(--ovfx-mute);
	font-size: 0.64em;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Date and stadium at the bottom (margin-top: auto keeps both cards' strips level). */
.ovfx-mc__info {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px 18px;
	margin-top: auto;
	padding: 12px 16px;
	border-top: 1px solid var(--ovfx-line);
	color: var(--ovfx-mute);
	font-size: 0.8em;
	line-height: 1.35;
}

.ovfx-mc__when,
.ovfx-mc__where {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
}

.ovfx-mc__info svg {
	flex: none;
	opacity: 0.85;
}

/* A stadium that wraps: the icon starts the first line instead of floating
   beside the whole text. */
@container ovfx-mc (max-width: 480px) {
	.ovfx-mc__where {
		display: block;
	}

	.ovfx-mc__where svg {
		display: inline-block;
		margin-right: 6px;
		vertical-align: -2px;
	}
}

@container ovfx-mc (max-width: 340px) {
	/* Phones: "NIEPOŁOMICE" needs about 80 px, so the columns get a little
	   more room and the score a little less. */
	.ovfx-mc__teams {
		gap: 6px;
		padding-right: 10px;
		padding-left: 10px;
	}

	.ovfx-mc__mid {
		min-width: 0;
	}

	.ovfx-mc__name {
		font-size: 0.74em;
	}

	.ovfx .ovfx-mc .ovfx-score {
		font-size: 1.9em;
	}

	.ovfx-mc__goals {
		padding-right: 12px;
		padding-left: 12px;
		font-size: 0.7em;
	}

	.ovfx-count {
		gap: 5px;
	}

	.ovfx-count__cell {
		min-width: 46px;
		padding: 6px 4px 5px;
	}
}

/* Cards on their own ([overlia_matches]), e.g. on the home page: no outer
   margins, the page builder around it sets the spacing. */
.ovfx.ovfx--matches,
.ovfx--matches .ovfx-duo,
.ovfx[data-ovfx-style="club"].ovfx--matches .ovfx-duo {
	margin: 0;
}

.ovfx.ovfx--matches .ovfx-more {
	display: flex;
	justify-content: center;
	max-width: 640px;
	margin: 22px auto 0;
}

/* --- club style: next match as a band, last match as a result strip ----------
   The band: a green part with the teams, the countdown and the stadium, and
   a dark panel with the day, date, time and "Kup bilet". A slanted edge with
   a thin light stripe splits the two (drawn by the panel's ::before and
   ::after). On phones the panel moves on top. The strip: label, teams around
   the score, date and stadium.
   The band fills its block: wider than 1110 px, the content stays in a
   centred 1110 px frame (--tk-gut on each side), the green runs out to the
   left and the panel's dark to the right. Edge to edge (a full width section,
   .is-bleed set by ovfx.js) the corners are square. */

.ovfx[data-ovfx-style="club"] .ovfx-duo {
	grid-auto-flow: row;
	gap: 20px;
	margin-bottom: 36px;
}

.ovfx .ovfx-tk {
	--tk-gut: max(0px, (100cqi - 1110px) / 2);
	--tk-stub: calc(210px + var(--tk-gut));
	--tk-slant: 46px;

	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--tk-stub);
	width: 100%;
	max-width: none;
	margin: 0;
	overflow: hidden;
	border: 0;
	border-radius: 22px;
	background: none;
	box-shadow: none;
	color: #fff;
	text-align: center;
}

.ovfx-tk__main {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 0;
	overflow: hidden;
	justify-content: center;
	padding: 16px calc(20px + var(--tk-slant)) 18px calc(28px + var(--tk-gut));
	/* Radial: light in the middle (behind the match), darker to the edges. */
	background: radial-gradient(120% 170% at 50% 45%, color-mix(in srgb, var(--tk-bg, var(--ovfx-accent)) 78%, #fff) 0%, var(--tk-bg, var(--ovfx-accent)) 42%, color-mix(in srgb, var(--tk-bg, var(--ovfx-accent)) 58%, #000) 100%);
}

/* Settings ("Następny mecz", "Tło paska"): diagonal gradient or one colour. */
.ovfx .ovfx-tk.bg-linear .ovfx-tk__main {
	background: linear-gradient(120deg, color-mix(in srgb, var(--tk-bg, var(--ovfx-accent)) 86%, #fff) 0%, var(--tk-bg, var(--ovfx-accent)) 45%, color-mix(in srgb, var(--tk-bg, var(--ovfx-accent)) 66%, #000) 100%);
}

.ovfx .ovfx-tk.bg-flat .ovfx-tk__main {
	background: var(--tk-bg, var(--ovfx-accent));
}

/* A photo behind the colour ("Zdjęcie w tle"): the photo at the bottom, the
   band's own gradient over it (--tk-photo-cover: how much it hides), the
   match on top. Black and white (.photo-bw) takes the club's colour as a
   tint. */
.ovfx .ovfx-tk.has-photo .ovfx-tk__main {
	isolation: isolate;
	background: #0e100f;
}

.ovfx .ovfx-tk.has-photo .ovfx-tk__main::before {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0;
	background: radial-gradient(120% 170% at 50% 45%, color-mix(in srgb, var(--tk-bg, var(--ovfx-accent)) 78%, #fff) 0%, var(--tk-bg, var(--ovfx-accent)) 42%, color-mix(in srgb, var(--tk-bg, var(--ovfx-accent)) 58%, #000) 100%);
	opacity: var(--tk-photo-cover, 0.7);
	pointer-events: none;
}

.ovfx .ovfx-tk.has-photo.bg-linear .ovfx-tk__main::before {
	background: linear-gradient(120deg, color-mix(in srgb, var(--tk-bg, var(--ovfx-accent)) 86%, #fff) 0%, var(--tk-bg, var(--ovfx-accent)) 45%, color-mix(in srgb, var(--tk-bg, var(--ovfx-accent)) 66%, #000) 100%);
}

.ovfx .ovfx-tk.has-photo.bg-flat .ovfx-tk__main::before {
	background: var(--tk-bg, var(--ovfx-accent));
}

.ovfx .ovfx-tk .ovfx-tk__photo {
	position: absolute;
	z-index: 0;
	inset: 0;
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	margin: 0;
	border-radius: 0;
	object-fit: cover;
	object-position: var(--tk-photo-x, 50%) var(--tk-photo-y, 50%);
	opacity: 1 !important;
}

.ovfx .ovfx-tk.photo-bw .ovfx-tk__photo {
	filter: grayscale(1) contrast(1.05);
}

.ovfx .ovfx-tk.has-photo .ovfx-tk__main > :not(.ovfx-tk__photo) {
	position: relative;
	z-index: 2;
}

/* The words a little lifted off a busy photo. */
.ovfx .ovfx-tk.has-photo .ovfx-tk__main {
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
}

.ovfx .ovfx-tk .ovfx-mc__head {
	position: relative;
	grid-area: head;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: center;
	gap: 4px 12px;
	padding: 0;
	text-align: center;
}

.ovfx .ovfx-tk .ovfx-mc__kind {
	color: #fff;
	font-size: 0.82em;
	font-weight: 800;
	letter-spacing: 0.14em;
}

.ovfx .ovfx-tk .ovfx-mc__round {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.78em;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ovfx .ovfx-tk .ovfx-mc__teams {
	--mc-crest: 56px;

	position: relative;
	grid-template-areas: "head head head" "home mid away";
	align-items: center;
	align-self: stretch;
	gap: 10px 20px;
	padding: 0;
}

/* The countdown on the left over all lines, set off by a thin line; the
   header, the match and the stadium to its right. (Areas, so the layout
   holds when the live script hides the countdown.) */
.ovfx .ovfx-tk .ovfx-mc__teams.has-place {
	grid-template-areas: "head head head" "home mid away" "place place place";
}

.ovfx .ovfx-tk .ovfx-mc__teams.has-count {
	grid-template-areas: "count head head head" "count home mid away";
	grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr);
}

.ovfx .ovfx-tk .ovfx-mc__teams.has-count.has-place {
	grid-template-areas: "count head head head" "count home mid away" "count place place place";
}

/* Once the match is on: each side's scorers under it (no countdown then). */
.ovfx .ovfx-tk .ovfx-mc__teams.has-goals {
	grid-template-areas: "head head head" "home mid away" "hgoals . agoals";
}

.ovfx .ovfx-tk .ovfx-mc__teams.has-goals.has-place {
	grid-template-areas: "head head head" "home mid away" "hgoals . agoals" "place place place";
}

.ovfx .ovfx-tk .ovfx-goals.is-home {
	grid-area: hgoals;
}

.ovfx .ovfx-tk .ovfx-goals.is-away {
	grid-area: agoals;
}

/* The date panel only before kick-off: during the match the band is all
   green (unless the settings keep the panel: .keep-panel). */
.ovfx .ovfx-tk:not(.is-pre):not(.keep-panel) {
	grid-template-columns: minmax(0, 1fr);
}

.ovfx .ovfx-tk:not(.is-pre):not(.keep-panel) .ovfx-tk__stub {
	display: none;
}

.ovfx .ovfx-tk:not(.is-pre):not(.keep-panel) .ovfx-tk__main {
	padding-right: calc(28px + var(--tk-gut));
}

/* Stadium off during the match (settings), also after the live switch. */
.ovfx .ovfx-tk.no-place-live:not(.is-pre) .ovfx-tk__place {
	display: none;
}

/* The match minute at the top (settings: "U góry"): a big red pill on its
   own centred line, "Na żywo" and the round under it. The ::before is the
   line break (a full-width flex item between the minute and the rest). */
.ovfx .ovfx-tk .ovfx-mc__head .ovfx-status {
	margin: 0;
	padding: 2px 22px 4px;
	border-radius: 100px;
	background: rgba(0, 0, 0, 0.28);
	color: #fff;
	font-size: var(--tk-minute, 2.4em);
	font-weight: 900;
	letter-spacing: 0.02em;
	line-height: 1.15;
}

.ovfx .ovfx-tk.is-live .ovfx-status,
.ovfx .ovfx-tk.is-live .ovfx-mc__head .ovfx-status {
	background: var(--tk-live, var(--ovfx-live));
	color: var(--tk-live-text, #fff);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}

.ovfx .ovfx-tk .ovfx-mc__head.has-status {
	align-items: center;
}

/* The minute group: an optional "Na żywo" label and the minute. At the top
   it is the first line of the header; under the score, a small line. */
.ovfx .ovfx-tk .ovfx-tk__clock {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.9em;
}

/* At the top the minute is big: more room before "Na żywo". */
.ovfx .ovfx-tk .ovfx-mc__head .ovfx-tk__clock {
	order: -2;
	gap: 1.4em;
}

.ovfx .ovfx-tk .ovfx-mc__mid .ovfx-tk__clock {
	margin-top: 8px;
}

.ovfx .ovfx-tk .ovfx-mc__mid .ovfx-tk__clock .ovfx-status {
	margin-top: 0;
}

.ovfx .ovfx-tk.is-pre .ovfx-tk__clock,
.ovfx .ovfx-tk .ovfx-tk__clock:has(> .ovfx-status[hidden]),
.ovfx .ovfx-tk .ovfx-tk__livetag {
	display: none;
}

/* Settings "Napis „Na żywo” obok minuty": the label by the minute, and the
   header's own "Na żywo" goes (it would repeat). */
.ovfx .ovfx-tk.live-label.is-live .ovfx-tk__livetag {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	color: #fff;
	font-size: 0.82em;
	font-weight: 900;
	letter-spacing: 0.14em;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}

.ovfx .ovfx-tk.live-label.is-live .ovfx-mc__head .ovfx-tk__livetag {
	font-size: calc(var(--tk-minute, 2.4em) * 0.46);
}

.ovfx .ovfx-tk.live-label.is-live .ovfx-tk__livetag::before {
	content: "";
	width: 0.55em;
	height: 0.55em;
	border-radius: 50%;
	background: var(--tk-dot, var(--ovfx-live));
	box-shadow: 0 0 0 0.18em rgba(255, 255, 255, 0.85);
	animation: ovfx-pulse 1.4s ease-in-out infinite;
}

.ovfx .ovfx-tk.live-label.is-live .ovfx-mc__kind {
	display: none;
}

/* The header's own "Na żywo" (label option off): the same dot colour. */
.ovfx .ovfx-tk.is-live .ovfx-mc__kind::before {
	background: var(--tk-dot, var(--ovfx-live));
}

.ovfx .ovfx-tk:not(.is-pre) .ovfx-mc__head.has-status:has(.ovfx-status:not([hidden]))::before {
	content: "";
	order: -1;
	flex-basis: 100%;
	height: 4px;
}

/* Names off in the settings: crests alone at every width. */
.ovfx .ovfx-tk.no-names .has-crest .ovfx-mc__name {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.ovfx .ovfx-tk .ovfx-mc__teams > .ovfx-count {
	grid-area: count;
	padding-right: 22px;
	border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.ovfx .ovfx-tk .ovfx-mc__team.is-home {
	grid-area: home;
}

.ovfx .ovfx-tk .ovfx-mc__mid {
	grid-area: mid;
	min-width: 0;
}

.ovfx .ovfx-tk .ovfx-mc__team.is-away {
	grid-area: away;
}

/* Crests by the VS, names outside them (a wrapped name's spare width then
   falls on the outer side). */
.ovfx .ovfx-tk .ovfx-mc__team {
	flex-direction: row;
	gap: 14px;
}

.ovfx .ovfx-tk .ovfx-mc__team.is-home {
	justify-content: flex-end;
	text-align: right;
}

.ovfx .ovfx-tk .ovfx-mc__team.is-away {
	justify-content: flex-start;
	text-align: left;
}

.ovfx .ovfx-tk .ovfx-mc__team .ovfx-crest {
	flex-shrink: 0;
}

.ovfx .ovfx-tk .ovfx-mc__name {
	min-width: 0;
	color: #fff;
	font-size: clamp(0.9em, 1.9cqi, 1.15em);
	font-weight: 500;
	line-height: 1.15;
	text-transform: uppercase;
}


.ovfx .ovfx-tk .ovfx-mc__team .ovfx-crest {
	filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.35));
}

.ovfx .ovfx-tk .ovfx-mc__vs {
	color: rgba(255, 255, 255, 0.85);
	font-size: 1.15em;
	font-weight: 900;
	letter-spacing: 0.04em;
	opacity: 1;
}

.ovfx .ovfx-tk.is-live .ovfx-mc__head {
	color: #fff;
}

.ovfx .ovfx-tk[class] .ovfx-score {
	padding: 0;
	background: none;
	color: #fff;
	font-size: clamp(2em, 7cqi, 3em);
	font-style: normal;
	font-weight: 900;
}

.ovfx .ovfx-tk .ovfx-score__sep {
	padding: 0 0.2em;
	opacity: 0.6;
}

.ovfx .ovfx-tk .ovfx-count {
	position: relative;
	gap: 6px;
	margin: 0;
	padding: 0;
}

.ovfx .ovfx-tk .ovfx-count__cell {
	min-width: 52px;
	padding: 6px 4px 5px;
	border-radius: 12px;
	background: rgba(0, 0, 0, 0.22);
}

.ovfx .ovfx-tk .ovfx-count__num {
	color: #fff;
	font-size: 1.3em;
	font-weight: 900;
}

.ovfx .ovfx-tk .ovfx-count__cell small {
	color: rgba(255, 255, 255, 0.72);
}

.ovfx .ovfx-tk .ovfx-tk__place {
	grid-area: place;
	text-align: center;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.78em;
	font-style: italic;
}

/* Day on top, date and time on one line, the button under them. */
.ovfx-tk__stub {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-areas: "day day" "date time" "cta cta";
	align-content: center;
	align-items: baseline;
	justify-content: center;
	gap: 2px 10px;
	padding: 14px calc(16px + var(--tk-gut)) 14px 16px;
	text-align: center;
	text-transform: uppercase;
}

/* The dark panel reaches into the green part as a slant... */
.ovfx-tk__stub::before {
	content: "";
	position: absolute;
	inset: 0 0 0 calc(-1 * var(--tk-slant));
	z-index: -1;
	background: var(--tk-panel, #0f1110);
	clip-path: polygon(var(--tk-slant) 0, 100% 0, 100% 100%, 0 100%);
}

/* ...with a thin light stripe just before it. */
.ovfx-tk__stub::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(-1 * var(--tk-slant) - 12px);
	z-index: -1;
	width: calc(var(--tk-slant) + 6px);
	background: color-mix(in srgb, var(--tk-bg, var(--ovfx-accent)) 55%, #fff);
	clip-path: polygon(var(--tk-slant) 0, calc(var(--tk-slant) + 6px) 0, 6px 100%, 0 100%);
	opacity: 0.55;
}

.ovfx .ovfx-tk.no-stripe .ovfx-tk__stub::after {
	display: none;
}

.ovfx-tk__day {
	grid-area: day;
	color: #8f9094;
	font-size: 0.74em;
	letter-spacing: 0.2em;
}

.ovfx-tk__date {
	grid-area: date;
	color: var(--tk-date, color-mix(in srgb, var(--ovfx-accent) 75%, #fff));
	font-size: 2.4em;
	font-weight: 900;
	line-height: 1;
}

.ovfx-tk__time {
	grid-area: time;
	font-size: 1.25em;
	font-weight: 900;
}

/* "godzina do ustalenia" goes under the date. */
.ovfx-tk__stub:has(.is-tbd) {
	grid-template-areas: "day" "date" "time" "cta";
}

.ovfx-tk__time.is-tbd {
	max-width: 12em;
	color: #8f9094;
	font-size: 0.74em;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.3;
}

.ovfx .ovfx-tk__cta {
	grid-area: cta;
	justify-self: center;
	margin-top: 10px;
	display: inline-block;
	padding: 10px 24px;
	border: 0;
	border-radius: 100px;
	background: var(--ovfx-accent);
	box-shadow: none;
	color: #fff;
	font-size: 0.8em;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.ovfx .ovfx-tk__cta:hover,
.ovfx .ovfx-tk__cta:focus {
	background: color-mix(in srgb, var(--ovfx-accent) 86%, #fff);
	color: #fff;
}

.ovfx[data-ovfx-style="club"].is-bleed .ovfx-tk {
	border-radius: 0;
}

/* Last matches: a list of strips (settings "Ostatnie mecze": rows, cards
   side by side, compact). Each card is its own size container named like the
   block, so the narrow strip layout below applies inside a card. */
.ovfx .ovfx-lasts {
	display: grid;
	gap: 10px;
	width: 100%;
	max-width: 1110px;
	margin: 0 auto;
}

.ovfx .ovfx-lasts.is-cards {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
	gap: 14px;
}

.ovfx .ovfx-lasts.is-cards > .ovfx-lasts__item {
	container: ovfx / inline-size;
}

.ovfx .ovfx-lasts.is-cards .ovfx-strip {
	height: 100%;
	align-content: center;
}

.ovfx .ovfx-lasts.is-compact {
	gap: 6px;
}

.ovfx .ovfx-lasts.is-compact .ovfx-strip {
	gap: 4px 14px;
	padding: 9px 18px;
	border-radius: 12px;
}

.ovfx .ovfx-lasts.is-compact .ovfx-strip .ovfx-crest {
	width: 26px;
	height: 26px;
}

.ovfx .ovfx-lasts.is-compact .ovfx-strip[class] .ovfx-score {
	font-size: 1.4em;
}

.ovfx .ovfx-lasts.is-compact .ovfx-strip .ovfx-mc__name {
	font-size: 0.84em;
}

.ovfx .ovfx-lasts.is-compact .ovfx-strip .ovfx-mc__kind {
	font-size: 0.74em;
}

.ovfx .ovfx-lasts.is-compact .ovfx-strip__info {
	font-size: 0.72em;
}

/* The club's result as a coloured edge (settings). */
.ovfx .ovfx-strip.res-w {
	box-shadow: inset 4px 0 0 var(--ovfx-accent);
}

.ovfx .ovfx-strip.res-d {
	box-shadow: inset 4px 0 0 #8f9094;
}

.ovfx .ovfx-strip.res-l {
	box-shadow: inset 4px 0 0 var(--ovfx-live);
}

/* Names off (settings): crests alone. */
.ovfx .ovfx-strip.no-names .has-crest .ovfx-mc__name {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* Without the label or the date line, the one-line strip drops those
   columns (only where it is one line). */
@container ovfx (min-width: 821px) {
	.ovfx .ovfx-strip.no-label {
		--c-home: 1;
		--c-away: 3;

		grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr) minmax(120px, 220px);
	}

	.ovfx .ovfx-strip.no-info {
		grid-template-columns: minmax(110px, 160px) minmax(150px, 1fr) auto minmax(150px, 1fr);
	}

	.ovfx .ovfx-strip.no-label.no-info {
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	}
}

.ovfx .ovfx-strip {
	display: grid;
	/* The team columns keep room for "PUSZCZA / NIEPOŁOMICE" with its crest;
	   below 820 px the strip stacks (see the container query after it). */
	grid-template-columns: minmax(110px, 160px) minmax(150px, 1fr) auto minmax(150px, 1fr) minmax(120px, 220px);
	align-items: center;
	gap: 8px 18px;
	width: 100%;
	max-width: 1110px;
	margin: 0 auto;
	padding: 16px 24px;
	overflow: visible;
	border: 0;
	border-radius: 18px;
	background: var(--lm-bg, #1c1d1e);
	box-shadow: none;
	color: #fff;
	text-align: left;
}

.ovfx-strip__label {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.ovfx .ovfx-strip .ovfx-mc__kind {
	color: #fff;
	font-size: 0.86em;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.ovfx .ovfx-strip .ovfx-mc__round {
	color: #8f9094;
	font-size: 0.74em;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ovfx-strip__team {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.ovfx-strip__team.is-home {
	justify-content: flex-end;
	text-align: right;
}

.ovfx .ovfx-strip .ovfx-mc__name {
	min-width: 0;
	color: #fff;
	font-size: 0.95em;
	font-weight: 500;
	line-height: 1.15;
	overflow-wrap: break-word;
	text-transform: uppercase;
}

.ovfx .ovfx-strip .ovfx-crest {
	width: 38px;
	height: 38px;
}

.ovfx-strip__score {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.ovfx .ovfx-strip[class] .ovfx-score {
	min-width: 0;
	padding: 0;
	background: none;
	color: #fff;
	font-size: 2.1em;
	font-style: normal;
	font-weight: 900;
	line-height: 1;
}

.ovfx .ovfx-strip .ovfx-score__sep {
	padding: 0 0.18em;
	color: #55565a;
	opacity: 1;
}

.ovfx .ovfx-strip .ovfx-status {
	margin-top: 4px;
	color: #8f9094;
	font-size: 0.66em;
}

.ovfx-strip__info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	color: #8f9094;
	font-size: 0.78em;
	line-height: 1.35;
	text-align: right;
}

/* Scorers (live band, result strips): one line per scorer, the ball facing
   the score, minutes as small tags. The home list mirrors the away one. */
.ovfx .ovfx-goals {
	display: flex;
	flex-direction: column;
	align-self: start;
	gap: 5px;
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ovfx .ovfx-goals.is-home {
	align-items: flex-end;
	text-align: right;
}

.ovfx .ovfx-goals.is-away {
	align-items: flex-start;
	text-align: left;
}

/* Too long for a narrow column: the name goes under its minute instead of
   running out of the band. */
.ovfx .ovfx-goals li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 3px 7px;
	min-width: 0;
	max-width: 100%;
	margin: 0;
	padding: 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: 0.8em;
	letter-spacing: 0.03em;
	line-height: 1.25;
	text-transform: uppercase;
}

.ovfx .ovfx-goals.is-home li {
	flex-direction: row-reverse;
}

.ovfx .ovfx-goals__ball {
	flex: 0 0 auto;
	width: 13px;
	height: 13px;
}

.ovfx .ovfx-goals__min {
	display: inline-flex;
	flex: 0 0 auto;
	gap: 3px;
}

.ovfx .ovfx-goals__min em {
	padding: 1px 7px;
	border-radius: 100px;
	background: rgba(0, 0, 0, 0.25);
	color: #fff;
	font-size: 0.92em;
	font-style: normal;
	font-weight: 800;
	white-space: nowrap;
}

.ovfx .ovfx-goals__min small {
	font-size: 0.82em;
	font-weight: 600;
	opacity: 0.8;
	text-transform: none;
}

.ovfx .ovfx-goals__name {
	min-width: 0;
	overflow-wrap: anywhere;
}

/* In the strips: under each team, before the date line. */
.ovfx .ovfx-strip .ovfx-goals {
	order: 1;
	margin-top: 2px;
}

.ovfx .ovfx-strip .ovfx-goals li {
	color: #c5c5c5;
}

.ovfx .ovfx-strip .ovfx-goals__min em {
	background: rgba(255, 255, 255, 0.09);
}

.ovfx .ovfx-strip .ovfx-goals.is-home {
	grid-column: var(--c-home, 2);
}

.ovfx .ovfx-strip .ovfx-goals.is-away {
	grid-column: var(--c-away, 4);
}

/* The band needs about 1100 px for the names beside the countdown and VS;
   narrower, it shows the crests alone (teams without a crest image keep the
   name). */
@container ovfx (max-width: 1100px) {
	.ovfx .ovfx-tk .has-crest .ovfx-mc__name {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}
}

/* Medium widths: a smaller countdown, crests and VS so the row fits beside
   the date panel. */
@container ovfx (max-width: 900px) {
	/* The header and the stadium stay over the teams, centred on the VS
	   (on two lines when they must). */
	.ovfx .ovfx-tk .ovfx-mc__teams {
		gap: 10px 14px;
	}

	.ovfx .ovfx-tk .ovfx-mc__teams > .ovfx-count {
		padding-right: 14px;
	}

	.ovfx .ovfx-tk .ovfx-count {
		gap: 5px;
	}

	.ovfx .ovfx-tk .ovfx-count__cell {
		min-width: 44px;
	}

	.ovfx .ovfx-tk .ovfx-mc__mid {
		min-width: 0;
	}

	.ovfx .ovfx-tk .has-crest .ovfx-crest {
		width: 48px;
		height: 48px;
	}

	.ovfx .ovfx-tk .ovfx-mc__vs {
		font-size: 1.05em;
	}
}

/* Phones and narrow columns: the band's date panel becomes a row on top,
   with the light stripe under it. */
@container ovfx (max-width: 720px) {
	.ovfx .ovfx-tk {
		grid-template-columns: 1fr;
		grid-template-rows: 62px auto;
	}

	.ovfx .ovfx-tk:not(.is-pre):not(.keep-panel) {
		grid-template-rows: auto;
	}

	.ovfx .ovfx-tk:not(.is-pre):not(.keep-panel) .ovfx-tk__main {
		padding-right: 12px;
	}

	.ovfx .ovfx-tk .ovfx-mc__head .ovfx-status {
		padding: 2px 18px 3px;
		font-size: calc(var(--tk-minute, 2.4em) * 0.84);
	}

	/* Day over date and time, the button on the right (or all centred
	   without it), so long day names fit next to "Kup bilet". */
	.ovfx-tk__stub {
		order: -1;
		display: grid;
		grid-template-areas: "day day cta" "date time cta";
		grid-template-columns: auto auto 1fr;
		align-items: baseline;
		justify-content: start;
		gap: 0 10px;
		padding: 8px 16px;
		text-align: left;
	}

	.ovfx-tk__stub:has(.is-tbd) {
		grid-template-areas: "day day cta" "date time cta";
	}

	.ovfx-tk__stub:not(:has(.ovfx-tk__cta)) {
		grid-template-columns: auto auto;
		justify-content: center;
	}

	.ovfx-tk__day {
		grid-area: day;
		font-size: 0.68em;
	}

	.ovfx-tk__date {
		grid-area: date;
	}

	.ovfx-tk__time {
		grid-area: time;
	}

	.ovfx-tk__stub::before {
		inset: 0;
		clip-path: none;
	}

	.ovfx-tk__stub::after {
		top: auto;
		left: 0;
		width: auto;
		right: 0;
		height: 3px;
		clip-path: none;
	}

	.ovfx-tk__date {
		font-size: 1.8em;
	}

	.ovfx-tk__time {
		margin: 0;
		font-size: 1.2em;
	}

	.ovfx-tk__time.is-tbd {
		max-width: none;
		font-size: 0.68em;
	}

	.ovfx .ovfx-tk__cta {
		grid-area: cta;
		align-self: center;
		justify-self: end;
		margin: 0;
		padding: 8px 16px;
	}

	.ovfx-tk__main {
		padding: 12px 12px 14px;
	}

	.ovfx .ovfx-tk .ovfx-mc__teams {
		gap: 10px 6px;
	}

	.ovfx .ovfx-tk .ovfx-mc__vs {
		font-size: 1em;
	}

	.ovfx .ovfx-tk .ovfx-count {
		gap: 4px;
	}

	.ovfx .ovfx-tk .ovfx-mc__teams > .ovfx-count {
		padding-right: 10px;
	}

	.ovfx .ovfx-tk .ovfx-count__cell {
		min-width: 42px;
		padding: 5px 2px 4px;
		border-radius: 10px;
	}

	.ovfx .ovfx-tk .ovfx-count__num {
		font-size: 1.1em;
	}

	.ovfx .ovfx-tk .ovfx-count__cell small {
		font-size: 0.56em;
	}

	.ovfx .ovfx-tk .has-crest .ovfx-crest {
		width: 48px;
		height: 48px;
	}
}

/* Medium widths: label above, teams around the score, date and stadium
   below. Phones also put each crest over its name (next query). */
@container ovfx (max-width: 820px) {
	.ovfx .ovfx-strip {
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
		gap: 10px 14px;
	}

	/* "STS PUCHAR POLSKI  1/32 FINAŁU" on one line, the round on the next
	   one when there is no room (never two squeezed columns). */
	.ovfx-strip__label {
		grid-column: 1 / -1;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 2px 10px;
	}

	.ovfx-strip__label > * {
		flex-shrink: 0;
		max-width: 100%;
	}

	.ovfx-strip__info {
		grid-column: 1 / -1;
		order: 2;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		gap: 2px 12px;
		text-align: center;
	}

	.ovfx .ovfx-strip .ovfx-goals.is-home {
		grid-column: 1;
	}

	.ovfx .ovfx-strip .ovfx-goals.is-away {
		grid-column: 3;
	}
}

/* Phones and narrow columns: the strip stacks. */
@container ovfx (max-width: 620px) {
	.ovfx .ovfx-strip {
		gap: 8px 10px;
		padding: 14px 12px;
	}

	.ovfx .ovfx-strip[class] .ovfx-score {
		font-size: 1.8em;
	}

	.ovfx-strip__team {
		flex-direction: column-reverse;
		gap: 6px;
		text-align: center;
	}

	.ovfx-strip__team.is-home {
		text-align: center;
	}

	.ovfx-strip__team:not(.is-home) {
		flex-direction: column;
	}

	/* "NIEPOŁOMICE" is the longest word (about 6.4 x the font size). */
	.ovfx .ovfx-strip .ovfx-mc__name {
		max-width: 100%;
		font-size: 0.74em;
	}

	/* Crests alone where there is one (the name stays for screen readers);
	   teams without a crest image keep their name. */
	.ovfx .ovfx-tk .has-crest .ovfx-mc__name,
	.ovfx .ovfx-strip .has-crest .ovfx-mc__name {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.ovfx .ovfx-strip .has-crest .ovfx-crest {
		width: 46px;
		height: 46px;
	}

	.ovfx .ovfx-strip__team.has-crest {
		align-items: center;
	}
}

/* Phones: the countdown on its own row on top; the header, the teams, the
   stadium and the button under it across the whole width, all centred on
   the VS. */
@container ovfx (max-width: 560px) {
	.ovfx .ovfx-tk .ovfx-mc__teams.has-count {
		grid-template-areas: "count count count" "head head head" "home mid away";
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	}

	.ovfx .ovfx-tk .ovfx-mc__teams.has-count.has-place {
		grid-template-areas: "count count count" "head head head" "home mid away" "place place place";
	}

	.ovfx .ovfx-tk .ovfx-mc__teams > .ovfx-count {
		justify-self: center;
		padding: 0 0 12px;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.18);
	}
}

/* Small phones (320 px): one row still fits. */
@container ovfx (max-width: 400px) {
	.ovfx .ovfx-tk .ovfx-mc__teams {
		gap: 10px 5px;
	}

	.ovfx .ovfx-tk .ovfx-count {
		gap: 3px;
	}

	.ovfx .ovfx-tk .ovfx-mc__teams > .ovfx-count {
		padding-right: 7px;
	}

	.ovfx .ovfx-tk .ovfx-count__cell {
		min-width: 36px;
	}

	.ovfx .ovfx-tk .has-crest .ovfx-crest {
		width: 40px;
		height: 40px;
	}

	.ovfx .ovfx-tk .ovfx-mc__vs {
		font-size: 0.9em;
	}
}

/* --- Links to the match room ------------------------------------------------ */

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

/* The band: a frosted pill under the match, centred under the VS
   ("Zapowiedź meczu" / "Relacja na żywo" / "Relacja z meczu", by the band's
   state, each with its icon), the arrow in a white round badge. Hover: the
   pill turns white, the badge green. */
.ovfx .ovfx-tk .ovfx-tk__room {
	grid-column: home-start / away-end;
	justify-self: center;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 6px;
	padding: 5px 5px 5px 16px;
	border: 1px solid rgba(255, 255, 255, 0.32);
	border-radius: 100px;
	background: rgba(255, 255, 255, 0.12);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
	color: #fff;
	font-size: 0.76em;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	transition: background 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s;
}

.ovfx .ovfx-tk :is(.ovfx-tk__room-pre, .ovfx-tk__room-live, .ovfx-tk__room-post) {
	display: none;
	align-items: center;
	gap: 8px;
}

.ovfx .ovfx-tk .ovfx-tk__room svg {
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
}

.ovfx .ovfx-tk .ovfx-tk__room-post svg {
	fill: currentColor;
}

.ovfx .ovfx-tk .ovfx-tk__room-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--tk-dot, #e0322b);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--tk-dot, #e0322b) 30%, transparent);
	animation: ovfx-pulse 1.4s ease-in-out infinite;
}

.ovfx .ovfx-tk .ovfx-tk__room-go {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #fff;
	color: var(--ovfx-accent);
	transition: background 0.2s, color 0.2s;
}

.ovfx .ovfx-tk .ovfx-tk__room-go svg {
	width: 14px;
	height: 14px;
	transition: transform 0.2s;
}

.ovfx .ovfx-tk .ovfx-tk__room:hover,
.ovfx .ovfx-tk .ovfx-tk__room:focus-visible {
	border-color: #fff;
	background: #fff;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.25);
	color: color-mix(in srgb, var(--ovfx-accent) 80%, #000);
	outline: 0;
}

.ovfx .ovfx-tk .ovfx-tk__room:hover .ovfx-tk__room-go,
.ovfx .ovfx-tk .ovfx-tk__room:focus-visible .ovfx-tk__room-go {
	background: var(--ovfx-accent);
	color: #fff;
}

.ovfx .ovfx-tk .ovfx-tk__room:hover .ovfx-tk__room-go svg,
.ovfx .ovfx-tk .ovfx-tk__room:focus-visible .ovfx-tk__room-go svg {
	transform: translateX(2px);
}

.ovfx .ovfx-tk.is-pre .ovfx-tk__room-pre,
.ovfx .ovfx-tk.is-live .ovfx-tk__room-live,
.ovfx .ovfx-tk.is-post .ovfx-tk__room-post,
.ovfx .ovfx-tk.is-off .ovfx-tk__room-pre {
	display: inline-flex;
}

@media (prefers-reduced-motion: reduce) {
	.ovfx .ovfx-tk .ovfx-tk__room-dot {
		animation: none;
	}
}

/* Strips and list rows: the whole row opens the room. */
.ovfx .ovfx-strip:has(.ovfx-room-link),
.ovfx .ovfx-m:has(.ovfx-room-link) {
	position: relative;
	transition: background 0.15s;
}

.ovfx .ovfx-room-link {
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
}

.ovfx .ovfx-room-link:focus-visible {
	outline: 2px solid var(--ovfx-accent);
	outline-offset: 2px;
}

.ovfx .ovfx-strip:has(.ovfx-room-link):hover {
	background: color-mix(in srgb, var(--lm-bg, #1c1d1e) 90%, #fff);
}

.ovfx .ovfx-m:has(.ovfx-room-link):hover {
	background: color-mix(in srgb, currentColor 6%, transparent);
}

/* --- Match room ----------------------------------------------------------------
   The band on top, tabs, a dark card per tab, match facts at the end. */

.ovfx.ovfx--room {
	margin: 0 0 32px;
}

.ovfx--room .ovfx-duo {
	margin: 0;
}

.ovfx .ovfx-room {
	--room-card: #1c1d1e;
	--room-line: #2c2d2f;
	--room-mute: #8f9094;

	max-width: 1110px;
	margin: 18px auto 0;
	color: #e9e9ea;
}

.ovfx .ovfx-room__tabs {
	justify-content: center;
	margin: 0 0 14px;
}

.ovfx .ovfx-room__dot {
	display: inline-block;
	width: 0.5em;
	height: 0.5em;
	margin-left: 0.45em;
	border-radius: 50%;
	background: var(--ovfx-live);
	vertical-align: 0.12em;
	animation: ovfx-pulse 1.4s ease-in-out infinite;
}

.ovfx .ovfx-room__panel {
	padding: 22px 24px;
	border-radius: 18px;
	background: var(--room-card);
}

.ovfx .ovfx-room__empty {
	margin: 0;
	padding: 18px 0;
	color: var(--room-mute);
	text-align: center;
}

/* Przebieg: home events on the left, away on the right, minutes in the
   middle; goals stand out with the score. */
.ovfx .ovfx-tl {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ovfx .ovfx-tl__period {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 10px 0 6px;
	color: var(--room-mute);
	font-size: 0.74em;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.ovfx .ovfx-tl__period:first-child {
	margin-top: 0;
}

.ovfx .ovfx-tl__period::before,
.ovfx .ovfx-tl__period::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--room-line);
}

.ovfx .ovfx-tl__period b {
	padding: 2px 9px;
	border-radius: 100px;
	background: var(--room-line);
	color: #fff;
	letter-spacing: 0.04em;
}

.ovfx .ovfx-ev {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 54px minmax(0, 1fr);
	align-items: center;
	column-gap: 12px;
	padding: 7px 0;
	font-size: 0.92em;
}

.ovfx .ovfx-ev__min {
	grid-row: 1;
	grid-column: 2;
	justify-self: center;
	min-width: 44px;
	padding: 3px 6px;
	border-radius: 100px;
	background: var(--room-line);
	color: #fff;
	font-size: 0.86em;
	font-weight: 800;
	text-align: center;
}

/* One side box per event: away [icon text score], home mirrored. */
.ovfx .ovfx-ev__side {
	grid-row: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.ovfx .ovfx-ev.is-home .ovfx-ev__side {
	grid-column: 1;
	flex-direction: row-reverse;
	text-align: right;
}

.ovfx .ovfx-ev.is-away .ovfx-ev__side {
	grid-column: 3;
}

.ovfx .ovfx-ev__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.25;
}

.ovfx .ovfx-ev.is-home .ovfx-ev__text {
	align-items: flex-end;
}

.ovfx .ovfx-ev__icon {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	width: 20px;
	height: 20px;
}

.ovfx .ovfx-ev__icon .ovfx-goals__ball,
.ovfx .ovfx-ev__icon svg {
	width: 17px;
	height: 17px;
}

.ovfx .ovfx-ev__who {
	color: #fff;
	font-weight: 700;
}

.ovfx .ovfx-ev__sub {
	color: var(--room-mute);
	font-size: 0.86em;
}

.ovfx .ovfx-ev__out::before {
	content: "\2193\00a0";
	color: #ff5a4e;
}

.ovfx .ovfx-ev.is-sub .ovfx-ev__who::before {
	content: "\2191\00a0";
	color: #3ecf6a;
}

.ovfx .ovfx-ev__score {
	flex: 0 0 auto;
	padding: 2px 9px;
	border-radius: 100px;
	background: var(--ovfx-accent);
	color: #fff;
	font-weight: 900;
	white-space: nowrap;
}

.ovfx .ovfx-ev.is-goal .ovfx-ev__who {
	font-size: 1.06em;
	text-transform: uppercase;
}

.ovfx .ovfx-ev__card {
	display: inline-block;
	width: 11px;
	height: 15px;
	border-radius: 2px;
	background: #f5c400;
	vertical-align: middle;
}

.ovfx .ovfx-ev__card.is-red {
	background: #e0322b;
}

.ovfx .ovfx-ev__card.is-second {
	background: #e0322b;
	box-shadow: -4px -3px 0 #f5c400;
}

/* Składy */
.ovfx .ovfx-lu {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 26px;
}

.ovfx .ovfx-lu__name {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin: 0 0 10px;
	color: #fff;
	font-size: 0.95em;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.ovfx .ovfx-lu__formation {
	padding: 2px 9px;
	border-radius: 100px;
	background: var(--room-line);
	color: #c5c5c5;
	font-size: 0.82em;
	letter-spacing: 0.04em;
}

.ovfx .ovfx-lu__group {
	margin: 16px 0 8px;
	color: var(--room-mute);
	font-size: 0.74em;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.ovfx .ovfx-lu__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ovfx .ovfx-lu__list li {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 7px 0;
	border-bottom: 1px solid var(--room-line);
	font-size: 0.92em;
}

.ovfx .ovfx-lu__list li:last-child {
	border-bottom: 0;
}

.ovfx .ovfx-lu__num {
	color: color-mix(in srgb, var(--ovfx-accent) 70%, #fff);
	font-weight: 900;
	text-align: right;
}

.ovfx .ovfx-lu__player {
	min-width: 0;
	color: #fff;
}

.ovfx .ovfx-lu__player small {
	display: block;
	color: var(--room-mute);
	font-size: 0.78em;
	letter-spacing: 0.04em;
}

.ovfx .ovfx-lu__link,
.ovfx a.ovfx-pitch__p,
.ovfx .ovfx-room-link {
	border: 0;
	box-shadow: none;
	text-decoration: none;
}

.ovfx .ovfx-lu__link {
	min-width: 0;
	color: inherit;
}

.ovfx .ovfx-lu__link:hover .ovfx-lu__player,
.ovfx .ovfx-lu__link:focus-visible .ovfx-lu__player {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* The whole row opens the shelf. */
.ovfx .ovfx-lu__list li:has(> .ovfx-lu__link[data-pl]) {
	position: relative;
}

.ovfx .ovfx-lu__link[data-pl]::after {
	content: "";
	position: absolute;
	inset: 0;
	cursor: pointer;
}

.ovfx .ovfx-lu__list li:has(> .ovfx-lu__link[data-pl]:hover) .ovfx-av,
.ovfx .ovfx-lu__list li:has(> .ovfx-lu__link[aria-expanded="true"]) .ovfx-av {
	box-shadow: 0 0 0 2px var(--tk-live, #ffcc00);
}

.ovfx .ovfx-lu__link[aria-expanded="true"] .ovfx-lu__player {
	color: var(--tk-live, #ffcc00);
}

.ovfx .ovfx-lu__list .ovfx-av {
	width: 34px;
	height: 34px;
	font-size: 0.82em;
}

/* Round player photo (Overlia Players), zoomed towards the face; else the
   shirt number. */
.ovfx .ovfx-av {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	width: 46px;
	height: 46px;
	overflow: hidden;
	border: 2px solid rgba(255, 255, 255, 0.85);
	border-radius: 50%;
	background: #2c2d2f;
	color: #fff;
	font-size: 0.9em;
	font-weight: 900;
}

.ovfx .ovfx-lu__team.is-club .ovfx-av,
.ovfx .ovfx-av.has-photo {
	background: radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--ovfx-accent) 75%, #fff) 0%, var(--ovfx-accent) 45%, color-mix(in srgb, var(--ovfx-accent) 45%, #000) 100%);
}

.ovfx .ovfx-av img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--ax, 50%) var(--ay, 30%);
	transform: scale(1.35);
	transform-origin: var(--ax, 50%) var(--ay, 30%);
	opacity: 1 !important;
}

/* Składy: a club player's shelf, like Overlia Players' "Półka". The photo
   is framed as there (a square, the cut out figure standing on its bottom
   edge with its own size and shift); the notch points at the player. */
.ovfx .ovfx-shelf {
	--at: 50%;

	container: ovfx-shelf / inline-size;
	position: relative;
	margin: 14px 0 8px;
	padding: 0;
	list-style: none;
}

.ovfx .ovfx-lu__list > li.ovfx-shelf {
	display: block;
	margin: 0;
	padding: 12px 0 14px;
	font-size: 1em;
}

.ovfx .ovfx-shelf::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: -6px;
	left: var(--at);
	width: 14px;
	height: 14px;
	border-radius: 3px 0 0 0;
	background: var(--ovfx-accent);
	transform: translateX(-50%) rotate(45deg);
}

.ovfx .ovfx-lu__list > li.ovfx-shelf::before {
	top: 6px;
}

.ovfx .ovfx-shelf__card {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 20px;
	overflow: hidden;
	border-top: 4px solid var(--ovfx-accent);
	border-radius: 16px;
	background:
		radial-gradient(120% 80% at 100% 0, color-mix(in srgb, var(--ovfx-accent) 20%, transparent), transparent 60%),
		#161718;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35), inset 0 0 0 1px rgba(255, 255, 255, 0.06);
	color: #e9e9ea;
	opacity: 0;
	transform: translateY(-8px);
	transition: opacity 0.25s ease, transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.ovfx .ovfx-shelf.is-open .ovfx-shelf__card {
	opacity: 1;
	transform: none;
}

.ovfx .ovfx-shelf__card.no-photo {
	grid-template-columns: minmax(0, 1fr);
}

.ovfx .ovfx-shelf__close {
	position: absolute;
	z-index: 3;
	top: 10px;
	right: 10px;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	box-shadow: none;
	color: #fff;
	cursor: pointer;
	transition: background 0.15s;
}

.ovfx .ovfx-shelf__close:hover,
.ovfx .ovfx-shelf__close:focus-visible {
	background: rgba(255, 255, 255, 0.18);
	outline: 0;
}

.ovfx .ovfx-shelf__close svg {
	width: 18px;
	height: 18px;
}

.ovfx .ovfx-shelf__photo {
	container-type: inline-size;
	position: relative;
	align-self: start;
	overflow: hidden;
	aspect-ratio: 1;
	background: radial-gradient(ellipse 80% 70% at 50% 38%, color-mix(in srgb, var(--ovfx-accent) 80%, #fff) 0%, var(--ovfx-accent) 42%, color-mix(in srgb, var(--ovfx-accent) 40%, #000) 100%);
}

/* --rs-*: the shelf's photo and number as set in Mecze → Ustawienia
   (shift in percent of the photo's width, size as a factor). */
.ovfx .ovfx-shelf__bignum {
	position: absolute;
	top: calc(4% + var(--rs-num-y, 0) * 1cqi);
	left: calc(50% + var(--rs-num-x, 0) * 1cqi);
	color: transparent;
	font-size: calc(64cqi * var(--rs-num-s, 1));
	font-weight: 900;
	letter-spacing: -0.04em;
	line-height: 1;
	-webkit-text-stroke: 2px rgba(255, 255, 255, 0.28);
	translate: -50% 0;
	pointer-events: none;
}

.ovfx .ovfx-shelf__img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: var(--sx, 50%) var(--sy, 30%);
	opacity: 1 !important;
	translate: calc(var(--rs-img-x, 0) * 1cqi) calc(var(--rs-img-y, 0) * 1cqi);
	scale: var(--rs-img-s, 1);
}

.ovfx .ovfx-shelf__photo.is-cutout .ovfx-shelf__img {
	inset: auto auto 0 50%;
	width: calc(var(--scut, 1) * var(--rs-img-s, 1) * 100%);
	height: calc(var(--scut, 1) * var(--rs-img-s, 1) * 100%);
	object-fit: contain;
	object-position: var(--sx, 50%) 100%;
	translate: calc(-50% + (var(--sfx, 0) + var(--rs-img-x, 0)) * 1cqi) calc((var(--sfy, 0) + var(--rs-img-y, 0)) * 1cqi);
	scale: 1;
	transform-origin: 50% 100%;
	transition: transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.ovfx .ovfx-shelf:not(.is-open) .ovfx-shelf__photo.is-cutout .ovfx-shelf__img {
	transform: translateY(6%) scale(0.97);
}

.ovfx .ovfx-shelf__body {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
	padding: 22px 22px 20px 0;
}

.ovfx .ovfx-shelf__card.no-photo .ovfx-shelf__body {
	padding-left: 22px;
}

.ovfx .ovfx-shelf__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding-right: 40px;
}

.ovfx .ovfx-shelf__pill {
	padding: 3px 10px;
	border-radius: 100px;
	background: var(--ovfx-accent);
	color: #fff;
	font-size: 0.68em;
	font-weight: 800;
	letter-spacing: 0.1em;
	line-height: 1.5;
	text-transform: uppercase;
}

.ovfx .ovfx-shelf__pill.is-cap {
	background: #ffe066;
	color: #1a1a1a;
}

.ovfx .ovfx-shelf__pill.is-muted {
	background: rgba(255, 255, 255, 0.08);
	color: #c5c5c5;
}

.ovfx .ovfx-shelf__name {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 0;
	border: 0;
	color: #fff;
	font-size: 1em;
	line-height: 1.02;
	text-transform: none;
}

.ovfx .ovfx-shelf__name::before,
.ovfx .ovfx-shelf__name::after {
	content: none;
}

.ovfx .ovfx-shelf__num {
	color: #ffe066;
	font-size: 3em;
	font-weight: 900;
	letter-spacing: -0.03em;
}

.ovfx .ovfx-shelf__first {
	display: block;
	color: #cfcfd1;
	font-size: 1.05em;
	font-weight: 600;
}

.ovfx .ovfx-shelf__last {
	display: block;
	font-size: 1.7em;
	font-weight: 900;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.ovfx .ovfx-shelf__today h4,
.ovfx .ovfx-shelf__stathead h4 {
	margin: 0;
	padding: 0;
	color: var(--room-mute, #8f9094);
	font-size: 0.68em;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.ovfx .ovfx-shelf__today ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.ovfx .ovfx-shelf__today li {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	padding: 5px 11px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.06);
	color: #e9e9ea;
	font-size: 0.82em;
}

.ovfx .ovfx-shelf__today li b {
	color: #fff;
	font-weight: 800;
}

.ovfx .ovfx-shelf__today .ovfx-goals__ball {
	width: 15px;
	height: 15px;
}

.ovfx .ovfx-shelf__today .ovfx-ev__card {
	width: 9px;
	height: 12px;
}

.ovfx .ovfx-shelf__today .is-on .ovfx-shelf__arrow {
	color: #5fd986;
}

.ovfx .ovfx-shelf__today .is-off .ovfx-shelf__arrow {
	color: #ff7a70;
}

.ovfx .ovfx-shelf__facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 18px;
	margin: 0;
	padding: 14px 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.ovfx .ovfx-shelf__facts div {
	min-width: 0;
}

.ovfx .ovfx-shelf__facts dt {
	margin: 0 0 3px;
	color: var(--room-mute, #8f9094);
	font-size: 0.66em;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ovfx .ovfx-shelf__facts dd {
	margin: 0;
	color: #fff;
	font-size: 0.92em;
	font-weight: 700;
	overflow-wrap: anywhere;
}

.ovfx .ovfx-shelf__facts small {
	color: var(--room-mute, #8f9094);
	white-space: nowrap;
	font-size: 0.9em;
	font-weight: 600;
}

.ovfx .ovfx-shelf__flag {
	margin-right: 6px;
}

.ovfx .ovfx-shelf__stathead {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 12px;
	margin: 0 0 10px;
}

.ovfx .ovfx-shelf__tabs {
	display: inline-flex;
	gap: 2px;
	padding: 3px;
	border-radius: 100px;
	background: rgba(255, 255, 255, 0.07);
}

.ovfx .ovfx-shelf__tab {
	margin: 0;
	padding: 4px 11px;
	border: 0;
	border-radius: 100px;
	background: none;
	box-shadow: none;
	color: #b4b5b8;
	font: inherit;
	font-size: 0.72em;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1.5;
	text-transform: none;
	cursor: pointer;
}

.ovfx .ovfx-shelf__tab[aria-pressed="true"] {
	background: #fff;
	color: #161718;
}

.ovfx .ovfx-shelf__set {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ovfx .ovfx-shelf__set[hidden] {
	display: none;
}

.ovfx .ovfx-shelf__set li {
	display: flex;
	flex-direction: column;
	gap: 3px;
	margin: 0;
	padding: 10px 6px 9px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.05);
	text-align: center;
}

.ovfx .ovfx-shelf__set b {
	color: #fff;
	font-size: 1.4em;
	font-weight: 900;
	line-height: 1.05;
}

.ovfx .ovfx-shelf__set .is-goals b {
	color: #ffe066;
}

.ovfx .ovfx-shelf__set span {
	color: var(--room-mute, #8f9094);
	font-size: 0.66em;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.2;
}

.ovfx .ovfx-shelf__more {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	gap: 8px;
	padding: 9px 16px;
	border: 0;
	border-radius: 100px;
	background: rgba(255, 255, 255, 0.08);
	box-shadow: none;
	color: #fff;
	font-size: 0.8em;
	font-weight: 800;
	text-decoration: none;
	transition: background 0.15s;
}

.ovfx .ovfx-shelf__more:hover,
.ovfx .ovfx-shelf__more:focus-visible {
	background: var(--ovfx-accent);
	color: #fff;
}

/* Narrow (a phone, one of two columns): the photo on top, wider than
   tall, the figure framed the same way. */
@container ovfx-shelf (max-width: 619px) {
	.ovfx .ovfx-shelf__card {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.ovfx .ovfx-shelf__photo {
		aspect-ratio: 16 / 10;
	}

	.ovfx .ovfx-shelf__bignum {
		font-size: calc(46cqi * var(--rs-num-s, 1));
	}

	.ovfx .ovfx-shelf__body {
		padding: 18px 20px 20px;
	}

	.ovfx .ovfx-shelf__close {
		background: rgba(0, 0, 0, 0.4);
	}

	.ovfx .ovfx-shelf__num {
		font-size: 2.5em;
	}

	.ovfx .ovfx-shelf__last {
		font-size: 1.45em;
	}
}

.ovfx .no-shelfnum .ovfx-shelf__bignum {
	display: none;
}

/* A coverage entry that arrived while the page was open. */
.ovfx .ovfx-live__item.is-new {
	animation: ovfx-new-entry 3s ease-out;
}

@keyframes ovfx-new-entry {
	0% {
		background: color-mix(in srgb, var(--ovfx-accent) 45%, transparent);
		opacity: 0;
		translate: 0 -8px;
	}

	12% {
		opacity: 1;
		translate: 0 0;
	}

	100% {
		background: transparent;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ovfx .ovfx-live__item.is-new {
		animation: none;
	}

	.ovfx .ovfx-shelf__card,
	.ovfx .ovfx-shelf__photo.is-cutout .ovfx-shelf__img {
		transition: none;
	}
}

/* Relacja from Flashscore (no coverage of the club's own): the events as
   entries, the articles about the match under them. */
.ovfx .ovfx-news {
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid var(--room-line, #2c2d2f);
}

.ovfx .ovfx-news h3 {
	margin: 0 0 12px;
	color: var(--room-mute, #8f9094);
	font-size: 0.74em;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.ovfx .ovfx-news ul {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ovfx .ovfx-news li {
	margin: 0;
}

.ovfx .ovfx-news a {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	height: 100%;
	padding: 8px;
	border: 0;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.04);
	box-shadow: none;
	color: #e9e9ea;
	text-decoration: none;
	transition: background 0.15s;
}

.ovfx .ovfx-news a:hover,
.ovfx .ovfx-news a:focus-visible {
	background: rgba(255, 255, 255, 0.09);
}

.ovfx .ovfx-news img {
	display: block;
	width: 96px;
	aspect-ratio: 4 / 3;
	border-radius: 8px;
	object-fit: cover;
}

.ovfx .ovfx-news__text {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.ovfx .ovfx-news__text b {
	color: #fff;
	font-size: 0.88em;
	line-height: 1.3;
}

.ovfx .ovfx-news__text small {
	color: var(--room-mute, #8f9094);
	font-size: 0.74em;
}

/* Tabela (na żywo): the room's league table; teams playing show their
   score, moves against the table as read show as arrows, the opponent is
   marked beside the club. */
.ovfx .ovfx-ltable {
	max-width: 900px;
	margin: 0 auto;
}

.ovfx .ovfx-ltable__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 12px;
	margin: 0 0 14px;
	color: #fff;
	font-size: 0.95em;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ovfx .ovfx-ltable__head small {
	color: var(--room-mute, #8f9094);
	font-size: 0.78em;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: none;
}

.ovfx .ovfx-ltable__head .ovfx-room__dot {
	align-self: center;
	margin: 0;
}

.ovfx .ovfx-c-rank .ovfx-move {
	display: block;
	font-size: 0.66em;
	font-weight: 800;
	line-height: 1;
}

.ovfx .ovfx-move.is-up { color: #3ecf8e; }
.ovfx .ovfx-move.is-down { color: #ff7a70; }

.ovfx .ovfx-live-score {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-left: 8px;
	padding: 1px 8px;
	border-radius: 100px;
	background: color-mix(in srgb, var(--ovfx-live, #e0322b) 22%, transparent);
	color: #fff;
	font-size: 0.8em;
	font-weight: 800;
	white-space: nowrap;
}

.ovfx .ovfx-live-score i {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--ovfx-live, #e0322b);
	animation: ovfx-pulse 1.4s ease-in-out infinite;
}

.ovfx .ovfx-table tr.is-opp td {
	background: rgba(255, 255, 255, 0.07);
}

.ovfx .ovfx-table tr.is-opp .ovfx-team {
	font-weight: 800;
}

/* H2H: the record against the opponent, the meetings, both teams' form. */
.ovfx .ovfx-h2h {
	display: grid;
	gap: 26px;
	max-width: 900px;
	margin: 0 auto;
}

.ovfx .ovfx-h2h h3 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	margin: 0 0 12px;
	color: var(--room-mute, #8f9094);
	font-size: 0.74em;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.ovfx .ovfx-h2h__sum {
	padding: 22px;
	border-radius: 16px;
	background: radial-gradient(120% 140% at 50% 0, color-mix(in srgb, var(--ovfx-accent) 35%, transparent), transparent 70%), rgba(255, 255, 255, 0.03);
	text-align: center;
}

.ovfx .ovfx-h2h__sum h3 {
	justify-content: center;
}

.ovfx .ovfx-h2h__teams {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 14px;
	margin-bottom: 16px;
}

.ovfx .ovfx-h2h__teams > span:not(.ovfx-h2h__vs) {
	display: grid;
	justify-items: center;
	gap: 8px;
}

.ovfx .ovfx-h2h__teams b {
	color: #fff;
	font-size: 0.92em;
	font-weight: 800;
	text-transform: uppercase;
}

.ovfx .ovfx-h2h__vs {
	color: var(--room-mute, #8f9094);
	font-weight: 800;
	text-transform: uppercase;
}

.ovfx .ovfx-h2h__nums {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 10px;
}

.ovfx .ovfx-h2h__nums span {
	display: grid;
	gap: 2px;
	color: var(--room-mute, #8f9094);
	font-size: 0.78em;
	font-weight: 700;
	text-transform: uppercase;
}

.ovfx .ovfx-h2h__nums b {
	color: #fff;
	font-size: 2.4em;
	font-weight: 900;
	line-height: 1;
}

.ovfx .ovfx-h2h__nums .is-w b { color: #3ecf8e; }
.ovfx .ovfx-h2h__nums .is-l b { color: #ff7a70; }

.ovfx .ovfx-h2h__bar {
	display: flex;
	gap: 3px;
	height: 8px;
	overflow: hidden;
	border-radius: 100px;
}

.ovfx .ovfx-h2h__bar i {
	flex-basis: 0;
	min-width: 0;
}

.ovfx .ovfx-h2h__bar .is-w { background: #2fae74; }
.ovfx .ovfx-h2h__bar .is-d { background: #6b6f75; }
.ovfx .ovfx-h2h__bar .is-l { background: #e0534a; }

.ovfx .ovfx-h2h__goals {
	margin: 12px 0 0;
	color: #c5c5c5;
	font-size: 0.86em;
	font-weight: 700;
}

.ovfx .ovfx-h2h__list {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ovfx .ovfx-h2h__row {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr) auto minmax(0, 1fr) 28px;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 10px 14px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.04);
}

.ovfx .ovfx-h2h__when {
	display: grid;
	gap: 1px;
	min-width: 0;
}

.ovfx .ovfx-h2h__when b {
	color: #fff;
	font-size: 0.86em;
}

.ovfx .ovfx-h2h__when small {
	overflow: hidden;
	color: var(--room-mute, #8f9094);
	font-size: 0.72em;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ovfx .ovfx-h2h__team {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	color: #e9e9ea;
	font-size: 0.88em;
	font-weight: 700;
}

.ovfx .ovfx-h2h__team span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ovfx .ovfx-h2h__team.is-home {
	flex-direction: row-reverse;
	text-align: right;
}

.ovfx .ovfx-h2h__team .ovfx-crest {
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
}

.ovfx .ovfx-h2h__score {
	padding: 3px 10px;
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.35);
	color: #fff;
	font-weight: 900;
	white-space: nowrap;
}

.ovfx .ovfx-h2h__score i {
	padding: 0 0.25em;
	color: var(--room-mute, #8f9094);
	font-style: normal;
}

.ovfx .ovfx-h2h__res {
	display: inline-grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border-radius: 6px;
	background: #6b6f75;
	color: #fff;
	font-size: 0.74em;
	font-weight: 900;
}

.ovfx .ovfx-h2h__res.is-w { background: #2fae74; }
.ovfx .ovfx-h2h__res.is-l { background: #e0534a; }

.ovfx .ovfx-h2h__form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.ovfx .ovfx-h2h__form h3 .ovfx-crest {
	width: 24px;
	height: 24px;
}

.ovfx .ovfx-h2h__badges {
	display: inline-flex;
	gap: 4px;
	margin-left: auto;
}

/* In the form lists: no date column, smaller. */
.ovfx .ovfx-h2h__list.is-form .ovfx-h2h__row {
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) 24px;
	gap: 8px;
	padding: 8px 10px;
	font-size: 0.9em;
}

.ovfx .ovfx-h2h__list.is-form .ovfx-h2h__when {
	display: none;
}

@container ovfx (max-width: 700px) {
	.ovfx .ovfx-h2h__form {
		grid-template-columns: minmax(0, 1fr);
	}
}

@container ovfx (max-width: 620px) {
	.ovfx .ovfx-h2h__row {
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) 24px;
		grid-template-areas: "when when when when" "home score away res";
		gap: 6px 8px;
		padding: 10px;
	}

	.ovfx .ovfx-h2h__when { grid-area: when; grid-template-columns: auto minmax(0, 1fr); gap: 8px; align-items: baseline; }
	.ovfx .ovfx-h2h__team.is-home { grid-area: home; }
	.ovfx .ovfx-h2h__score { grid-area: score; }
	.ovfx .ovfx-h2h__team.is-away { grid-area: away; }
	.ovfx .ovfx-h2h__res { grid-area: res; }

	.ovfx .ovfx-h2h__team {
		font-size: 0.8em;
	}

	.ovfx .ovfx-h2h__nums b {
		font-size: 1.9em;
	}
}

/* Live bar: on every page around a club match, stuck to the top (under the
   WordPress toolbar) or floating at the bottom of the screen. */
.ovfx-bar-slot {
	position: relative;
	z-index: 99990;
}

.ovfx-bar-slot[hidden] {
	display: none;
}

.ovfx-bar-slot.is-top {
	position: sticky;
	top: 0;
}

body.admin-bar .ovfx-bar-slot.is-top {
	top: var(--wp-admin--admin-bar--height, 32px);
}

/* The toolbar scrolls away on small screens. */
@media (max-width: 600px) {
	body.admin-bar .ovfx-bar-slot.is-top {
		top: 0;
	}
}

.ovfx-bar-slot.is-bottom {
	position: fixed;
	right: 12px;
	bottom: calc(12px + env(safe-area-inset-bottom, 0px));
	left: 12px;
	display: flex;
	justify-content: center;
	pointer-events: none;
}

html.ovfx-has-bar-bottom body {
	padding-bottom: 84px;
}

.ovfx.ovfx-bar {
	display: flex;
	align-items: center;
	margin: 0;
	background: linear-gradient(90deg, color-mix(in srgb, var(--ovfx-accent) 70%, #000) 0%, #161617 46%, #161617 100%);
	box-shadow: inset 0 -2px 0 var(--ovfx-accent);
	color: #fff;
	line-height: 1.2;
}

.ovfx-bar-slot.is-bottom .ovfx.ovfx-bar {
	width: 100%;
	max-width: 780px;
	overflow: hidden;
	border-radius: 100px;
	box-shadow: 0 12px 34px rgba(0, 0, 0, 0.4), inset 0 0 0 1px rgba(255, 255, 255, 0.1);
	pointer-events: auto;
}

.ovfx .ovfx-bar__in {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	gap: 16px;
	min-width: 0;
	max-width: 1110px;
	margin: 0 auto;
	padding: 7px 8px 7px 18px;
	color: inherit;
	text-decoration: none;
}

.ovfx .ovfx-bar__state {
	display: flex;
	flex: none;
	align-items: center;
	gap: 8px;
	min-width: 76px;
	color: #c5c5c5;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	white-space: nowrap;
}

.ovfx.ovfx-bar.is-live .ovfx-bar__state {
	color: #fff;
}

/* The minute as in the band: a yellow badge. */
.ovfx.ovfx-bar.is-live .ovfx-status {
	padding: 3px 8px;
	border-radius: 6px;
	background: #ffcc00;
	color: #161617;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.02em;
}

.ovfx .ovfx-bar__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ovfx-live, #e0322b);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ovfx-live, #e0322b) 30%, transparent);
	animation: ovfx-pulse 1.4s ease-in-out infinite;
}

.ovfx .ovfx-bar__match {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-width: 0;
}

.ovfx .ovfx-bar__team {
	display: flex;
	flex: 1 1 0;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.ovfx .ovfx-bar__team.is-home {
	justify-content: flex-end;
}

.ovfx .ovfx-bar__team b {
	overflow: hidden;
	font-size: 14px;
	font-weight: 800;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.ovfx.ovfx-bar .ovfx-crest {
	width: 26px;
	height: 26px;
	object-fit: contain;
}

.ovfx.ovfx-bar .ovfx-score {
	flex: none;
	padding: 3px 12px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.1);
	font-size: 18px;
	font-weight: 900;
	white-space: nowrap;
}

.ovfx.ovfx-bar.is-live .ovfx-score {
	background: var(--ovfx-accent);
}

.ovfx.ovfx-bar .ovfx-score__sep {
	margin: 0 6px;
	opacity: 0.7;
}

.ovfx .ovfx-bar__vs {
	flex: none;
	color: #8f9094;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
}

.ovfx .ovfx-bar__go {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 8px;
	padding: 7px 14px;
	border-radius: 100px;
	background: #fff;
	color: color-mix(in srgb, var(--ovfx-accent) 80%, #000);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	white-space: nowrap;
	transition: background 0.2s, color 0.2s;
}

.ovfx .ovfx-bar__go svg {
	width: 14px;
	height: 14px;
}

.ovfx .ovfx-bar__in:hover .ovfx-bar__go,
.ovfx .ovfx-bar__in:focus-visible .ovfx-bar__go {
	background: var(--ovfx-accent);
	color: #fff;
}

.ovfx .ovfx-bar__in:focus-visible {
	outline: 2px solid #fff;
	outline-offset: -4px;
}

.ovfx .ovfx-bar__x {
	display: grid;
	flex: none;
	place-items: center;
	width: 32px;
	height: 32px;
	margin: 0 10px 0 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	box-shadow: none;
	color: rgba(255, 255, 255, 0.55);
	cursor: pointer;
}

.ovfx .ovfx-bar__x:hover,
.ovfx .ovfx-bar__x:focus-visible {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	outline: 0;
}

.ovfx .ovfx-bar__x svg {
	width: 16px;
	height: 16px;
}

/* Phones: crests without names, the arrow without its words. */
@container ovfx (max-width: 600px) {
	.ovfx .ovfx-bar__in {
		gap: 10px;
		padding-left: 14px;
	}

	.ovfx .ovfx-bar__state {
		min-width: 0;
		font-size: 11px;
	}

	.ovfx .ovfx-bar__team b,
	.ovfx .ovfx-bar__go span {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.ovfx .ovfx-bar__go {
		width: 32px;
		height: 32px;
		padding: 0;
		justify-content: center;
	}

	.ovfx.ovfx-bar .ovfx-score {
		font-size: 16px;
	}

	.ovfx .ovfx-bar__x {
		margin-right: 6px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ovfx .ovfx-bar__dot {
		animation: none;
	}
}

/* Galeria: the match photos in columns (each keeps its shape), a button to
   the whole gallery in Overlia Delivery; a click opens a photo big. */
.ovfx .ovfx-gal {
	max-width: 1110px;
	margin: 0 auto;
}

.ovfx .ovfx-gal__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
	margin: 0 0 14px;
}

.ovfx .ovfx-gal h3 {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin: 0;
	color: #fff;
	font-size: 0.86em;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.ovfx .ovfx-gal h3 span {
	color: var(--room-mute, #8f9094);
	letter-spacing: 0.08em;
}

.ovfx .ovfx-gal__live {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #c5c5c5;
	font-size: 0.8em;
	font-weight: 700;
}

.ovfx .ovfx-gal__live i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ovfx-live, #e0322b);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ovfx-live, #e0322b) 30%, transparent);
	animation: ovfx-pulse 1.4s ease-in-out infinite;
}

.ovfx .ovfx-gal__grid {
	columns: 3 220px;
	column-gap: 8px;
}

.ovfx .ovfx-gal__item {
	display: block;
	margin: 0 0 8px;
	overflow: hidden;
	border-radius: 10px;
	background: #26272a;
	aspect-ratio: var(--r, 1.5);
	break-inside: avoid;
}

.ovfx .ovfx-gal__item img {
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	margin: 0;
	border-radius: 0;
	object-fit: cover;
	transition: transform 0.35s ease;
}

/* Laid out by the page script: rows of one height filling the width. */
.ovfx .ovfx-gal__grid.is-rows {
	display: flex;
	flex-direction: column;
	gap: 8px;
	columns: auto;
}

.ovfx .ovfx-gal__row {
	display: flex;
	gap: 8px;
	width: 100%;
	margin: 0 auto;
}

.ovfx .ovfx-gal__row .ovfx-gal__item {
	flex: var(--r, 1.5) 1 0;
	min-width: 0;
	margin: 0;
}

.ovfx .ovfx-gal__item:hover img {
	transform: scale(1.04);
}

.ovfx .ovfx-gal__item:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.ovfx .ovfx-gal__credit {
	color: var(--room-mute, #8f9094);
	font-size: 0.8em;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ovfx .ovfx-gal__credit b {
	color: #fff;
	font-weight: 800;
}

.ovfx .ovfx-gal__credit a,
.ovfx .ovfx-gal__credit a:hover,
.ovfx .ovfx-gal__credit a:focus {
	border: 0;
	box-shadow: none;
	color: inherit;
	text-decoration: none;
}

/* No underline: the name turns green under the pointer. */
.ovfx .ovfx-gal__credit a b {
	text-decoration: none;
	transition: color 0.2s;
}

.ovfx .ovfx-gal__credit a:hover b,
.ovfx .ovfx-gal__credit a:focus-visible b {
	color: #3ecf8e;
}

.ovfx .ovfx-gal__more {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 18px 0 0;
	text-align: center;
}

.ovfx .ovfx-gal__more:empty {
	display: none;
}

.ovfx .ovfx-gal__more a,
.ovfx .ovfx-gal__more button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 26px;
	border-radius: 100px;
	background: #fff;
	color: color-mix(in srgb, var(--ovfx-accent) 80%, #000);
	font-size: 0.8em;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 0.2s, color 0.2s;
}

.ovfx .ovfx-gal__more button {
	margin: 0;
	border: 0;
	font-family: inherit;
	line-height: inherit;
	cursor: pointer;
}

.ovfx .ovfx-gal__more a:hover,
.ovfx .ovfx-gal__more a:focus-visible,
.ovfx .ovfx-gal__more button:hover,
.ovfx .ovfx-gal__more button:focus-visible {
	background: var(--ovfx-accent);
	color: #fff;
	outline: 0;
}

@container ovfx (max-width: 480px) {
	.ovfx .ovfx-gal__grid {
		columns: 2;
		column-gap: 6px;
	}

	.ovfx .ovfx-gal__item {
		margin-bottom: 6px;
		border-radius: 8px;
	}
}

/* The photo big (on the page, outside .ovfx). */
html.ovfx-lb-open {
	overflow: hidden;
}

.ovfx-lb {
	position: fixed;
	z-index: 100000;
	inset: 0;
	background: rgba(8, 9, 10, 0.95);
	color: #fff;
	font-family: industry, "Industry", "Helvetica Neue", Arial, sans-serif;
	-webkit-user-select: none;
	user-select: none;
}

.ovfx-lb[hidden] {
	display: none;
}

.ovfx-lb__fig {
	position: absolute;
	inset: 64px 76px 56px;
	display: grid;
	place-items: center;
	margin: 0;
}

.ovfx-lb__fig img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	border-radius: 6px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
	object-fit: contain;
}

.ovfx-lb .ovfx-lb__btn {
	position: absolute;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	box-shadow: none;
	color: #fff;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
	-webkit-appearance: none;
	appearance: none;
}

.ovfx-lb .ovfx-lb__btn:hover,
.ovfx-lb .ovfx-lb__btn:focus-visible {
	background: #fff;
	color: #161617;
	outline: 0;
}

.ovfx-lb .ovfx-lb__btn svg {
	width: 22px;
	height: 22px;
}

.ovfx-lb .ovfx-lb__close {
	top: 10px;
	right: 14px;
}

.ovfx-lb .ovfx-lb__prev,
.ovfx-lb .ovfx-lb__next {
	top: 50%;
	transform: translateY(-50%);
}

.ovfx-lb .ovfx-lb__prev {
	left: 14px;
}

.ovfx-lb .ovfx-lb__next {
	right: 14px;
}

.ovfx-lb.is-single :is(.ovfx-lb__prev, .ovfx-lb__next) {
	display: none;
}

@media (max-width: 600px) {
	.ovfx-lb__fig {
		inset: 64px 0 76px;
	}

	.ovfx-lb__fig img {
		border-radius: 0;
	}

	.ovfx-lb .ovfx-lb__prev,
	.ovfx-lb .ovfx-lb__next {
		top: auto;
		bottom: 10px;
		transform: none;
	}
}

/* Kibice: "Typuj wynik" (two steppers between the crests until kick-off,
   then the fans' tips) and "Zawodnik meczu" (the players who played as
   tiles to pick, then the results as bars). */
.ovfx .ovfx-fans {
	display: grid;
	gap: 22px;
	max-width: 760px;
	margin: 0 auto;
}

.ovfx .ovfx-fans__card {
	padding: 24px 22px;
	border-radius: 16px;
	background: radial-gradient(120% 140% at 50% 0, color-mix(in srgb, var(--ovfx-accent) 35%, transparent), transparent 70%), rgba(255, 255, 255, 0.03);
	text-align: center;
}

.ovfx .ovfx-fans h3,
.ovfx .ovfx-fans h4 {
	margin: 0 0 18px;
	color: var(--room-mute, #8f9094);
	font-size: 0.74em;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.ovfx .ovfx-fans h3 {
	color: #fff;
	font-size: 0.86em;
}

.ovfx .ovfx-fans h4 {
	margin: 22px 0 10px;
}

.ovfx .ovfx-fans :where(p) {
	margin: 0;
}

.ovfx .ovfx-fans__duel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 14px;
}

.ovfx .ovfx-fans__team {
	display: grid;
	justify-items: center;
	gap: 10px;
	min-width: 0;
}

.ovfx .ovfx-fans__team .ovfx-crest {
	width: 52px;
	height: 52px;
	object-fit: contain;
}

.ovfx .ovfx-fans__team b {
	color: #fff;
	font-size: 0.92em;
	font-weight: 800;
	line-height: 1.15;
	overflow-wrap: anywhere;
	text-transform: uppercase;
}

.ovfx .ovfx-fans__mid {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ovfx .ovfx-fans__goals {
	display: grid;
	justify-items: center;
	gap: 6px;
}

.ovfx .ovfx-fans__step {
	width: 44px;
	height: 30px;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 100px;
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	font: inherit;
	font-size: 20px;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.ovfx .ovfx-fans__step:hover,
.ovfx .ovfx-fans__step:focus-visible {
	border-color: #fff;
	background: #fff;
	color: color-mix(in srgb, var(--ovfx-accent) 80%, #000);
	outline: 0;
}

.ovfx .ovfx-fans__n {
	width: 68px;
	height: 76px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 14px;
	background: rgba(0, 0, 0, 0.38);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
	color: #fff;
	font: inherit;
	font-size: 46px;
	font-weight: 900;
	line-height: 1;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

.ovfx .ovfx-fans__n:focus {
	box-shadow: inset 0 0 0 2px #fff;
	outline: 0;
}

.ovfx .ovfx-fans__n::-webkit-inner-spin-button,
.ovfx .ovfx-fans__n::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.ovfx .ovfx-fans__colon,
.ovfx .ovfx-fans__score i {
	color: var(--room-mute, #8f9094);
	font-size: 34px;
	font-style: normal;
	font-weight: 900;
}

.ovfx .ovfx-fans__send {
	display: inline-flex;
	margin: 22px 0 0;
	padding: 13px 30px;
	border: 0;
	border-radius: 100px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
	color: color-mix(in srgb, var(--ovfx-accent) 80%, #000);
	font: inherit;
	font-size: 0.8em;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s, color 0.2s, opacity 0.2s;
}

.ovfx .ovfx-fans__send:hover,
.ovfx .ovfx-fans__send:focus-visible {
	background: var(--ovfx-accent);
	color: #fff;
	outline: 0;
}

.ovfx .ovfx-fans__send:disabled {
	opacity: 0.4;
	cursor: default;
}

.ovfx .ovfx-fans__send:disabled:hover {
	background: #fff;
	color: color-mix(in srgb, var(--ovfx-accent) 80%, #000);
}

.ovfx .ovfx-fans__form.is-busy .ovfx-fans__send {
	opacity: 0.6;
	cursor: progress;
}

.ovfx .ovfx-fans__msg {
	margin-top: 12px;
	color: #ff9a90;
	font-weight: 700;
}

.ovfx .ovfx-fans__msg:empty {
	display: none;
}

.ovfx .ovfx-fans__note,
.ovfx .ovfx-fans__count,
.ovfx .ovfx-fans__total {
	margin-top: 14px;
	color: var(--room-mute, #8f9094);
	font-size: 0.8em;
	font-weight: 700;
}

.ovfx .ovfx-fans__total {
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ovfx .ovfx-fans__lead {
	margin: -6px 0 18px;
	color: #c5c5c5;
	font-weight: 600;
}

/* This browser's tip. */
.ovfx .ovfx-fans__score {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	padding-top: 22px;
	color: #fff;
	font-size: 50px;
	font-weight: 900;
	line-height: 1;
}

.ovfx .ovfx-fans__score small {
	position: absolute;
	top: 0;
	left: 50%;
	color: var(--room-mute, #8f9094);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	white-space: nowrap;
	transform: translateX(-50%);
}

.ovfx .ovfx-fans__link {
	margin: 16px 0 0;
	padding: 4px;
	border: 0;
	background: none;
	color: #fff;
	font: inherit;
	font-size: 0.76em;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-decoration: underline;
	text-transform: uppercase;
	text-underline-offset: 4px;
	cursor: pointer;
}

.ovfx .ovfx-fans__verdict {
	display: inline-block;
	margin-top: 16px;
	padding: 7px 16px;
	border-radius: 100px;
	background: rgba(255, 255, 255, 0.08);
	font-size: 0.84em;
	font-weight: 800;
}

.ovfx .ovfx-fans__verdict.is-hit {
	background: #2fae74;
}

.ovfx .ovfx-fans__verdict.is-half {
	background: color-mix(in srgb, #2fae74 40%, transparent);
}

/* The fans' tips. */
.ovfx .ovfx-fans__spread {
	margin-top: 24px;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.ovfx .ovfx-fans__tip > h3 + .ovfx-fans__spread {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.ovfx .ovfx-fans__three {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 12px;
}

.ovfx .ovfx-fans__three span {
	display: grid;
	gap: 4px;
	min-width: 0;
	color: var(--room-mute, #8f9094);
	font-size: 0.76em;
	font-weight: 700;
	overflow-wrap: anywhere;
	text-transform: uppercase;
}

.ovfx .ovfx-fans__three b {
	color: #fff;
	font-size: 2.4em;
	font-weight: 900;
	line-height: 1;
}

.ovfx .ovfx-fans__three .is-club b {
	color: #3ecf8e;
}

.ovfx .ovfx-fans__bar {
	display: flex;
	gap: 3px;
	height: 8px;
	overflow: hidden;
	border-radius: 100px;
	background: rgba(255, 255, 255, 0.06);
}

.ovfx .ovfx-fans__bar i {
	flex-basis: 0;
	min-width: 0;
	background: #b9bec6;
}

.ovfx .ovfx-fans__bar .is-d {
	background: #6b6f75;
}

.ovfx .ovfx-fans__bar .is-club {
	background: #2fae74;
}

.ovfx .ovfx-fans__scores {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ovfx .ovfx-fans__scores li {
	display: flex;
	align-items: baseline;
	gap: 9px;
	margin: 0;
	padding: 8px 14px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.06);
}

.ovfx .ovfx-fans__scores b {
	color: #fff;
	font-size: 1.25em;
	font-weight: 900;
	white-space: nowrap;
}

.ovfx .ovfx-fans__scores span {
	color: var(--room-mute, #8f9094);
	font-size: 0.84em;
	font-weight: 800;
}

.ovfx .ovfx-fans__scores li.is-hit {
	background: #2fae74;
}

.ovfx .ovfx-fans__scores li.is-hit span {
	color: #fff;
}

.ovfx .ovfx-fans__right {
	margin-top: 16px;
	color: #c5c5c5;
	font-weight: 600;
}

.ovfx .ovfx-fans__right b {
	color: #fff;
	font-weight: 900;
	white-space: nowrap;
}

/* Zawodnik meczu: the players to pick. */
.ovfx .ovfx-mvp__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(165px, 1fr));
	gap: 8px;
	text-align: left;
}

.ovfx .ovfx-mvp__pick {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	margin: 0;
	padding: 8px 10px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.05);
	color: #fff;
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
}

.ovfx .ovfx-mvp__pick input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.ovfx .ovfx-mvp__pick:hover {
	background: rgba(255, 255, 255, 0.11);
}

.ovfx .ovfx-mvp__pick:has(input:focus-visible) {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.ovfx .ovfx-mvp__pick:has(input:checked) {
	background: #fff;
	color: #161617;
}

.ovfx .ovfx-mvp__pick:has(input:checked) small {
	color: #5d6066;
}

.ovfx .ovfx-mvp__pick .ovfx-av {
	width: 42px;
	height: 42px;
	font-size: 0.84em;
}

.ovfx .ovfx-mvp__who {
	display: grid;
	gap: 1px;
	min-width: 0;
}

.ovfx .ovfx-mvp__who b {
	overflow: hidden;
	font-size: 0.9em;
	font-weight: 800;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.ovfx .ovfx-mvp__who small {
	color: var(--room-mute, #8f9094);
	font-size: 0.74em;
	font-weight: 700;
	white-space: nowrap;
}

/* Zawodnik meczu: the results. */
.ovfx .ovfx-mvp__top {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin: 0 0 22px;
	text-align: left;
}

.ovfx .ovfx-mvp__top .ovfx-av {
	width: 92px;
	height: 92px;
	border-width: 3px;
	font-size: 1.7em;
}

.ovfx .ovfx-mvp__faces {
	display: flex;
	flex: none;
}

/* A tie at the top: the faces overlap. */
.ovfx .ovfx-mvp__faces .ovfx-av + .ovfx-av {
	margin-left: -24px;
}

.ovfx .ovfx-mvp__top.is-tie .ovfx-av {
	width: 78px;
	height: 78px;
}

.ovfx .ovfx-fans__mvp.is-over .ovfx-mvp__top .ovfx-av {
	box-shadow: 0 0 0 4px #ffcc00;
}

.ovfx .ovfx-mvp__top > div {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.ovfx .ovfx-mvp__top small {
	color: var(--room-mute, #8f9094);
	font-size: 0.72em;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.ovfx .ovfx-fans__mvp.is-over .ovfx-mvp__top small {
	color: #ffcc00;
}

.ovfx .ovfx-mvp__top b {
	color: #fff;
	font-size: 1.7em;
	font-weight: 900;
	line-height: 1.05;
	text-transform: uppercase;
}

.ovfx .ovfx-mvp__top span {
	color: #3ecf8e;
	font-weight: 800;
}

.ovfx .ovfx-mvp__list {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
}

.ovfx .ovfx-mvp__list li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) minmax(90px, 42%);
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 8px 12px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.04);
}

.ovfx .ovfx-mvp__list li.is-mine {
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}

/* Voting over: the winner's row in gold. */
.ovfx .ovfx-mvp__list li.is-win {
	background: color-mix(in srgb, #ffcc00 10%, transparent);
}

.ovfx .ovfx-mvp__list li.is-win .ovfx-mvp__who b {
	color: #ffcc00;
}

.ovfx .ovfx-mvp__list li.is-win .ovfx-mvp__pct i {
	background: #ffcc00;
}

.ovfx .ovfx-mvp__list li.is-win .ovfx-mvp__pct b {
	color: #161617;
}

.ovfx .ovfx-mvp__list .ovfx-av {
	width: 36px;
	height: 36px;
	font-size: 0.8em;
}

.ovfx .ovfx-mvp__list .ovfx-mvp__who small {
	color: #ffcc00;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ovfx .ovfx-mvp__pct {
	position: relative;
	display: flex;
	align-items: center;
	height: 26px;
	overflow: hidden;
	border-radius: 100px;
	background: rgba(255, 255, 255, 0.06);
}

.ovfx .ovfx-mvp__pct i {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	border-radius: inherit;
	background: #2fae74;
}

.ovfx .ovfx-mvp__pct b {
	position: relative;
	z-index: 1;
	padding: 0 10px;
	color: #fff;
	font-size: 0.84em;
	font-weight: 900;
}

/* Before the final whistle: the vote that comes after it. */
.ovfx .ovfx-fans__soon {
	color: var(--room-mute, #8f9094);
	font-size: 0.84em;
	font-weight: 700;
	text-align: center;
}

.ovfx .ovfx-fans__soon svg {
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-right: 8px;
	vertical-align: -3px;
}

.ovfx .ovfx-fans.is-sent > .ovfx-fans__card {
	animation: ovfx-fans-sent 0.6s ease-out;
}

@keyframes ovfx-fans-sent {
	from {
		box-shadow: 0 0 0 2px #fff;
	}
}

@container ovfx (max-width: 480px) {
	.ovfx .ovfx-fans__card {
		padding: 20px 12px;
	}

	.ovfx .ovfx-fans__duel {
		gap: 8px;
	}

	.ovfx .ovfx-fans__mid {
		gap: 6px;
	}

	.ovfx .ovfx-fans__team .ovfx-crest {
		width: 46px;
		height: 46px;
	}

	.ovfx .ovfx-fans__team b {
		font-size: 0.74em;
	}

	/* Too narrow for the names: the crests alone (the names stay for
	   screen readers), as in the band. */
	.ovfx .ovfx-fans__team:has(img.ovfx-crest) b {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.ovfx .ovfx-fans__n {
		width: 54px;
		height: 64px;
		font-size: 38px;
	}

	.ovfx .ovfx-fans__colon {
		font-size: 26px;
	}

	.ovfx .ovfx-fans__score {
		font-size: 40px;
	}

	.ovfx .ovfx-mvp__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ovfx .ovfx-mvp__top .ovfx-av {
		width: 72px;
		height: 72px;
	}

	.ovfx .ovfx-mvp__top b {
		font-size: 1.3em;
	}

	/* Joint winners: the faces above the names. */
	.ovfx .ovfx-mvp__top.is-tie {
		flex-direction: column;
		gap: 12px;
		text-align: center;
	}

	.ovfx .ovfx-mvp__top.is-tie .ovfx-av {
		width: 68px;
		height: 68px;
	}

	.ovfx .ovfx-mvp__list li {
		grid-template-columns: auto minmax(0, 1fr) 76px;
		gap: 10px;
		padding: 8px 10px;
	}

	.ovfx .ovfx-mvp__list .ovfx-mvp__who b {
		font-size: 0.84em;
		line-height: 1.15;
		white-space: normal;
	}
}

/* "Skrót meczu": the highlights big (picture and a play button until it is
   pressed), more videos as thumbnails under it. */
.ovfx .ovfx-vid {
	max-width: 900px;
	margin: 0 auto;
}

.ovfx .ovfx-vid__stage > :is(.ovfx-vid__facade, .ovfx-vid__frame, .ovfx-vid__file, .ovfx-vid__embed, .ovfx-vid__out) {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border: 0;
	border-radius: 14px;
	background: #0b0c0d;
}

.ovfx .ovfx-vid__embed iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.ovfx .ovfx-vid__facade {
	position: relative;
	margin: 0;
	padding: 0;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
	cursor: pointer;
}

.ovfx .ovfx-vid__facade img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease, filter 0.3s;
}

.ovfx .ovfx-vid__facade::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, 0.45) 100%);
	pointer-events: none;
}

.ovfx .ovfx-vid__btn {
	position: absolute;
	z-index: 1;
	inset: 0;
	display: grid;
	place-items: center;
	width: 84px;
	height: 84px;
	margin: auto;
	border-radius: 50%;
	background: var(--ovfx-accent);
	box-shadow: 0 0 0 8px color-mix(in srgb, var(--ovfx-accent) 35%, transparent), 0 12px 30px rgba(0, 0, 0, 0.45);
	color: #fff;
	transition: transform 0.2s;
}

.ovfx .ovfx-vid__btn svg {
	width: 36px;
	height: 36px;
	margin-left: 4px;
}

.ovfx .ovfx-vid__facade:hover img,
.ovfx .ovfx-vid__facade:focus-visible img {
	filter: brightness(1.08);
	transform: scale(1.03);
}

.ovfx .ovfx-vid__facade:hover .ovfx-vid__btn,
.ovfx .ovfx-vid__facade:focus-visible .ovfx-vid__btn {
	transform: scale(1.08);
}

.ovfx .ovfx-vid__facade:focus-visible {
	outline: 3px solid var(--tk-live, #ffcc00);
	outline-offset: 3px;
}

/* A video its owner does not let play on other sites: it opens there. */
.ovfx .ovfx-vid__where {
	position: absolute;
	z-index: 1;
	right: 14px;
	bottom: 14px;
	padding: 7px 14px;
	border-radius: 100px;
	background: rgba(0, 0, 0, 0.65);
	color: #fff;
	font-size: 0.8em;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.ovfx .ovfx-vid__facade.is-out {
	text-decoration: none;
}

.ovfx .ovfx-vid__out {
	display: grid !important;
	place-content: center;
	justify-items: center;
	gap: 10px;
	color: #fff;
	font-weight: 800;
	text-decoration: none;
}

.ovfx .ovfx-vid__out svg {
	width: 56px;
	height: 56px;
	padding: 14px;
	border-radius: 50%;
	background: var(--ovfx-accent);
}

.ovfx .ovfx-vid__title {
	margin: 12px 2px 0;
	color: #fff;
	font-size: 1.05em;
	font-weight: 800;
	line-height: 1.3;
}

.ovfx .ovfx-vid__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 14px;
	margin: 22px 0 0;
	padding: 18px 0 0;
	border-top: 1px solid var(--room-line, #2c2d2f);
	list-style: none;
}

.ovfx .ovfx-vid__list li {
	margin: 0;
}

.ovfx .ovfx-vid__pick {
	display: grid;
	gap: 8px;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: #e9e9ea;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.ovfx .ovfx-vid__thumb {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	border-radius: 10px;
	background: #0b0c0d;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.ovfx .ovfx-vid__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ovfx .ovfx-vid__mini {
	position: absolute;
	right: 8px;
	bottom: 8px;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.6);
	color: #fff;
}

.ovfx .ovfx-vid__mini svg {
	width: 15px;
	height: 15px;
	margin-left: 2px;
}

.ovfx .ovfx-vid__name {
	font-size: 0.86em;
	font-weight: 700;
	line-height: 1.3;
}

.ovfx .ovfx-vid__pick[aria-current="true"] .ovfx-vid__thumb {
	box-shadow: 0 0 0 3px var(--ovfx-accent);
}

.ovfx .ovfx-vid__pick[aria-current="true"] .ovfx-vid__mini {
	background: var(--ovfx-accent);
}

.ovfx .ovfx-vid__pick:hover .ovfx-vid__name {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@container ovfx (max-width: 620px) {
	.ovfx .ovfx-vid__btn {
		width: 64px;
		height: 64px;
	}

	.ovfx .ovfx-vid__btn svg {
		width: 28px;
		height: 28px;
	}

	.ovfx .ovfx-vid__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Player shelf looks (Mecze → Ustawienia → Wygląd panelu, data-shelf on
   the lineups box): a (photo on top, the default above), b Półka, c Karta
   kolekcjonerska, d Plakat meczowy, e Kompakt, f Wychodzący z karty. Every
   look but A lets the card's grid place the parts itself: the body's
   children become the card's grid items. --rs-*: the photo and number as
   set, in every look. */

.ovfx :where([data-shelf]:not([data-shelf="a"])) .ovfx-shelf__body {
	display: contents;
}

.ovfx :where([data-shelf]:not([data-shelf="a"])) .ovfx-shelf__pills { grid-area: pills; }
.ovfx :where([data-shelf]:not([data-shelf="a"])) .ovfx-shelf__name { grid-area: name; }
.ovfx :where([data-shelf]:not([data-shelf="a"])) .ovfx-shelf__today { grid-area: today; }
.ovfx :where([data-shelf]:not([data-shelf="a"])) .ovfx-shelf__facts { grid-area: facts; }
.ovfx :where([data-shelf]:not([data-shelf="a"])) .ovfx-shelf__stats { grid-area: stats; }
.ovfx :where([data-shelf]:not([data-shelf="a"])) .ovfx-shelf__more { grid-area: more; justify-self: start; }
.ovfx :where([data-shelf]:not([data-shelf="a"])) .ovfx-shelf__photo { grid-area: photo; }

/* --- B: Półka -------------------------------------------------------- */

.ovfx [data-shelf="b"] .ovfx-shelf__card {
	grid-template-columns: 42% minmax(0, 1fr);
	grid-template-areas:
		"photo pills"
		"photo name"
		"photo today"
		"photo facts"
		"stats stats"
		"more more";
	grid-template-rows: auto auto auto 1fr auto auto;
	gap: 14px 20px;
	padding: 0 0 20px;
}

.ovfx [data-shelf="b"] .ovfx-shelf__photo {
	align-self: stretch;
	min-height: 290px;
	aspect-ratio: auto;
	border-radius: 0 0 18px 0;
}

.ovfx [data-shelf="b"] .ovfx-shelf__pills { padding: 20px 50px 0 0; }
.ovfx [data-shelf="b"] .ovfx-shelf__today,
.ovfx [data-shelf="b"] .ovfx-shelf__facts,
.ovfx [data-shelf="b"] .ovfx-shelf__name { padding-right: 20px; }
.ovfx [data-shelf="b"] .ovfx-shelf__facts { grid-template-columns: minmax(0, 1fr); gap: 8px; padding-top: 12px; }
.ovfx [data-shelf="b"] .ovfx-shelf__stats,
.ovfx [data-shelf="b"] .ovfx-shelf__more { margin: 0 20px; }
.ovfx [data-shelf="b"] .ovfx-shelf__set { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.ovfx [data-shelf="b"] .ovfx-shelf__set b { font-size: 1.25em; }
.ovfx [data-shelf="b"] .ovfx-shelf__set span { font-size: 0.6em; }
.ovfx [data-shelf="b"] .ovfx-shelf__bignum { top: calc(3% + var(--rs-num-y, 0) * 1cqi); font-size: calc(70cqi * var(--rs-num-s, 1)); }

@container ovfx-shelf (max-width: 440px) {
	.ovfx [data-shelf="b"] .ovfx-shelf__card {
		grid-template-columns: 130px minmax(0, 1fr);
		grid-template-areas:
			"photo pills"
			"photo name"
			"today today"
			"facts facts"
			"stats stats"
			"more more";
		grid-template-rows: auto 1fr auto auto auto auto;
	}

	.ovfx [data-shelf="b"] .ovfx-shelf__photo { min-height: 170px; }
	.ovfx [data-shelf="b"] .ovfx-shelf__name { flex-direction: column; align-items: flex-start; align-self: start; gap: 2px; font-size: 0.86em; }
	.ovfx [data-shelf="b"] .ovfx-shelf__last { font-size: 1.4em; overflow-wrap: normal; }
	.ovfx [data-shelf="b"] .ovfx-shelf__today,
	.ovfx [data-shelf="b"] .ovfx-shelf__facts { margin: 0 20px; padding-right: 0; }
	.ovfx [data-shelf="b"] .ovfx-shelf__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ovfx [data-shelf="b"] .ovfx-shelf__set { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* --- C: Karta kolekcjonerska ------------------------------------------ */

.ovfx [data-shelf="c"] .ovfx-shelf__card {
	position: relative;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas: "photo" "name" "pills" "today" "stats" "facts" "more";
	gap: 12px;
	max-width: 360px;
	margin: 0 auto;
	padding: 0 0 22px;
	border: 0;
	border-radius: 26px 26px 26px 26px;
	background:
		radial-gradient(120% 70% at 50% 0, color-mix(in srgb, var(--ovfx-accent) 55%, #fff 25%) 0%, transparent 60%),
		linear-gradient(170deg, var(--ovfx-accent) 0%, color-mix(in srgb, var(--ovfx-accent) 55%, #000) 55%, #0d1110 100%);
	box-shadow: 0 0 0 2px rgba(255, 224, 102, 0.55), 0 0 0 7px rgba(0, 0, 0, 0.35), 0 22px 50px rgba(0, 0, 0, 0.5);
}

.ovfx [data-shelf="c"] .ovfx-shelf__photo {
	aspect-ratio: 1;
	background: none;
	-webkit-mask-image: linear-gradient(180deg, #000 70%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 70%, transparent 100%);
}

.ovfx [data-shelf="c"] .ovfx-shelf__bignum { display: none; }

.ovfx [data-shelf="c"] .ovfx-shelf__num {
	position: absolute;
	z-index: 2;
	top: 18px;
	left: 24px;
	font-size: 3.4em;
	line-height: 1;
}

.ovfx [data-shelf="c"] .ovfx-shelf__pills {
	justify-content: center;
	padding: 0 20px;
}

.ovfx [data-shelf="c"] .ovfx-shelf__pill:first-child {
	position: absolute;
	z-index: 2;
	top: 78px;
	left: 24px;
	padding: 0;
	background: none;
	color: #fff;
	font-size: 0.78em;
	letter-spacing: 0.16em;
}

.ovfx [data-shelf="c"] .ovfx-shelf__name {
	justify-content: center;
	margin-top: -38px;
	text-align: center;
}

.ovfx [data-shelf="c"] .ovfx-shelf__last { font-size: 1.9em; text-shadow: 0 2px 14px rgba(0, 0, 0, 0.5); }
.ovfx [data-shelf="c"] .ovfx-shelf__today { justify-self: center; }
.ovfx [data-shelf="c"] .ovfx-shelf__today h4 { display: none; }
.ovfx [data-shelf="c"] .ovfx-shelf__today ul { margin: 0; justify-content: center; }
.ovfx [data-shelf="c"] .ovfx-shelf__stats { margin: 0 24px; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, 0.22); }
.ovfx [data-shelf="c"] .ovfx-shelf__stathead { justify-content: center; }
.ovfx [data-shelf="c"] .ovfx-shelf__stathead h4 { display: none; }
.ovfx [data-shelf="c"] .ovfx-shelf__set { gap: 4px 10px; }
.ovfx [data-shelf="c"] .ovfx-shelf__set li { flex-direction: row; justify-content: center; align-items: baseline; gap: 6px; padding: 4px 0; background: none; }
.ovfx [data-shelf="c"] .ovfx-shelf__set b { font-size: 1.5em; }
.ovfx [data-shelf="c"] .ovfx-shelf__set span { color: rgba(255, 255, 255, 0.75); text-transform: uppercase; }
.ovfx [data-shelf="c"] .ovfx-shelf__facts { margin: 0 24px; padding-top: 12px; border-top-color: rgba(255, 255, 255, 0.22); font-size: 0.9em; }
.ovfx [data-shelf="c"] .ovfx-shelf__facts dt { color: rgba(255, 255, 255, 0.6); }
.ovfx [data-shelf="c"] .ovfx-shelf__more { justify-self: center; background: rgba(0, 0, 0, 0.3); }

/* --- D: Plakat meczowy --------------------------------------------- */

.ovfx [data-shelf="d"] .ovfx-shelf__card {
	grid-template-columns: 58% minmax(0, 1fr);
	grid-template-rows: auto auto auto auto 1fr auto auto;
	grid-template-areas:
		"pills ."
		"name ."
		"today ."
		"facts ."
		". ."
		"stats stats"
		"more more";
	gap: 12px 0;
	min-height: 470px;
	padding: 22px 0 18px;
	background: #0e0f10;
}

.ovfx [data-shelf="d"] .ovfx-shelf__photo {
	z-index: 0;
	grid-row: 1 / -1;
	grid-column: 1 / -1;
	align-self: stretch;
	aspect-ratio: auto;
	margin: -22px 0 -18px;
	background:
		radial-gradient(70% 80% at 78% 30%, color-mix(in srgb, var(--ovfx-accent) 85%, #fff 10%) 0%, var(--ovfx-accent) 35%, transparent 75%),
		#0e0f10;
}

.ovfx [data-shelf="d"] .ovfx-shelf__photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(14, 15, 16, 0.95) 0%, rgba(14, 15, 16, 0.75) 42%, transparent 68%),
		linear-gradient(0deg, rgba(14, 15, 16, 0.95) 0%, transparent 36%);
}

.ovfx [data-shelf="d"] .ovfx-shelf__photo.is-cutout .ovfx-shelf__img {
	width: calc(100% * var(--rs-img-s, 1));
	height: calc(100% * var(--rs-img-s, 1));
	translate: calc(-28% + var(--rs-img-x, 0) * 1cqi) calc(var(--rs-img-y, 0) * 1cqi);
}

.ovfx [data-shelf="d"] .ovfx-shelf__bignum {
	top: auto;
	bottom: calc(18% - var(--rs-num-y, 0) * 1cqi);
	left: calc(74% + var(--rs-num-x, 0) * 1cqi);
	font-size: calc(60cqi * var(--rs-num-s, 1));
	-webkit-text-stroke: 2px rgba(255, 255, 255, 0.18);
}

.ovfx [data-shelf="d"] :is(.ovfx-shelf__pills, .ovfx-shelf__name, .ovfx-shelf__today, .ovfx-shelf__facts, .ovfx-shelf__stats, .ovfx-shelf__more) {
	position: relative;
	z-index: 1;
	margin-left: 22px;
}

.ovfx [data-shelf="d"] .ovfx-shelf__name { flex-direction: column; align-items: flex-start; gap: 4px; }
.ovfx [data-shelf="d"] .ovfx-shelf__num { font-size: 2.2em; }
.ovfx [data-shelf="d"] .ovfx-shelf__last { font-size: min(2.3em, 6.8cqi); line-height: 0.95; overflow-wrap: normal; }
.ovfx [data-shelf="d"] .ovfx-shelf__facts { grid-template-columns: minmax(0, 1fr); gap: 6px; padding-top: 10px; border-top-color: rgba(255, 255, 255, 0.14); }
.ovfx [data-shelf="d"] .ovfx-shelf__facts div { display: flex; gap: 8px; align-items: baseline; }
.ovfx [data-shelf="d"] .ovfx-shelf__facts dt { margin: 0; }
.ovfx [data-shelf="d"] .ovfx-shelf__stats { margin-right: 22px; padding: 12px 14px; border-radius: 14px; background: rgba(0, 0, 0, 0.45); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.ovfx [data-shelf="d"] .ovfx-shelf__set { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.ovfx [data-shelf="d"] .ovfx-shelf__set li { padding: 6px 2px; background: none; }
.ovfx [data-shelf="d"] .ovfx-shelf__set span { font-size: 0.6em; }

@container ovfx-shelf (max-width: 440px) {
	.ovfx [data-shelf="d"] .ovfx-shelf__card { grid-template-columns: 66% minmax(0, 1fr); min-height: 520px; }
	.ovfx [data-shelf="d"] .ovfx-shelf__photo.is-cutout .ovfx-shelf__img { translate: calc(-18% + var(--rs-img-x, 0) * 1cqi) calc(var(--rs-img-y, 0) * 1cqi); }
	.ovfx [data-shelf="d"] .ovfx-shelf__last { font-size: min(1.6em, 8cqi); }
	.ovfx [data-shelf="d"] .ovfx-shelf__set { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* --- E: Kompakt ------------------------------------------------------ */

.ovfx [data-shelf="e"] .ovfx-shelf__card {
	grid-template-columns: 92px minmax(0, 1fr);
	grid-template-areas:
		"photo name"
		"photo pills"
		"today today"
		"stats stats"
		"facts facts"
		"more more";
	gap: 12px 16px;
	padding: 18px 20px 20px;
	border-top: 0;
	border-left: 4px solid var(--ovfx-accent);
	border-radius: 14px;
	background: #1a1c1e;
}

.ovfx [data-shelf="e"] .ovfx-shelf__photo {
	align-self: center;
	width: 92px;
	aspect-ratio: 1;
	border-radius: 50%;
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.9);
}

.ovfx [data-shelf="e"] .ovfx-shelf__photo .ovfx-shelf__img,
.ovfx [data-shelf="e"] .ovfx-shelf__photo.is-cutout .ovfx-shelf__img {
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--sx, 50%) var(--sy, 30%);
	translate: calc(var(--rs-img-x, 0) * 1cqi) calc(var(--rs-img-y, 0) * 1cqi);
	scale: calc(1.35 * var(--rs-img-s, 1));
	transform: none;
	transform-origin: var(--sx, 50%) var(--sy, 30%);
}

.ovfx [data-shelf="e"] .ovfx-shelf__bignum { display: none; }
.ovfx [data-shelf="e"] .ovfx-shelf__name { align-self: end; padding-right: 40px; }
.ovfx [data-shelf="e"] .ovfx-shelf__num { font-size: 2.3em; }
.ovfx [data-shelf="e"] .ovfx-shelf__last { font-size: 1.35em; }
.ovfx [data-shelf="e"] .ovfx-shelf__pills { align-self: start; padding: 0; }
.ovfx [data-shelf="e"] .ovfx-shelf__today { display: flex; align-items: center; gap: 10px; }
.ovfx [data-shelf="e"] .ovfx-shelf__today ul { margin: 0; }
.ovfx [data-shelf="e"] .ovfx-shelf__stats { padding: 12px 0 0; border-top: 1px solid rgba(255, 255, 255, 0.08); }
.ovfx [data-shelf="e"] .ovfx-shelf__set { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; }
.ovfx [data-shelf="e"] .ovfx-shelf__set li { padding: 4px 2px; border-right: 1px solid rgba(255, 255, 255, 0.08); border-radius: 0; background: none; }
.ovfx [data-shelf="e"] .ovfx-shelf__set li:last-child { border-right: 0; }
.ovfx [data-shelf="e"] .ovfx-shelf__set b { font-size: 1.3em; }
.ovfx [data-shelf="e"] .ovfx-shelf__set span { font-size: 0.6em; }
.ovfx [data-shelf="e"] .ovfx-shelf__facts { display: flex; flex-wrap: wrap; gap: 6px 18px; padding-top: 10px; }
.ovfx [data-shelf="e"] .ovfx-shelf__facts div { display: flex; gap: 6px; align-items: baseline; }
.ovfx [data-shelf="e"] .ovfx-shelf__facts dt { margin: 0; }

@container ovfx-shelf (max-width: 440px) {
	.ovfx [data-shelf="e"] .ovfx-shelf__card { grid-template-columns: 76px minmax(0, 1fr); }
	.ovfx [data-shelf="e"] .ovfx-shelf__name { flex-direction: column; align-items: flex-start; gap: 2px; }
	.ovfx [data-shelf="e"] .ovfx-shelf__num { font-size: 1.6em; }
	.ovfx [data-shelf="e"] .ovfx-shelf__last { font-size: 1.25em; overflow-wrap: normal; }
	.ovfx [data-shelf="e"] .ovfx-shelf__today { display: block; }
	.ovfx [data-shelf="e"] .ovfx-shelf__today ul { margin-top: 8px; }
	.ovfx [data-shelf="e"] .ovfx-shelf__photo { width: 76px; }
	.ovfx [data-shelf="e"] .ovfx-shelf__set { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 8px; }
	.ovfx [data-shelf="e"] .ovfx-shelf__set li:nth-child(3) { border-right: 0; }
}

/* --- F: Wychodzący z karty --------------------------------------------- */

.ovfx [data-shelf="f"] .ovfx-shelf__card {
	grid-template-columns: 44% minmax(0, 1fr);
	grid-template-rows: auto auto auto 1fr auto auto;
	grid-template-areas:
		"photo pills"
		"photo name"
		"photo today"
		"photo facts"
		"stats stats"
		"more more";
	gap: 14px 18px;
	margin-top: 70px;
	padding: 22px 0 20px;
	overflow: visible;
	border-top: 0;
	border-radius: 22px;
	background:
		radial-gradient(90% 90% at 20% 20%, color-mix(in srgb, var(--ovfx-accent) 75%, #fff 18%) 0%, transparent 60%),
		linear-gradient(140deg, var(--ovfx-accent) 0%, color-mix(in srgb, var(--ovfx-accent) 40%, #000) 100%);
}

.ovfx [data-shelf="f"] .ovfx-shelf__photo {
	align-self: stretch;
	aspect-ratio: auto;
	margin-top: -22px;
	margin-bottom: -40px;
	overflow: visible;
	background: none;
}

.ovfx [data-shelf="f"] .ovfx-shelf__photo.is-cutout .ovfx-shelf__img {
	width: calc(130% * var(--rs-img-s, 1));
	height: calc((100% + 92px) * var(--rs-img-s, 1));
	translate: calc(-50% + var(--rs-img-x, 0) * 1cqi) calc(var(--rs-img-y, 0) * 1cqi);
	filter: drop-shadow(0 14px 22px rgba(0, 0, 0, 0.45));
}

.ovfx [data-shelf="f"] .ovfx-shelf__bignum {
	top: calc(-56px + var(--rs-num-y, 0) * 1cqi);
	left: calc(54% + var(--rs-num-x, 0) * 1cqi);
	font-size: calc(70cqi * var(--rs-num-s, 1));
	-webkit-text-stroke: 2px rgba(255, 255, 255, 0.3);
}

.ovfx [data-shelf="f"] :is(.ovfx-shelf__pills, .ovfx-shelf__name, .ovfx-shelf__today, .ovfx-shelf__facts) { padding-right: 20px; }
.ovfx [data-shelf="f"] .ovfx-shelf__pills { padding-right: 46px; }
.ovfx [data-shelf="f"] .ovfx-shelf__pill { background: rgba(0, 0, 0, 0.3); }
.ovfx [data-shelf="f"] .ovfx-shelf__facts { grid-template-columns: minmax(0, 1fr); gap: 8px; border-top-color: rgba(255, 255, 255, 0.18); }
.ovfx [data-shelf="f"] .ovfx-shelf__facts dt { color: rgba(255, 255, 255, 0.65); }
.ovfx [data-shelf="f"] .ovfx-shelf__today li { background: rgba(0, 0, 0, 0.25); }
.ovfx [data-shelf="f"] .ovfx-shelf__stats { position: relative; z-index: 1; margin: 0 16px; padding: 12px; border-radius: 14px; background: rgba(0, 0, 0, 0.42); }
.ovfx [data-shelf="f"] .ovfx-shelf__stathead h4 { color: rgba(255, 255, 255, 0.7); }
.ovfx [data-shelf="f"] .ovfx-shelf__set { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.ovfx [data-shelf="f"] .ovfx-shelf__set li { padding: 6px 2px; background: none; }
.ovfx [data-shelf="f"] .ovfx-shelf__set span { color: rgba(255, 255, 255, 0.7); font-size: 0.6em; }
.ovfx [data-shelf="f"] .ovfx-shelf__more { margin-left: 16px; background: rgba(0, 0, 0, 0.3); }
.ovfx [data-shelf="f"] .ovfx-shelf__close { background: rgba(0, 0, 0, 0.3); }

@container ovfx-shelf (max-width: 440px) {
	.ovfx [data-shelf="f"] .ovfx-shelf__card {
		grid-template-columns: 42% minmax(0, 1fr);
		grid-template-rows: auto 1fr auto auto auto auto;
		grid-template-areas:
			"photo pills"
			"photo name"
			"today today"
			"facts facts"
			"stats stats"
			"more more";
		margin-top: 56px;
	}

	.ovfx [data-shelf="f"] .ovfx-shelf__photo { min-height: 170px; margin-bottom: 0; }
	.ovfx [data-shelf="f"] .ovfx-shelf__photo.is-cutout .ovfx-shelf__img { height: calc((100% + 70px) * var(--rs-img-s, 1)); }
	.ovfx [data-shelf="f"] .ovfx-shelf__name { flex-direction: column; align-items: flex-start; align-self: start; gap: 2px; font-size: 0.86em; }
	.ovfx [data-shelf="f"] .ovfx-shelf__last { font-size: 1.4em; overflow-wrap: normal; }
	.ovfx [data-shelf="f"] :is(.ovfx-shelf__today, .ovfx-shelf__facts) { margin: 0 18px; padding-right: 0; }
	.ovfx [data-shelf="f"] .ovfx-shelf__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ovfx [data-shelf="f"] .ovfx-shelf__set { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Figure sized to its whole box (taller-than-square photo boxes: G, H, J),
   the per-player shelf size would cut the head. */
.ovfx :is([data-shelf="g"], [data-shelf="h"], [data-shelf="j"]) .ovfx-shelf__photo.is-cutout .ovfx-shelf__img {
	width: calc(100% * var(--rs-img-s, 1));
	height: calc(100% * var(--rs-img-s, 1));
	translate: calc(-50% + var(--rs-img-x, 0) * 1cqi) calc(var(--rs-img-y, 0) * 1cqi);
}

/* --- G: Jasna karta (a light card on the dark page, photo right) ---------- */

.ovfx [data-shelf="g"] .ovfx-shelf__card {
	grid-template-columns: minmax(0, 1fr) 40%;
	grid-template-rows: auto auto auto 1fr auto auto auto;
	grid-template-areas:
		"pills photo"
		"name photo"
		"today photo"
		". photo"
		"facts facts"
		"stats stats"
		"more more";
	gap: 12px 18px;
	padding: 22px;
	background: #f3f3f0;
	color: #1b1c1d;
}

.ovfx [data-shelf="g"] .ovfx-shelf__photo {
	align-self: start;
	aspect-ratio: 3 / 4;
	border-radius: 12px;
}

.ovfx [data-shelf="g"] .ovfx-shelf__pills { padding-right: 0; }
.ovfx [data-shelf="g"] .ovfx-shelf__pill.is-muted { background: #e1e1dd; color: #4a4b4d; }
.ovfx [data-shelf="g"] .ovfx-shelf__name { flex-direction: column; align-items: flex-start; gap: 4px; color: #111; }
.ovfx [data-shelf="g"] .ovfx-shelf__num { color: var(--ovfx-accent); font-size: 2.6em; }
.ovfx [data-shelf="g"] .ovfx-shelf__first { color: #5b5c5e; }
.ovfx [data-shelf="g"] .ovfx-shelf__last { font-size: 1.9em; }
.ovfx [data-shelf="g"] :is(.ovfx-shelf__today h4, .ovfx-shelf__stathead h4, .ovfx-shelf__facts dt) { color: #6d6e70; }
.ovfx [data-shelf="g"] .ovfx-shelf__today li { background: #e6e6e2; color: #2a2b2c; }
.ovfx [data-shelf="g"] .ovfx-shelf__today li b { color: #111; }
.ovfx [data-shelf="g"] .ovfx-shelf__facts { border-top-color: #dcdcd8; }
.ovfx [data-shelf="g"] .ovfx-shelf__facts dd { color: #111; }
.ovfx [data-shelf="g"] .ovfx-shelf__facts small { color: #77787a; }
.ovfx [data-shelf="g"] .ovfx-shelf__tabs { background: #e3e3df; }
.ovfx [data-shelf="g"] .ovfx-shelf__tab { color: #555; }
.ovfx [data-shelf="g"] .ovfx-shelf__tab[aria-pressed="true"] { background: #111; color: #fff; }
.ovfx [data-shelf="g"] .ovfx-shelf__set li { background: #fff; box-shadow: inset 0 0 0 1px #e2e2de; }
.ovfx [data-shelf="g"] .ovfx-shelf__set b { color: #111; }
.ovfx [data-shelf="g"] .ovfx-shelf__set .is-goals b { color: var(--ovfx-accent); }
.ovfx [data-shelf="g"] .ovfx-shelf__set span { color: #6d6e70; }
.ovfx [data-shelf="g"] .ovfx-shelf__more { background: #111; color: #fff; }
.ovfx [data-shelf="g"] .ovfx-shelf__close { background: rgba(0, 0, 0, 0.35); color: #fff; }

@container ovfx-shelf (max-width: 440px) {
	.ovfx [data-shelf="g"] .ovfx-shelf__card {
		grid-template-columns: minmax(0, 1fr) 38%;
		grid-template-rows: auto 1fr auto auto auto auto;
		grid-template-areas:
			"pills photo"
			"name photo"
			"today today"
			"facts facts"
			"stats stats"
			"more more";
		padding: 18px;
	}

	.ovfx [data-shelf="g"] .ovfx-shelf__num { font-size: 2.1em; }
	.ovfx [data-shelf="g"] .ovfx-shelf__last { font-size: min(1.4em, 6cqi); overflow-wrap: normal; }
}

/* --- H: Grafika TV (a broadcast lower third) --------------------------------- */

.ovfx [data-shelf="h"] .ovfx-shelf__card {
	grid-template-columns: 40% minmax(0, 1fr);
	grid-template-rows: auto auto auto 1fr auto auto auto;
	grid-template-areas:
		"photo name"
		"photo pills"
		"photo today"
		"photo ."
		"stats stats"
		"facts facts"
		"more more";
	gap: 12px 0;
	padding: 0 0 18px;
	border-top: 0;
	border-radius: 4px;
	background: linear-gradient(180deg, #121314 0%, #0b0c0d 100%);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45), inset 0 -3px 0 var(--ovfx-accent);
}

.ovfx [data-shelf="h"] .ovfx-shelf__photo {
	align-self: stretch;
	min-height: 240px;
	aspect-ratio: auto;
	background: linear-gradient(160deg, color-mix(in srgb, var(--ovfx-accent) 80%, #fff 8%), color-mix(in srgb, var(--ovfx-accent) 50%, #000));
	clip-path: polygon(0 0, 100% 0, 84% 100%, 0 100%);
}

.ovfx [data-shelf="h"] .ovfx-shelf__bignum { display: none; }

.ovfx [data-shelf="h"] .ovfx-shelf__name {
	align-self: start;
	gap: 12px;
	margin: 22px 50px 0 -14px;
	padding: 10px 18px 10px 26px;
	background: var(--ovfx-accent);
	clip-path: polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
}

.ovfx [data-shelf="h"] .ovfx-shelf__num { font-size: 2.2em; }
.ovfx [data-shelf="h"] .ovfx-shelf__first { color: rgba(255, 255, 255, 0.85); font-size: 0.8em; letter-spacing: 0.08em; text-transform: uppercase; }
.ovfx [data-shelf="h"] .ovfx-shelf__last { font-size: min(1.5em, 4.3cqi); overflow-wrap: normal; }
.ovfx [data-shelf="h"] :is(.ovfx-shelf__pills, .ovfx-shelf__today) { padding: 0 20px 0 14px; }
.ovfx [data-shelf="h"] :is(.ovfx-shelf__pill, .ovfx-shelf__today li, .ovfx-shelf__tabs, .ovfx-shelf__tab, .ovfx-shelf__more, .ovfx-shelf__close) { border-radius: 2px; }
.ovfx [data-shelf="h"] .ovfx-shelf__pill { background: #1f2123; }
.ovfx [data-shelf="h"] .ovfx-shelf__pill.is-cap { background: #ffe066; }
.ovfx [data-shelf="h"] .ovfx-shelf__today li { background: #1f2123; }
.ovfx [data-shelf="h"] .ovfx-shelf__stats { margin: 0 16px; padding: 12px 14px; border-top: 3px solid var(--ovfx-accent); background: #16181a; }
.ovfx [data-shelf="h"] .ovfx-shelf__set { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; }
.ovfx [data-shelf="h"] .ovfx-shelf__set li { padding: 6px 2px; border-right: 1px solid rgba(255, 255, 255, 0.1); border-radius: 0; background: none; }
.ovfx [data-shelf="h"] .ovfx-shelf__set li:last-child { border-right: 0; }
.ovfx [data-shelf="h"] .ovfx-shelf__set b { font-size: 1.5em; }
.ovfx [data-shelf="h"] .ovfx-shelf__set span { font-size: 0.58em; letter-spacing: 0.06em; text-transform: uppercase; }
.ovfx [data-shelf="h"] .ovfx-shelf__facts { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 16px; padding-top: 10px; }
.ovfx [data-shelf="h"] .ovfx-shelf__facts div { display: flex; align-items: baseline; gap: 6px; }
.ovfx [data-shelf="h"] .ovfx-shelf__facts dt { margin: 0; }
.ovfx [data-shelf="h"] .ovfx-shelf__more { margin-left: 16px; background: var(--ovfx-accent); }

/* Phone: the photo on top, the name bar across its lower edge. */
@container ovfx-shelf (max-width: 440px) {
	.ovfx [data-shelf="h"] .ovfx-shelf__card {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
		grid-template-areas:
			"photo"
			"name"
			"pills"
			"today"
			"stats"
			"facts"
			"more";
	}

	.ovfx [data-shelf="h"] .ovfx-shelf__photo {
		min-height: 0;
		aspect-ratio: 16 / 10;
		clip-path: polygon(0 0, 100% 0, 100% 82%, 0 100%);
	}

	.ovfx [data-shelf="h"] .ovfx-shelf__name { position: relative; z-index: 1; justify-self: start; margin: -34px 24px 0 -2px; padding: 8px 22px 8px 18px; font-size: 0.86em; }
	.ovfx [data-shelf="h"] .ovfx-shelf__last { overflow-wrap: normal; }
	.ovfx [data-shelf="h"] :is(.ovfx-shelf__pills, .ovfx-shelf__today) { padding: 0 16px; }
	.ovfx [data-shelf="h"] .ovfx-shelf__set { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 8px; }
	.ovfx [data-shelf="h"] .ovfx-shelf__set li:nth-child(3) { border-right: 0; }
}

/* --- I: Liczby (the season in big numbers) ------------------------------ */

.ovfx [data-shelf="i"] .ovfx-shelf__card {
	grid-template-columns: minmax(0, 1fr) 114px;
	grid-template-areas:
		"name photo"
		"pills photo"
		"stats stats"
		"today today"
		"facts facts"
		"more more";
	gap: 14px 16px;
	padding: 20px;
}

.ovfx [data-shelf="i"] .ovfx-shelf__photo {
	align-self: start;
	justify-self: end;
	width: 84px;
	margin-right: 30px;
	aspect-ratio: 1;
	border-radius: 50%;
	box-shadow: 0 0 0 3px var(--ovfx-accent);
}

.ovfx [data-shelf="i"] .ovfx-shelf__photo .ovfx-shelf__img,
.ovfx [data-shelf="i"] .ovfx-shelf__photo.is-cutout .ovfx-shelf__img {
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--sx, 50%) var(--sy, 30%);
	translate: calc(var(--rs-img-x, 0) * 1cqi) calc(var(--rs-img-y, 0) * 1cqi);
	scale: calc(1.35 * var(--rs-img-s, 1));
	transform: none;
	transform-origin: var(--sx, 50%) var(--sy, 30%);
}

.ovfx [data-shelf="i"] .ovfx-shelf__bignum { display: none; }
.ovfx [data-shelf="i"] .ovfx-shelf__name { align-self: end; }
.ovfx [data-shelf="i"] .ovfx-shelf__num { font-size: 2.4em; }
.ovfx [data-shelf="i"] .ovfx-shelf__last { font-size: 1.7em; }
.ovfx [data-shelf="i"] .ovfx-shelf__pills { align-self: start; padding: 0; }
.ovfx [data-shelf="i"] .ovfx-shelf__stathead { margin-bottom: 12px; }
.ovfx [data-shelf="i"] .ovfx-shelf__set li { gap: 6px; padding: 18px 6px 14px; border-radius: 16px; }
.ovfx [data-shelf="i"] .ovfx-shelf__set b { font-size: 2.7em; font-weight: 900; letter-spacing: -0.02em; line-height: 1; }
.ovfx [data-shelf="i"] .ovfx-shelf__set span { font-size: 0.72em; }
.ovfx [data-shelf="i"] .ovfx-shelf__set .is-goals { background: var(--ovfx-accent); }
.ovfx [data-shelf="i"] .ovfx-shelf__set .is-goals b { color: #fff; }
.ovfx [data-shelf="i"] .ovfx-shelf__set .is-goals span { color: rgba(255, 255, 255, 0.85); }
.ovfx [data-shelf="i"] .ovfx-shelf__today { display: flex; align-items: center; gap: 10px; }
.ovfx [data-shelf="i"] .ovfx-shelf__today ul { margin: 0; }
.ovfx [data-shelf="i"] .ovfx-shelf__facts { display: flex; flex-wrap: wrap; gap: 6px 18px; padding-top: 10px; }
.ovfx [data-shelf="i"] .ovfx-shelf__facts div { display: flex; align-items: baseline; gap: 6px; }
.ovfx [data-shelf="i"] .ovfx-shelf__facts dt { margin: 0; }

@container ovfx-shelf (max-width: 440px) {
	.ovfx [data-shelf="i"] .ovfx-shelf__card { grid-template-columns: minmax(0, 1fr) 100px; padding: 18px; }
	.ovfx [data-shelf="i"] .ovfx-shelf__photo { width: 70px; }
	.ovfx [data-shelf="i"] .ovfx-shelf__name { flex-direction: column; align-items: flex-start; gap: 2px; }
	.ovfx [data-shelf="i"] .ovfx-shelf__num { font-size: 1.8em; }
	.ovfx [data-shelf="i"] .ovfx-shelf__last { font-size: 1.3em; overflow-wrap: normal; }
	.ovfx [data-shelf="i"] .ovfx-shelf__set b { font-size: 2.1em; }
	.ovfx [data-shelf="i"] .ovfx-shelf__today { display: block; }
	.ovfx [data-shelf="i"] .ovfx-shelf__today ul { margin-top: 8px; }
}

/* --- J: Ukośny (photo right behind a slanted edge, like the next-match band) -- */

.ovfx [data-shelf="j"] .ovfx-shelf__card {
	grid-template-columns: minmax(0, 1fr) 46%;
	grid-template-rows: auto auto auto 1fr auto auto;
	grid-template-areas:
		"pills photo"
		"name photo"
		"today photo"
		"facts photo"
		"stats stats"
		"more more";
	gap: 12px 0;
	padding: 0 0 20px;
	background: linear-gradient(115deg, #151617 0%, #151617 52%, color-mix(in srgb, var(--ovfx-accent) 35%, #0c0d0e) 100%);
}

.ovfx [data-shelf="j"] .ovfx-shelf__photo {
	align-self: stretch;
	min-height: 300px;
	aspect-ratio: auto;
	background: linear-gradient(200deg, color-mix(in srgb, var(--ovfx-accent) 75%, #fff 15%) 0%, var(--ovfx-accent) 45%, color-mix(in srgb, var(--ovfx-accent) 40%, #000) 100%);
	clip-path: polygon(24% 0, 100% 0, 100% 100%, 0 100%);
}

.ovfx [data-shelf="j"] .ovfx-shelf__photo.is-cutout .ovfx-shelf__img {
	translate: calc(-42% + var(--rs-img-x, 0) * 1cqi) calc(var(--rs-img-y, 0) * 1cqi);
}

.ovfx [data-shelf="j"] .ovfx-shelf__bignum { left: calc(58% + var(--rs-num-x, 0) * 1cqi); }
.ovfx [data-shelf="j"] :is(.ovfx-shelf__pills, .ovfx-shelf__name, .ovfx-shelf__today, .ovfx-shelf__facts) { padding-left: 20px; }
.ovfx [data-shelf="j"] .ovfx-shelf__pills { padding-top: 20px; padding-right: 0; }
.ovfx [data-shelf="j"] .ovfx-shelf__name { flex-direction: column; align-items: flex-start; gap: 2px; }
.ovfx [data-shelf="j"] .ovfx-shelf__num { font-size: 2.6em; }
.ovfx [data-shelf="j"] .ovfx-shelf__last { font-size: 1.8em; }
.ovfx [data-shelf="j"] .ovfx-shelf__facts { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.ovfx [data-shelf="j"] .ovfx-shelf__stats { margin: 0 20px; }
.ovfx [data-shelf="j"] .ovfx-shelf__set { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.ovfx [data-shelf="j"] .ovfx-shelf__set li { padding: 12px 2px 8px; border-radius: 0; background: rgba(255, 255, 255, 0.04); box-shadow: inset 0 3px 0 var(--ovfx-accent); }
.ovfx [data-shelf="j"] .ovfx-shelf__set span { font-size: 0.58em; }
.ovfx [data-shelf="j"] .ovfx-shelf__more { margin-left: 20px; }

@container ovfx-shelf (max-width: 440px) {
	.ovfx [data-shelf="j"] .ovfx-shelf__card {
		grid-template-columns: minmax(0, 1fr) 42%;
		grid-template-rows: auto 1fr auto auto auto auto;
		grid-template-areas:
			"pills photo"
			"name photo"
			"today today"
			"facts facts"
			"stats stats"
			"more more";
	}

	.ovfx [data-shelf="j"] .ovfx-shelf__photo { min-height: 190px; }
	.ovfx [data-shelf="j"] .ovfx-shelf__num { font-size: 2em; }
	.ovfx [data-shelf="j"] .ovfx-shelf__last { font-size: 1.35em; overflow-wrap: normal; }
	.ovfx [data-shelf="j"] :is(.ovfx-shelf__today, .ovfx-shelf__facts) { padding-right: 20px; }
	.ovfx [data-shelf="j"] .ovfx-shelf__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ovfx [data-shelf="j"] .ovfx-shelf__set { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* A player known from the lineup only (the opponent's, or the club's
   without a card): the club's crest where the photo is. The opponent's
   panel is grey, not in the club's colour. */
.ovfx .ovfx-shelf.is-opp {
	--ovfx-accent: #4a4e54;
}

.ovfx .ovfx-shelf__photo.is-crest .ovfx-shelf__img.ovfx-shelf__crest {
	position: absolute;
	inset: 0;
	width: 54%;
	height: 54%;
	margin: auto;
	object-fit: contain;
	object-position: 50% 50%;
	translate: none;
	scale: 1;
	transform: none;
	filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.35));
}

.ovfx .ovfx-shelf__photo.is-crest .ovfx-shelf__img.ovfx-shelf__crest.is-grey {
	filter: grayscale(1) brightness(1.15) drop-shadow(0 10px 22px rgba(0, 0, 0, 0.35));
}

.ovfx .ovfx-shelf__photo.is-crest .ovfx-shelf__crest.is-letter {
	display: grid;
	place-items: center;
	color: rgba(255, 255, 255, 0.9);
	font-size: 30cqi;
	font-weight: 900;
}

/* Round photo looks: the crest fills the circle a little more. */
.ovfx :is([data-shelf="e"], [data-shelf="i"]) .ovfx-shelf__photo.is-crest .ovfx-shelf__img.ovfx-shelf__crest {
	width: 64%;
	height: 64%;
	filter: none;
}

/* The poster: the crest low on the right, away from the name. */
.ovfx [data-shelf="d"] .ovfx-shelf__photo.is-crest .ovfx-shelf__img.ovfx-shelf__crest {
	inset: auto 6% 12% auto;
	width: 40%;
	height: 46%;
}

/* Popping out of the card: the crest stays in it. */
.ovfx [data-shelf="f"] .ovfx-shelf__photo.is-crest {
	margin-bottom: 0;
}

/* The notch only where the card spans the column (C is a narrow card in the
   middle, F starts lower). */
.ovfx [data-shelf="c"] .ovfx-shelf::before,
.ovfx [data-shelf="f"] .ovfx-shelf::before {
	display: none;
}

/* The formation on a half pitch, goalkeeper at the bottom. */
.ovfx .ovfx-pitch {
	margin: 0 0 4px;
}

.ovfx .ovfx-pitch__field {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 14px;
	/* As many lines as the fuller formation of the two: both pitches the same height. */
	min-height: calc(var(--lines, 5) * 100px + 56px);
	padding: 26px 6px 30px;
	overflow: hidden;
	border: 2px solid rgba(255, 255, 255, 0.2);
	border-radius: 14px;
	background:
		radial-gradient(circle at 50% 0, transparent 52px, rgba(255, 255, 255, 0.2) 53px, rgba(255, 255, 255, 0.2) 55px, transparent 56px),
		repeating-linear-gradient(180deg, #1a6a42 0 46px, #165f3b 46px 92px);
}

/* Penalty area and goal area at the bottom. */
.ovfx .ovfx-pitch__field::before,
.ovfx .ovfx-pitch__field::after {
	content: "";
	position: absolute;
	bottom: -2px;
	border: 2px solid rgba(255, 255, 255, 0.2);
	border-bottom: 0;
	pointer-events: none;
}

.ovfx .ovfx-pitch__field::before {
	left: 20%;
	right: 20%;
	height: 17%;
}

.ovfx .ovfx-pitch__field::after {
	left: 37%;
	right: 37%;
	height: 7%;
}

.ovfx .ovfx-pitch__row {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: space-around;
	gap: 4px;
}

.ovfx .ovfx-pitch__p {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	min-width: 0;
	max-width: 96px;
	color: #fff;
	text-align: center;
	text-decoration: none;
}

/* A club player opening his shelf (a link without the script). */
.ovfx button.ovfx-pitch__p,
.ovfx button.ovfx-lu__link {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: inherit;
	font: inherit;
	text-align: inherit;
	text-transform: none;
	letter-spacing: normal;
	cursor: pointer;
}

.ovfx button.ovfx-pitch__p {
	color: #fff;
	text-align: center;
}

.ovfx .ovfx-pitch__p.is-link {
	cursor: pointer;
}

.ovfx .ovfx-pitch__p.is-link .ovfx-av {
	transition: transform 0.15s, box-shadow 0.15s;
}

.ovfx .ovfx-pitch__p.is-link:hover .ovfx-av,
.ovfx .ovfx-pitch__p.is-link:focus-visible .ovfx-av,
.ovfx .ovfx-pitch__p[aria-expanded="true"] .ovfx-av {
	box-shadow: 0 0 0 3px var(--tk-live, #ffcc00);
	transform: scale(1.08);
}

.ovfx .ovfx-pitch__p.is-link:focus-visible {
	outline: 0;
}

.ovfx .ovfx-pitch__name {
	max-width: 100%;
	font-size: 0.72em;
	font-weight: 700;
	line-height: 1.15;
	overflow-wrap: anywhere;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
}

.ovfx .ovfx-pitch__name b {
	color: #ffe066;
}

.ovfx .ovfx-pitch__p.is-captain .ovfx-pitch__name::after {
	content: " (C)";
	color: #ffe066;
}

.ovfx .ovfx-pitch__marks {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 3px 5px;
}

.ovfx .ovfx-pitch__marks .ovfx-lu__ev {
	color: #fff;
	font-size: 0.68em;
	font-weight: 700;
}

.ovfx .ovfx-pitch__marks .ovfx-lu__ev.is-off {
	color: #ffb3ad;
}

.ovfx .ovfx-pitch__marks .ovfx-goals__ball {
	width: 12px;
	height: 12px;
}

.ovfx .ovfx-pitch__marks .ovfx-ev__card {
	width: 8px;
	height: 11px;
}

.ovfx .ovfx-lu__tag {
	display: inline-block;
	margin-left: 4px;
	padding: 0 5px;
	border-radius: 4px;
	background: var(--room-line);
	color: #c5c5c5;
	font-size: 0.72em;
	font-weight: 800;
	text-decoration: none;
	vertical-align: 0.1em;
}

.ovfx .ovfx-lu__marks {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 6px;
}

.ovfx .ovfx-lu__ev {
	display: inline-flex;
	align-items: center;
	color: var(--room-mute);
	font-size: 0.8em;
	white-space: nowrap;
}

.ovfx .ovfx-lu__ev .ovfx-goals__ball {
	width: 14px;
	height: 14px;
}

.ovfx .ovfx-lu__ev.is-off {
	color: #ff7a70;
}

.ovfx .ovfx-lu__ev.is-on {
	color: #5fd986;
}

.ovfx .ovfx-lu__coach {
	margin: 14px 0 0;
	color: #c5c5c5;
	font-size: 0.88em;
}

.ovfx .ovfx-lu__coach span {
	margin-right: 6px;
	color: var(--room-mute);
	font-size: 0.86em;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* Statystyki */
.ovfx .ovfx-st__periods {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	margin: 0 0 16px;
}

.ovfx .ovfx-st__period {
	padding: 6px 14px;
	border: 0;
	border-radius: 100px;
	background: var(--room-line);
	color: #c5c5c5;
	font: inherit;
	font-size: 0.78em;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
}

.ovfx .ovfx-st__period[aria-pressed="true"] {
	background: var(--ovfx-accent);
	color: #fff;
}

.ovfx .ovfx-st__teams {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 6px;
	color: #fff;
	font-size: 0.82em;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.ovfx .ovfx-st__teams span:last-child {
	text-align: right;
}

.ovfx .ovfx-st__group {
	margin: 18px 0 4px;
	color: var(--room-mute);
	font-size: 0.72em;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-align: center;
	text-transform: uppercase;
}

.ovfx .ovfx-st__row {
	display: grid;
	grid-template-columns: 4.5em minmax(0, 1fr) 4.5em;
	align-items: center;
	row-gap: 5px;
	padding: 7px 0;
	font-size: 0.92em;
}

.ovfx .ovfx-st__h,
.ovfx .ovfx-st__a {
	color: #c5c5c5;
	font-weight: 700;
}

.ovfx .ovfx-st__a {
	text-align: right;
}

.ovfx .ovfx-st__row.is-home-more .ovfx-st__h,
.ovfx .ovfx-st__row.is-away-more .ovfx-st__a {
	color: #fff;
	font-weight: 900;
}

.ovfx .ovfx-st__name {
	color: #c5c5c5;
	text-align: center;
}

.ovfx .ovfx-st__bar {
	grid-column: 1 / -1;
	position: relative;
	height: 6px;
	overflow: hidden;
	border-radius: 100px;
	background: #4a4b4e;
}

.ovfx .ovfx-st__bar span {
	position: absolute;
	inset: 0 auto 0 0;
	width: var(--h, 50%);
	border-radius: 100px 0 0 100px;
	background: var(--ovfx-accent);
}

/* Relacja: the club's entries, newest first, then the post's text (or the
   other way round outside the match). */
.ovfx .ovfx-live {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ovfx .ovfx-live__item {
	display: grid;
	grid-template-columns: 54px 30px minmax(0, 1fr);
	align-items: start;
	gap: 12px;
	margin: 0;
	padding: 14px 0;
	border-bottom: 1px solid var(--room-line, #2c2d2f);
}

.ovfx .ovfx-live__item:last-child {
	border-bottom: 0;
}

.ovfx .ovfx-live__min {
	justify-self: center;
	min-width: 44px;
	padding: 3px 6px;
	border-radius: 100px;
	background: var(--room-line, #2c2d2f);
	color: #fff;
	font-size: 0.82em;
	font-weight: 800;
	text-align: center;
}

.ovfx .ovfx-live__icon {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--room-line, #2c2d2f);
	color: #c5c5c5;
}

.ovfx .ovfx-live__icon svg,
.ovfx .ovfx-live__icon .ovfx-goals__ball {
	width: 16px;
	height: 16px;
}

.ovfx .ovfx-live__item.is-goal .ovfx-live__icon {
	background: var(--ovfx-accent);
}

.ovfx .ovfx-live__item.is-important .ovfx-live__icon {
	background: #f5c400;
	color: #161617;
}

.ovfx .ovfx-live__item.is-goal .ovfx-live__body {
	color: #fff;
	font-weight: 700;
}

.ovfx .ovfx-live__body {
	min-width: 0;
	color: #e1e1e2;
	line-height: 1.55;
}

.ovfx .ovfx-live__body p {
	margin: 0 0 8px;
}

.ovfx .ovfx-live__body p:last-child {
	margin-bottom: 0;
}

.ovfx .ovfx-live__body a {
	color: color-mix(in srgb, var(--ovfx-accent) 65%, #fff);
}

.ovfx .ovfx-live__img {
	display: block;
	width: 100%;
	max-width: 640px;
	height: auto;
	margin-top: 10px;
	border-radius: 12px;
	opacity: 1 !important;
}

.ovfx .ovfx-room__article {
	max-width: 780px;
	margin: 0 auto;
	color: #e1e1e2;
	line-height: 1.65;
}

.ovfx .ovfx-room__article + .ovfx-live,
.ovfx .ovfx-live + .ovfx-room__article {
	margin-top: 22px;
	padding-top: 22px;
	border-top: 1px solid var(--room-line);
}

/* Coverage entries with players (Overlia Players photos): a goal card, a
   substitution (off and on), a card, or the player with the text. */
.ovfx .ovfx-live__body > .ovfx-lc {
	margin-bottom: 10px;
}

.ovfx .ovfx-live__body > .ovfx-lc:last-child {
	margin-bottom: 0;
}

.ovfx .ovfx-lc {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 14px;
	border-radius: 14px;
	background: var(--room-line, #2c2d2f);
	color: #fff;
	font-weight: 400;
}

.ovfx .ovfx-lc .ovfx-av {
	width: 48px;
	height: 48px;
}

.ovfx .ovfx-lc__person.is-club .ovfx-av,
.ovfx .ovfx-lc--goal.is-club .ovfx-av {
	background: radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--ovfx-accent) 75%, #fff) 0%, var(--ovfx-accent) 45%, color-mix(in srgb, var(--ovfx-accent) 45%, #000) 100%);
}

.ovfx .ovfx-lc--goal {
	padding: 14px 18px;
	background: radial-gradient(130% 170% at 0% 50%, color-mix(in srgb, var(--ovfx-accent) 78%, #fff) 0%, var(--ovfx-accent) 45%, color-mix(in srgb, var(--ovfx-accent) 55%, #000) 100%);
}

.ovfx .ovfx-lc--goal.is-opp {
	background: linear-gradient(120deg, #3c3d40, #252629);
}

.ovfx .ovfx-lc--goal .ovfx-av {
	width: 70px;
	height: 70px;
	border-width: 3px;
}

.ovfx .ovfx-lc__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.ovfx .ovfx-lc__kicker {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.74em;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ovfx .ovfx-lc__kicker b {
	color: #fff;
	font-size: 1.3em;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.ovfx .ovfx-lc__kicker .ovfx-crest {
	width: 20px;
	height: 20px;
}

.ovfx .ovfx-lc__name {
	color: #fff;
	font-size: 1.32em;
	font-weight: 900;
	line-height: 1.1;
	text-transform: uppercase;
}

.ovfx .ovfx-lc__meta {
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.86em;
}

.ovfx .ovfx-lc__score {
	flex: 0 0 auto;
	padding: 6px 14px;
	border-radius: 100px;
	background: rgba(0, 0, 0, 0.28);
	color: #fff;
	font-size: 1.5em;
	font-weight: 900;
	white-space: nowrap;
}

.ovfx .ovfx-lc__person {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.ovfx .ovfx-lc__who {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.25;
}

.ovfx .ovfx-lc__who strong {
	color: #fff;
	font-weight: 800;
}

.ovfx .ovfx-lc__who small {
	color: var(--room-mute, #8f9094);
	font-size: 0.8em;
}

.ovfx .ovfx-lc__note {
	color: #c5c5c5;
	font-size: 0.72em;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ovfx .ovfx-lc__note .is-off {
	color: #ff7a70;
}

.ovfx .ovfx-lc__note .is-on {
	color: #5fd986;
}

.ovfx .ovfx-lc--sub {
	flex-wrap: wrap;
	justify-content: space-between;
}

.ovfx .ovfx-lc--sub .ovfx-lc__person {
	flex: 1 1 180px;
}

.ovfx .ovfx-lc--sub .ovfx-lc__person + .ovfx-lc__swap + .ovfx-lc__person {
	justify-content: flex-end;
	text-align: right;
	flex-direction: row-reverse;
}

.ovfx .ovfx-lc__swap {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.3);
}

.ovfx .ovfx-lc__swap svg {
	width: 20px;
	height: 20px;
}

.ovfx .ovfx-lc--card {
	justify-content: space-between;
}

.ovfx .ovfx-lc__card {
	flex: 0 0 auto;
	width: 22px;
	height: 30px;
	margin-right: 6px;
	border-radius: 4px;
	background: #f5c400;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.35);
	transform: rotate(8deg);
}

.ovfx .ovfx-lc--card.is-red .ovfx-lc__card {
	background: #e0322b;
}

/* Match facts at the top of the match page, above the band: tiles with an icon, a label and the value. */
/* Tiles grow to fill their row: no gap at the end of a row. */
.ovfx .ovfx-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 16px;
}

.ovfx .ovfx-facts__tile {
	flex: 1 1 190px;
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	padding: 12px 14px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.04);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
}

.ovfx .ovfx-facts__icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--ovfx-accent) 30%, transparent);
	color: #3ecf8e;
}

.ovfx .ovfx-facts__icon svg {
	width: 18px;
	height: 18px;
}

.ovfx .ovfx-facts__text {
	display: grid;
	flex: 1 1 auto;
	gap: 3px;
	min-width: 0;
}

.ovfx .ovfx-facts__text small {
	color: var(--room-mute, #8f9094);
	font-size: 0.68em;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ovfx .ovfx-facts__text b {
	color: #fff;
	font-size: 0.9em;
	font-weight: 700;
	line-height: 1.25;
}

.ovfx .ovfx-facts__tile.is-when b::first-letter {
	text-transform: uppercase;
}

.ovfx .ovfx-facts__bar {
	display: block;
	height: 4px;
	margin-top: 3px;
	overflow: hidden;
	border-radius: 2px;
	background: rgba(255, 255, 255, 0.1);
}

.ovfx .ovfx-facts__bar i {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: #3ecf8e;
}

@container ovfx (max-width: 620px) {
	.ovfx .ovfx-room__panel {
		padding: 16px 12px;
		border-radius: 14px;
	}

	.ovfx .ovfx-ev {
		grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
		column-gap: 6px;
		font-size: 0.84em;
	}

	/* Icon beside the name, a goal's score under it: the name gets the
	   side's whole width and is not broken inside a word. */
	.ovfx .ovfx-ev__side {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		gap: 4px 6px;
	}

	.ovfx .ovfx-ev.is-home .ovfx-ev__side {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.ovfx .ovfx-ev__icon {
		grid-row: 1;
		grid-column: 1;
	}

	.ovfx .ovfx-ev__text {
		grid-row: 1;
		grid-column: 2;
	}

	.ovfx .ovfx-ev__score {
		grid-row: 2;
		grid-column: 2;
		justify-self: start;
	}

	.ovfx .ovfx-ev.is-home .ovfx-ev__icon {
		grid-column: 2;
	}

	.ovfx .ovfx-ev.is-home .ovfx-ev__text,
	.ovfx .ovfx-ev.is-home .ovfx-ev__score {
		grid-column: 1;
		justify-self: end;
	}

	.ovfx .ovfx-ev__min {
		min-width: 38px;
	}

	.ovfx .ovfx-lu {
		grid-template-columns: 1fr;
	}

	.ovfx .ovfx-pitch__field {
		min-height: calc(var(--lines, 5) * 88px + 56px);
	}

	.ovfx .ovfx-pitch .ovfx-av {
		width: 40px;
		height: 40px;
	}

	.ovfx .ovfx-live__item {
		grid-template-columns: 46px 28px minmax(0, 1fr);
		gap: 8px;
	}

	/* An entry with a player card: minute and icon on top, the card and
	   the text below across the whole width. */
	.ovfx .ovfx-live__item.has-card .ovfx-live__body {
		grid-column: 1 / -1;
	}

	/* Goal: photo beside name and assist, the score under them. */
	.ovfx .ovfx-lc--goal {
		display: grid;
		grid-template-areas: "av body" "av score";
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		gap: 6px 12px;
		padding: 12px 14px;
	}

	.ovfx .ovfx-lc--goal > .ovfx-av {
		grid-area: av;
	}

	.ovfx .ovfx-lc--goal .ovfx-lc__body {
		grid-area: body;
	}

	.ovfx .ovfx-lc--goal .ovfx-lc__score {
		grid-area: score;
		justify-self: start;
	}

	.ovfx .ovfx-lc--goal .ovfx-av {
		width: 56px;
		height: 56px;
	}

	.ovfx .ovfx-lc__name {
		font-size: 1.12em;
	}

	.ovfx .ovfx-lc__score {
		font-size: 1.25em;
	}

	.ovfx .ovfx-lc--sub .ovfx-lc__person + .ovfx-lc__swap + .ovfx-lc__person {
		flex-direction: row;
		justify-content: flex-start;
		text-align: left;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ovfx-mc.is-live .ovfx-mc__kind::before,
	.ovfx .ovfx-tk .ovfx-tk__livetag::before {
		animation: none;
	}

	.ovfx-count {
		transition: none;
	}
}

/* The club's Terminarz has a date column, so it needs more room side by side:
   below 620 px its rows stack (date line, home over away, score right). */
@container ovfx (max-width: 620px) {
	.ovfx .ovfx-list--club .ovfx-m,
	.ovfx[data-ovfx-style="club"] .ovfx-list--club .ovfx-m {
		grid-template-columns: minmax(0, 1fr) auto 26px;
		grid-template-areas: "when when when" "home mid res" "away mid res" "info info info";
		gap: 4px 10px;
	}

	.ovfx .ovfx-list--club .ovfx-m__when {
		grid-area: when;
		flex-direction: row;
		gap: 8px;
		margin-bottom: 2px;
	}

	.ovfx .ovfx-list--club .ovfx-m__round {
		display: inline;
	}

	.ovfx .ovfx-list--club .ovfx-m__team--home {
		grid-area: home;
		flex-direction: row-reverse;
		justify-content: flex-end;
		text-align: left;
	}

	.ovfx .ovfx-list--club .ovfx-m__team--away {
		grid-area: away;
	}

	.ovfx .ovfx-list--club .ovfx-m__mid {
		grid-area: mid;
	}

	.ovfx .ovfx-list--club .ovfx-m__res {
		grid-area: res;
	}

	.ovfx .ovfx-list--club .ovfx-m__info {
		grid-area: info;
		text-align: left;
	}

	.ovfx .ovfx-list--club .ovfx-name__full {
		display: inline;
	}

	.ovfx .ovfx-list--club .ovfx-name__short {
		display: none;
	}
}

/* Phones (both styles, so it comes last): each row shows home above away
   with the score on the right, so full names fit instead of "PODBESKI…". */
@container ovfx (max-width: 440px) {
	.ovfx .ovfx-m,
	.ovfx[data-ovfx-style="club"] .ovfx-m {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas: "home mid" "away mid" "info info";
		gap: 4px 8px;
		padding-right: 10px;
		padding-left: 10px;
	}

	/* The club's list: date and round on a line of their own above the match. */
	.ovfx .ovfx-list--club .ovfx-m,
	.ovfx[data-ovfx-style="club"] .ovfx-list--club .ovfx-m {
		grid-template-columns: minmax(0, 1fr) auto 24px;
		grid-template-areas: "when when when" "home mid res" "away mid res" "info info info";
	}

	.ovfx .ovfx-list--club .ovfx-m__when {
		flex-direction: row;
		gap: 8px;
		margin-bottom: 2px;
	}

	.ovfx .ovfx-list--club .ovfx-m__round {
		display: inline;
	}

	.ovfx-m__team--home {
		grid-area: home;
		flex-direction: row-reverse;
		justify-content: flex-end;
		text-align: left;
	}

	.ovfx-m__team--away {
		grid-area: away;
	}

	/* A touch smaller, so "PUSZCZA NIEPOŁOMICE" fits in bold as well
	   (three classes, to come after the club style's 0.95em). */
	.ovfx .ovfx-m .ovfx-m__team {
		font-size: 0.87em;
	}

	.ovfx-m__mid {
		grid-area: mid;
	}

	.ovfx-m__when {
		grid-area: when;
	}

	.ovfx .ovfx-m__res {
		grid-area: res;
	}

	.ovfx .ovfx-m__info,
	.ovfx .ovfx-list--club .ovfx-m__info {
		grid-area: info;
		text-align: left;
	}

	.ovfx .ovfx-name__full {
		display: inline;
	}

	.ovfx .ovfx-name__short {
		display: none;
	}
}

@keyframes ovfx-pulse {
	50% {
		opacity: 0.35;
	}
}

/* The room's own page (templates/single-ovfx-match.php): the content width,
   no sidebar; the band says what the match is, so the title is for screen
   readers and search engines only. */
.ovfx-room-page {
	box-sizing: border-box;
	width: 100%;
	max-width: 1170px;
	margin: 0 auto;
	padding: 28px 16px 56px;
}

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