/* 0.1.139: shared wordmarks, optical sizes and scoped brand card surfaces. */
.operator-mark.operator-mark--full {
	--logo-max-width: 180px;
	--logo-max-height: 44px;
	display: flex;
	align-items: center;
	width: min(var(--logo-max-width), 100%);
	max-width: 100%;
	min-width: 0;
	min-height: var(--logo-max-height);
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}
.operator-mark--full .operator-logo {
	display: block;
	position: relative;
	width: min(100%, calc(var(--logo-max-height) * var(--logo-ratio)));
	aspect-ratio: var(--logo-ratio);
	overflow: hidden;
	flex: 0 1 auto;
	transform: scale(.85);
	transform-origin: left center;
	padding: 0;
	border: 0;
	background: none;
}
/* Relative to the current .85 scale: paf -20%, kanuuna +20%. */
.operator-mark--full[data-operator="paf"] .operator-logo { transform: scale(.68); }
.operator-mark--full[data-operator="kanuuna"] .operator-logo { transform: scale(1.02); }
/* 0.1.139 optical adjustments relative to the previous live size. */
.operator-mark--full[data-operator="optibet"] .operator-logo { transform: scale(.765); }
.operator-mark--full[data-operator="chanz"] .operator-logo { transform: scale(.7225); }
.operator-mark--full[data-operator="boost"] .operator-logo { transform: scale(.765); }
.operator-mark--full[data-operator="vivatbet"] .operator-logo { transform: scale(.765); }
.operator-mark--full[data-operator="tonybet"] .operator-logo { transform: scale(.765); }
.operator-mark--full[data-operator="winz"] .operator-logo { transform: scale(.7225); }
/* OlyBet: another +10% from .935; retain the empty left export padding trim.
 * 23% of 240 = 55.2 units; every artwork control point lies to its right.
 * Keep the layout slot, aspect ratio, vertical centring and source paths intact. */
.operator-mark--full[data-operator="olybet"] .operator-logo { transform: scale(1.0285); }
.operator-mark--full[data-operator="olybet"] .operator-logo__asset { --logo-image-left: -23%; }
.operator-mark--full .operator-logo__asset {
	display: block;
	position: absolute;
	width: var(--logo-image-width);
	height: var(--logo-image-height);
	max-width: none;
	max-height: none;
	left: var(--logo-image-left);
	top: var(--logo-image-top);
	margin: 0;
	padding: 0;
	border: 0;
	object-fit: fill;
	transform: none;
}
.operator-mark--full .operator-logo__asset--light { display: none; }
html[data-taring-theme="light"] .operator-mark--full .operator-logo__asset--dark { display: none; }
html[data-taring-theme="light"] .operator-mark--full .operator-logo__asset--light { display: block; }
/* These surfaces intentionally stay dark even when the page is light. */
html[data-taring-theme="light"] :is(.site-header,.site-footer,.campaign-detail .detail-summary-card,[data-logo-surface="dark"]) .operator-logo__asset--dark { display: block; }
html[data-taring-theme="light"] :is(.site-header,.site-footer,.campaign-detail .detail-summary-card,[data-logo-surface="dark"]) .operator-logo__asset--light { display: none; }
.operator-detail-heading .operator-mark--full { --logo-max-width: 240px; --logo-max-height: 60px; }
.tr-ui :is(.tr-card--campaign,.tr-card--welcome) .tr-card__header:has(.tr-score-chip) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: 10px;
}
.tr-ui .tr-card__identity { min-width: 0; max-width: 100%; }
.tr-ui .tr-card__identity .operator-mark--full { margin-bottom: 9px; }
/* Desktop list rows have a narrow identity rail: keep its original stacked layout. */
@media (min-width: 901px) {
	.tr-ui .registry-list .tr-card--row > .tr-card__header:has(.tr-score-chip) { display: flex; flex-direction: column; }
	.tr-ui .registry-list .tr-card--row .tr-card__identity { width: 100%; }
}
.en-card__top { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
.en-card__top > div:first-child { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; gap: 8px; }
.en-card__top .operator-mark--full { flex: none; }
/* Brand-specific surfaces are keyed to Core identity, never rotation or score.
 * OlyBet CVI: solid blue #001B4E behind the negative mark; red on white.
 * The logo SVGs have no background, border or effects; card padding provides spacing. */
html:not([data-taring-theme="light"]) .tr-ui .tr-card:has(> .tr-card__header [data-operator="olybet"]),
html:not([data-taring-theme="light"]) .en-card:has(> .en-card__top [data-operator="olybet"]) {
	--tr-card-tint: 0, 96, 175;
	--tr-card-base: #092c5e;
	background: #092c5e;
	border-color: #2c5484;
}
html:not([data-taring-theme="light"]) .tr-ui .tr-card > .tr-card__header:has([data-operator="olybet"]),
html:not([data-taring-theme="light"]) .en-card > .en-card__top:has([data-operator="olybet"]) {
	background: #001b4e;
	border-color: #2c5484;
}
html[data-taring-theme="light"] .tr-ui .tr-card:has(> .tr-card__header [data-operator="olybet"]),
html[data-taring-theme="light"] .en-card:has(> .en-card__top [data-operator="olybet"]) {
	--tr-card-tint: 0, 96, 175;
	background: #f7faff;
	border-color: #cbd9eb;
}
html[data-taring-theme="light"] .tr-ui .tr-card > .tr-card__header:has([data-operator="olybet"]),
html[data-taring-theme="light"] .en-card > .en-card__top:has([data-operator="olybet"]) {
	background: #fff;
	border-color: #dbe3ed;
}
/* Rating is a dark, readable inset in both colour modes. */
html[data-taring-theme="light"] .tr-ui .tr-score-chip,
html[data-taring-theme="light"] .en-card__score {
	color: #e9f2fa;
	border-color: #34586b;
	background: linear-gradient(145deg, #14374a, #071827);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
html[data-taring-theme="light"] .tr-ui .tr-score-chip__label,
html[data-taring-theme="light"] .en-card__score small { color: #d7e6ef; }
html[data-taring-theme="light"] .tr-ui .tr-score-chip__maximum,
html[data-taring-theme="light"] .en-card__score span { color: #9fbed4; }
html[data-taring-theme="light"] .tr-ui .tr-score-chip__segment { background: #284356; }
html[data-taring-theme="light"] .tr-ui .tr-score-chip__segment.is-active { background: var(--tr-segment-color); }
html[data-taring-theme="light"] .tr-ui :is(.tr-score-chip--level-0,.tr-score-chip--level-1) { --tr-score-color: #f0787f; }
html[data-taring-theme="light"] .tr-ui :is(.tr-score-chip--level-2,.tr-score-chip--level-3) { --tr-score-color: #ed896b; }
html[data-taring-theme="light"] .tr-ui :is(.tr-score-chip--level-4,.tr-score-chip--level-5) { --tr-score-color: #e6ad58; }
html[data-taring-theme="light"] .tr-ui .tr-score-chip--level-6 { --tr-score-color: #c6d45e; }
html[data-taring-theme="light"] .tr-ui .tr-score-chip--level-7 { --tr-score-color: #82d45d; }
html[data-taring-theme="light"] .tr-ui :is(.tr-score-chip--level-8,.tr-score-chip--level-9,.tr-score-chip--level-10) { --tr-score-color: #50e176; }
html[data-taring-theme="light"] .en-card__score strong { color: #50e176; }
/* The analytical action, not the affiliate action, gets the solid fill. */
html[data-taring-theme="light"] .tr-ui :is(.tr-card--campaign,.tr-card--welcome) .tr-detail-link--card-action,
html[data-taring-theme="light"] .en-card__actions .button--secondary {
	color: #fff;
	border-color: #007454;
	background: linear-gradient(180deg, #008563, #006e52);
}
html[data-taring-theme="light"] .tr-ui :is(.tr-card--campaign,.tr-card--welcome) .tr-detail-link--card-action:hover,
html[data-taring-theme="light"] .en-card__actions .button--secondary:hover { color: #fff; border-color: #005f47; background: #005f47; }
html[data-taring-theme="light"] .tr-ui .tr-detail-link--card-action .tr-action-icon { color: #fff; }
@media (max-width: 380px) {
	.operator-mark.operator-mark--full { --logo-max-height: 38px; }
}
@media (max-width: 480px) {
	.en-card__score { padding: .35rem .45rem; }
	.en-card__score small { font-size: .56rem; margin-right: .35rem; }
	.en-card__score strong { font-size: 1.3rem; }
	.en-card__score span { font-size: .65rem; }
}
