/**
 * BTS Universal Market Timer
 * v0.1.70 — data minimization + canonical BTS color ownership
 */

.bts-umt {
	--umt-navy: var(--bts-navy);
	--umt-gold: var(--bts-gold);
	--umt-white: var(--bts-white);
	--umt-dark-gray: var(--bts-dark-gray);
	--umt-mid-gray: var(--bts-mid-gray);
	--umt-secondary-teal: var(--bts-teal);
	--umt-rust: var(--bts-rust);
	--umt-secondary-slate: var(--bts-slate);
	--umt-grid-light-gray: var(--bts-table-border);
	--umt-signal-red: var(--bts-red);
	--umt-signal-green: var(--bts-green);

	--umt-ink: var(--umt-dark-gray);
	--umt-muted: var(--umt-mid-gray);
	--umt-soft: var(--umt-mid-gray);
	--umt-rule: var(--umt-grid-light-gray);
	--umt-rule-strong: var(--umt-dark-gray);
	--umt-up: var(--umt-rust);
	--umt-down: var(--umt-secondary-teal);
	--umt-buy: var(--umt-signal-green);
	--umt-sell: var(--umt-signal-red);
	--umt-bar-off: var(--umt-grid-light-gray);

	--umt-type-xs: 12px;
	--umt-type-sm: 13px;
	--umt-type-body: 15px;
	--umt-type-body-lg: 16px;
	--umt-type-heading-sm: 17px;
	--umt-type-heading: 22px;
	--umt-type-title: 28px;
	--umt-content-inset: clamp(16px, 2.4%, 24px);

	color: var(--umt-ink);
	font-family: inherit;
	line-height: 1.35;
	margin: 0 auto;
	max-width: 1600px;
}

.bts-umt *,
.bts-umt *::before,
.bts-umt *::after {
	box-sizing: border-box;
}


/* ------------------------------------------------------------------
 * UMT INTERACTIONS ARE ALWAYS INSTANTANEOUS
 * Overrides theme-level button/input transitions as well as plugin rules.
 * ------------------------------------------------------------------ */
.bts-umt :is(button, input, select, textarea),
.bts-umt :is(button, input, select, textarea)::before,
.bts-umt :is(button, input, select, textarea)::after,
.bts-umt__mode-switch,
.bts-umt__mode-switch-thumb,
.bts-umt__history-control input[type="range"]::-webkit-slider-thumb,
.bts-umt__history-control input[type="range"]::-webkit-slider-runnable-track,
.bts-umt__history-control input[type="range"]::-moz-range-thumb,
.bts-umt__history-control input[type="range"]::-moz-range-track {
	animation: none !important;
	transition: none !important;
}

.bts-umt__status,
.bts-umt__history-status {
	color: var(--umt-muted);
	font-size: 14px;
	margin: 12px 0;
}

.bts-umt__status.is-error,
.bts-umt__history-status.is-error {
	color: var(--umt-rust);
	font-weight: 700;
}



.bts-umt__history-status.is-error {
	color: inherit;
	font-weight: 400;
}

.bts-umt__history-error-primary,
.bts-umt__history-error-secondary {
	display: block;
}

.bts-umt__history-error-primary {
	color: var(--umt-signal-red);
	font-weight: 700;
}

.bts-umt__history-error-secondary {
	color: var(--umt-secondary-slate);
	font-weight: 400;
	margin-top: 3px;
}

.bts-umt__history-entitlement {
	color: var(--umt-ink);
	font-weight: 400;
}


.bts-umt__sr-only {
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

.bts-umt__timer {
	background: transparent;
	border: 0;
	padding: 0;
}

/* ------------------------------------------------------------------
 * UPDATED STRIP
 * ------------------------------------------------------------------ */

.bts-umt__updated-strip {
	align-items: center;
	color: var(--umt-secondary-slate);
	background: transparent;
	border: 0;
	display: flex;
	font-size: 15px;
	gap: 5px;
	line-height: 1.15;
	min-height: 30px;
	padding: 0 var(--umt-content-inset);
	width: 100%;
}

.bts-umt__updated-strip > span {
	font-weight: 400;
}

.bts-umt__updated-strip > strong {
	font-weight: 800;
}

.bts-umt__canvas {
	aspect-ratio: 125 / 66;
	border: 1px solid var(--umt-rule-strong);
	display: grid;
	grid-template-columns: 4fr 1fr;
	min-height: 0;
	overflow: hidden;
	width: 100%;
}

.bts-umt__cycle-panel {
	border-right: 1px solid var(--umt-rule-strong);
	min-width: 0;
	overflow: hidden;
	position: relative;
}

.bts-umt__cycle {
	display: block;
	height: 100%;
	min-height: 0;
	width: 100%;
}

.bts-umt__cycle-path {
	fill: none;
	stroke: var(--umt-dark-gray);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 7;
}

.bts-umt__cycle-node circle {
	fill: var(--umt-white);
	stroke: var(--umt-rule);
	stroke-width: 2;
}

.bts-umt__cycle-node text {
	fill: var(--umt-muted);
	font-family: inherit;
	font-size: 26px;
	font-weight: 800;
	pointer-events: none;
	text-anchor: middle;
}

.bts-umt__cycle-node.is-major text {
	font-size: 34px;
}

.bts-umt__cycle-node.is-current circle {
	fill: var(--umt-gold);
	stroke: var(--umt-gold);
	stroke-width: 3;
}

.bts-umt__cycle-node.is-current text {
	fill: var(--umt-white);
}

.bts-umt__side {
	display: flex;
	min-width: 0;
	overflow: hidden;
}

.bts-umt__pulse-panel {
	align-items: center;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: center;
	min-height: 0;
	overflow: hidden;
	padding: 20px 0 18px;
}

.bts-umt__ladder-top,
.bts-umt__ladder-bottom {
	color: var(--umt-mid-gray);
	line-height: 1.05;
	text-align: center;
	user-select: none;
}

.bts-umt__ladder-top {
	margin-bottom: 5px;
}

.bts-umt__ladder-bottom {
	margin-top: 6px;
}

.bts-umt__ladder-top strong,
.bts-umt__ladder-bottom strong {
	display: block;
	font-size: clamp(22px, 2vw, 28px);
	font-weight: 900;
	letter-spacing: -.04em;
}

.bts-umt__ladder-top span,
.bts-umt__ladder-bottom span {
	display: block;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.18;
	margin-top: 2px;
}

.bts-umt__ladder-top.is-sell {
	color: var(--umt-signal-red);
}


.bts-umt__ladder-top.is-sell span {
	color: var(--umt-sell);
	font-weight: 900;
}

.bts-umt__ladder-bottom :is(strong, span) {
	color: var(--umt-mid-gray);
}

.bts-umt__ladder-bottom :is(strong, span).is-active {
	color: var(--umt-signal-green);
	font-weight: 900;
}


.bts-umt__ladder-bottom span:not(.is-active) {
	font-weight: 400;
}

.bts-umt__pulse {
	display: grid;
	gap: 3px;
	width: clamp(46px, 3.8vw, 58px);
}

.bts-umt__pulse-bar {
	background: var(--umt-bar-off);
	border-radius: 0;
	height: 7px;
	justify-self: center;
	width: var(--umt-rung-width, 100%);
}

.bts-umt__pulse-thin {
	border-radius: 999px;
}

.bts-umt__pulse-terminal {
	border-radius: 3px;
	height: 18px;
	position: relative;
}

.bts-umt__pulse-terminal.is-sell::after,
.bts-umt__pulse-terminal.is-buy::after {
	content: "";
	height: 0;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 0;
}

.bts-umt__pulse-terminal.is-sell::after {
	border-bottom: 6px solid var(--umt-white);
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
}

.bts-umt__pulse-terminal.is-buy::after {
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 6px solid var(--umt-white);
}

/* Mirrored directional taper: broadest at neutral, narrowing toward action.
 * v0.1.37 corrected rung math: 100, 96, 92, 88, 84, 80, 76, 73, 70, 66.
 */
.bts-umt__pulse-bar[data-pulse="UP01"],
.bts-umt__pulse-bar[data-pulse="DN01"] { --umt-rung-width: 100%; }

.bts-umt__pulse-bar[data-pulse="UP02"],
.bts-umt__pulse-bar[data-pulse="DN02"] { --umt-rung-width: 96%; }

.bts-umt__pulse-bar[data-pulse="UP03"],
.bts-umt__pulse-bar[data-pulse="DN03"] { --umt-rung-width: 92%; }

.bts-umt__pulse-bar[data-pulse="UP04"],
.bts-umt__pulse-bar[data-pulse="DN04"] { --umt-rung-width: 88%; }

.bts-umt__pulse-bar[data-pulse="UP05"],
.bts-umt__pulse-bar[data-pulse="DN05"] { --umt-rung-width: 84%; }

.bts-umt__pulse-bar[data-pulse="UP06"],
.bts-umt__pulse-bar[data-pulse="DN06"] { --umt-rung-width: 80%; }

.bts-umt__pulse-bar[data-pulse="UP07"],
.bts-umt__pulse-bar[data-pulse="DN07"] { --umt-rung-width: 76%; }

.bts-umt__pulse-bar[data-pulse="UP08"],
.bts-umt__pulse-bar[data-pulse="DN08"] { --umt-rung-width: 73%; }

.bts-umt__pulse-bar[data-pulse="UP09"],
.bts-umt__pulse-bar[data-pulse="DN09"] { --umt-rung-width: 70%; }

.bts-umt__pulse-bar[data-pulse="SELL"],
.bts-umt__pulse-bar[data-pulse="BUY"] { --umt-rung-width: 66%; }


.bts-umt__pulse-neutral {
	background: var(--umt-bar-off);
	height: 1px;
	margin: 8px -9px;
}

.bts-umt__pulse-bar.is-up {
	background: var(--umt-up);
}

.bts-umt__pulse-bar.is-down {
	background: var(--umt-down);
}

.bts-umt__pulse-bar.is-buy {
	background: var(--umt-signal-green);
}

.bts-umt__pulse-bar.is-sell {
	background: var(--umt-signal-red);
}

.bts-umt__pulse.is-locked {
	opacity: .45;
}

.bts-umt__details {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 0;
}

.bts-umt__updated-line {
	font-size: 13px;
	font-style: italic;
	margin: 0 0 18px;
}

.bts-umt__updated-line strong {
	font-style: normal;
	font-weight: 650;
}

.bts-umt__summary-item,
.bts-umt__previous {
	margin-bottom: 16px;
}

.bts-umt__summary-item h3,
.bts-umt__previous h3 {
	color: var(--umt-ink);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .03em;
	margin: 0 0 5px;
	text-transform: uppercase;
}

.bts-umt__summary-item p,
.bts-umt__previous p {
	color: var(--umt-ink);
	font-size: 15px;
	margin: 0;
}

.bts-umt__summary-item p.is-sell {
	color: var(--umt-sell);
}

.bts-umt__summary-item p.is-buy {
	color: var(--umt-buy);
}

/* ------------------------------------------------------------------
 * MARKET CYCLE LEGEND
 * ------------------------------------------------------------------ */

.bts-umt__legend-strip {
	align-items: stretch;
	background: transparent;
	border: 1px solid var(--umt-rule-strong);
	border-top: 0;
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	min-height: 64px;
	overflow: hidden;
	position: relative;
	width: 100%;
	z-index: 3;
	padding: 21px var(--umt-content-inset) 0;
	margin-top: 0;
}

.bts-umt__legend-label {
	align-items: center;
	border-right: 1px solid var(--umt-rule-strong);
	display: flex;
	font-size: 13px;
	font-weight: 500;
	justify-content: flex-start;
	padding: 0;
	white-space: nowrap;
}


.bts-umt__legend-label,
.bts-umt__legend-item,
.bts-umt__legend-item strong,
.bts-umt__legend-item span {
	color: var(--umt-mid-gray);
}

.bts-umt__legend-grid {
	align-content: center;
	align-items: center;
	display: grid;
	grid-template-columns:
		minmax(0, .80fr)
		minmax(0, .85fr)
		minmax(0, 1.10fr)
		minmax(0, 1.10fr)
		minmax(0, 1.15fr);
	grid-template-rows: repeat(2, auto);
	row-gap: 3px;
	overflow: hidden;
	width: 100%;
}

.bts-umt__legend-item {
	align-items: baseline;
	display: flex;
	font-size: 12px;
	gap: 3px;
	justify-content: flex-start;
	line-height: 1.2;
	min-width: 0;
	padding: 1px 4px;
	white-space: nowrap;
}

.bts-umt__legend-item strong {
	font-weight: 800;
	white-space: nowrap;
}

.bts-umt__legend-item span {
	overflow: hidden;
	text-overflow: clip;
	white-space: nowrap;
}

.bts-umt__legend-code--mobile,
.bts-umt__legend-copy-mobile {
	display: none;
}

/* ------------------------------------------------------------------
 * KEY STATE ROW
 * ------------------------------------------------------------------ */

.bts-umt__state-row {
	border: 1px solid var(--umt-rule-strong);
	border-top: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100%;
	padding: 34px var(--umt-content-inset) 0;
}

.bts-umt__state-cell {
	min-width: 0;
	padding: 0 14px;
}


.bts-umt__state-cell:first-child {
	padding-left: 0;
}

.bts-umt__state-cell + .bts-umt__state-cell {
	border-left: 1px solid var(--umt-rule-strong);
}

.bts-umt__state-cell h3 {
	color: var(--umt-ink);
	font-size: 16px;
	line-height: 1.15;
	margin: 0 0 7px;
}

.bts-umt__state-cell--phase h3,
.bts-umt__state-cell--pulse h3 {
	font-weight: 800;
}


.bts-umt__state-cell--previous h3 {
	font-weight: 800;
}

.bts-umt__state-cell p {
	color: var(--umt-ink);
	font-size: 17px;
	line-height: 1.25;
	margin: 0;
}

.bts-umt__phase-code {
	font-weight: 800;
}

.bts-umt__state-cell--pulse p.is-sell {
	color: var(--umt-sell);
}

.bts-umt__state-cell--pulse p.is-buy {
	color: var(--umt-buy);
}

.bts-umt__state-cell--pulse p.is-buy,
.bts-umt__state-cell--pulse p.is-sell {
	font-weight: 800;
}

.bts-umt__state-cell--pulse p.is-hold {
	font-weight: 400;
}

[data-role="instruction-value"][hidden],
.bts-umt__market-pulse-upgrade[hidden] {
	display: none !important;
}

.bts-umt__market-pulse-upgrade {
	color: var(--umt-ink);
	display: block;
	font-size: 15px;
	line-height: 1.35;
}


.bts-umt__market-pulse-upgrade > span {
	display: block;
	font-weight: 400;
}


[data-role="previous-position-value"][hidden],
.bts-umt__previous-upgrade[hidden] {
	display: none !important;
}

.bts-umt__previous-upgrade {
	color: var(--umt-ink);
	display: block;
	font-size: 15px;
	line-height: 1.35;
}


.bts-umt__previous-upgrade > span {
	display: block;
	font-weight: 400;
}


.bts-umt__history-strip {
	align-items: center;
	border-top: 1px solid var(--umt-rule);
	display: flex;
	gap: 16px;
	padding: 21px var(--umt-content-inset) 0;
	width: 100%;
}

.bts-umt__mode-toggle {
	align-items: center;
	display: inline-flex;
	flex: 0 0 auto;
	gap: 9px;
	min-height: 36px;
}

.bts-umt__mode-label {
	color: var(--umt-mid-gray);
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
}

.bts-umt__mode-label.is-active {
	font-weight: 800;
}

.bts-umt__mode-label[data-role="current-label"].is-active {
	color: var(--umt-navy);
}

.bts-umt__mode-label[data-role="history-label"].is-active {
	color: var(--umt-gold);
}

.bts-umt__mode-switch {
	appearance: none;
	background: var(--umt-white);
	box-shadow: none;
	filter: none;
	border: 2px solid var(--umt-navy);
	border-radius: 999px;
	cursor: pointer;
	display: inline-flex;
	height: 22px;
	padding: 2px;
	position: relative;
	width: 46px;
}

.bts-umt__mode-switch-thumb {
	background: var(--umt-navy);
	box-shadow: none;
	filter: none;
	border-radius: 50%;
	display: block;
	height: 14px;
	left: 2px;
	position: absolute;
	top: 2px;
	width: 14px;
}

.bts-umt__mode-switch.is-historical .bts-umt__mode-switch-thumb {
	background: var(--umt-gold);
	left: 26px;
}



.bts-umt__history-upgrade[hidden] {
	display: none !important;
}

.bts-umt__history-upgrade {
	align-items: center;
	color: var(--umt-ink);
	display: flex;
	flex: 1 1 auto;
	font-size: 15px;
	line-height: 1.35;
	min-height: 30px;
	min-width: 0;
}


.bts-umt__history-upgrade span {
	margin-left: .25em;
}

.bts-umt__history-control[hidden] {
	display: none !important;
}

.bts-umt__history-control {
	align-items: center;
	display: grid;
	flex: 1 1 auto;
	gap: 8px;
	grid-template-columns: 30px minmax(0, 1fr) 30px;
	min-width: 0;
}


.bts-umt__history-step {
	appearance: none;
	align-items: center;
	background: var(--umt-white);
	border: 1px solid var(--umt-navy);
	border-radius: 3px;
	color: var(--umt-navy);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 22px;
	font-weight: 700;
	height: 30px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	width: 30px;
}

.bts-umt__history-step:disabled {
	background: var(--umt-white);
	border-color: var(--umt-grid-light-gray);
	color: var(--umt-mid-gray);
	cursor: default;
	opacity: .6;
}


.bts-umt__history-step:not(:disabled),
.bts-umt__history-step:not(:disabled):hover,
.bts-umt__history-step:not(:disabled):focus,
.bts-umt__history-step:not(:disabled):active {
	background: var(--umt-white) !important;
	border-color: var(--umt-navy) !important;
	box-shadow: none !important;
	color: var(--umt-navy) !important;
	opacity: 1 !important;
	text-decoration: none !important;
}

.bts-umt__history-step:disabled,
.bts-umt__history-step:disabled:hover,
.bts-umt__history-step:disabled:focus,
.bts-umt__history-step:disabled:active {
	background: var(--umt-white) !important;
	border-color: var(--umt-grid-light-gray) !important;
	box-shadow: none !important;
	color: var(--umt-mid-gray) !important;
	opacity: .6 !important;
	text-decoration: none !important;
}

.bts-umt__history-control input[type="range"] {
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	cursor: pointer;
	height: 24px;
	margin: 0;
	min-width: 0;
	width: 100%;
}

.bts-umt__history-control input[type="range"]::-webkit-slider-runnable-track {
	background: var(--umt-grid-light-gray);
	border: 0;
	border-radius: 999px;
	height: 4px;
}

.bts-umt__history-control input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	background: var(--umt-gold);
	box-shadow: none;
	filter: none;
	border: 0;
	border-radius: 50%;
	height: 16px;
	margin-top: -6px;
	width: 16px;
}


.bts-umt__history-control input[type="range"]::-moz-range-track {
	background: var(--umt-grid-light-gray);
	border: 0;
	border-radius: 999px;
	height: 4px;
}

.bts-umt__history-control input[type="range"]::-moz-range-thumb {
	background: var(--umt-gold);
	box-shadow: none;
	filter: none;
	border: 0;
	border-radius: 50%;
	height: 16px;
	width: 16px;
}


.bts-umt__history {
	border-top: 1px solid var(--umt-rule);
	margin-top: 30px;
	padding: var(--umt-content-inset);
	width: 100%;
}

.bts-umt__eyebrow {
	color: var(--umt-navy);
	font-size: 18px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0;
	text-transform: none;
}

.bts-umt__history-head {
	display: block;
	margin: 0;
	width: 100%;
}

.bts-umt__history-head h2 {
	margin: 0;
}

.bts-umt__search {
	margin: 14px 0 0;
	width: 100%;
}

.bts-umt__search label {
	color: var(--umt-ink);
	display: block;
	font-size: 14px;
	font-weight: 750;
	margin-bottom: 6px;
}

.bts-umt__history-controls {
	align-items: end;
	display: grid;
	gap: 10px;
	grid-template-columns: min(180px, 28%) 142px;
	justify-content: start;
}

.bts-umt__symbol-input {
	background: var(--umt-white);
	border: 1px solid var(--umt-mid-gray);
	border-radius: 3px;
	font: inherit;
	font-size: 16px;
	height: 44px;
	min-width: 0;
	padding: 8px 10px;
	text-transform: uppercase;
	width: 100%;
}

.bts-umt-history-submit {
	cursor: pointer;
	display: inline-block;
	font-size: 16px;
	line-height: 1.2;
}

.bts-umt-history-submit {
	font-size: 16px;
	width: 142px;
}

.bts-umt-history-submit:disabled {
	cursor: wait;
	opacity: .6;
}

.bts-umt__history-status {
	margin: 10px 0 0;
}

.bts-umt__history-status:empty {
	display: none;
}

.bts-umt__history-results {
	margin-top: 24px;
	width: 100%;
}

.bts-umt__history-divider {
	background: var(--umt-rule);
	height: 1px;
	margin-bottom: 20px;
	width: 100%;
}

.bts-umt__history-identity {
	color: var(--umt-ink);
	font-size: 24px;
	line-height: 1.2;
	margin: 0;
}

.bts-umt__proof-block,
.bts-umt__result-status-block {
	margin-top: 20px;
	width: 100%;
}

.bts-umt__proof-heading,
.bts-umt__result-status-block h4 {
	color: var(--umt-ink);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 10px;
}

.bts-umt__result-status-block p,
.bts-umt__history-message {
	color: var(--umt-ink);
	font-size: 15px;
	line-height: 1.45;
	margin: 0;
}



/* ------------------------------------------------------------------
 * BTS TABLE FOUNDATION PIGGYBACK
 * Shared .bts-table supplies the site-standard table frame. UMT only
 * extends borders/alignment to semantic row-header cells used here.
 * ------------------------------------------------------------------ */
.entry-content .bts-umt table.bts-table {
	border-collapse: collapse;
	margin: 0;
	min-width: 0;
	width: 100%;
}

.entry-content .bts-umt table.bts-table :is(thead th, tbody th, tbody td) {
	border: 1px solid var(--umt-grid-light-gray);
	color: var(--umt-dark-gray);
	padding: 10px 12px;
}

.entry-content .bts-umt table.bts-table thead th {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	line-height: 1.25;
	text-transform: uppercase;
	vertical-align: middle;
}

.entry-content .bts-umt table.bts-table tbody :is(th, td) {
	background: var(--umt-white);
}

.entry-content .bts-umt table.bts-table td.is-positive,
.entry-content .bts-umt table.bts-table td.bts-table__value--positive {
	color: var(--umt-signal-green);
	font-weight: 800;
}


.entry-content .bts-umt figure.bts-umt__table-figure.wp-block-table.bts-editable-table {
	margin: 0;
	overflow-x: visible;
}

.entry-content .bts-umt figure.bts-umt__table-figure.wp-block-table.bts-editable-table figcaption.bts-umt__figure-text {
	margin-top: .5rem;
	font-size: 14.2px;
	line-height: 1.4;
}

.bts-umt__performance-table,
.bts-umt__recent-trades-table {
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
}

.bts-umt__perf-label-col {
	width: 34%;
}

.bts-umt__perf-value-col {
	width: 22%;
}

.bts-umt__performance-table th,
.bts-umt__performance-table td {
	height: 40px;
	padding: 8px 10px;
}

.bts-umt__performance-table thead th {
	color: var(--umt-ink);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-align: right;
}

.bts-umt__performance-table thead th:first-child {
	text-align: left;
}

.bts-umt__performance-table tbody th {
	color: var(--umt-ink);
	font-size: 16px;
	font-weight: 800;
	text-align: left;
}

.bts-umt__performance-table tbody td {
	color: var(--umt-ink);
	font-size: 16px;
	font-variant-numeric: tabular-nums;
	text-align: right;
}

.bts-umt__performance-table tbody td.is-better {
	font-weight: 800;
}

.bts-umt__trades-block {
	margin-top: 24px;
}

.bts-umt__trade-date-col,
.bts-umt__trade-exposure-col,
.bts-umt__trade-return-col,
.bts-umt__trade-bars-col {
	width: 25%;
}

.bts-umt__recent-trades-table th,
.bts-umt__recent-trades-table td {
	height: 38px;
	padding: 7px 10px;
	white-space: nowrap;
}


.bts-umt__sort-button {
	appearance: none;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0;
	color: var(--umt-navy) !important;
	cursor: pointer;
	font: inherit;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	margin: 0;
	padding: 0;
	text-transform: inherit;
}

.bts-umt__sort-button:hover,
.bts-umt__sort-button:focus {
	background: transparent !important;
	color: var(--umt-gold) !important;
	text-decoration: none;
}

.bts-umt__recent-trades-table th {
	color: var(--umt-ink);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.bts-umt__recent-trades-table th:first-child,
.bts-umt__recent-trades-table td:first-child {
	text-align: left;
}

.bts-umt__recent-trades-table th:not(:first-child),
.bts-umt__recent-trades-table td:not(:first-child) {
	text-align: right;
}

.bts-umt__recent-trades-table td {
	color: var(--umt-ink);
	font-size: 16px;
	font-variant-numeric: tabular-nums;
}

.bts-umt__recent-trades-table td.is-positive {
	color: var(--umt-signal-green);
	font-weight: 800;
}

.entry-content .bts-umt .bts-umt__table-figure.wp-block-table.bts-editable-table table.bts-table.bts-umt__recent-trades-table tbody tr.bts-umt__trade-average,
.entry-content .bts-umt .bts-umt__table-figure.wp-block-table.bts-editable-table table.bts-table.bts-umt__recent-trades-table tbody tr.bts-umt__trade-average > td {
	background: var(--bts-gold-tint) !important;
	background-color: var(--bts-gold-tint) !important;
}

.bts-umt__recent-trades-table .bts-umt__trade-average td {
	font-weight: 800;
}

.bts-umt__recent-trades-table .bts-umt__trade-average.is-contract-error td {
	color: var(--umt-signal-red);
}


.bts-umt__trades-more {
	margin: 12px 0 0;
	padding: 0;
	width: 100%;
}

.bts-umt__trades-toggle {
	appearance: none;
	background: transparent !important;
	border: 0 !important;
	cursor: pointer;
	display: inline-block;
	font-size: 16px;
	margin: 0;
	min-height: 0;
	padding: 0;
}




/* ------------------------------------------------------------------
 * BTS INTERACTION STATES
 * Resting = Navy; hover = Gold.
 * ------------------------------------------------------------------ */




.bts-umt__trades-toggle:disabled {
	cursor: wait;
	opacity: .65;
}


.bts-umt-history-submit {
	cursor: pointer;
	font-size: 16px;
	line-height: 1.2;
	margin: 0 !important;
	height: 44px;
	min-height: 44px;
	padding: 8px 16px;
	width: 142px;
}

.bts-umt__mode-switch:focus-visible,
.bts-umt__history-control input[type="range"]:focus-visible {
	outline: 2px solid var(--umt-navy);
	outline-offset: 2px;
}

.bts-umt button:not(.bts-cta-button):not(.bts-text-link):focus-visible {
	outline: 2px solid var(--umt-navy);
	outline-offset: 2px;
}

.bts-umt__symbol-input:focus {
	border-color: var(--umt-mid-gray);
	box-shadow: none;
	outline: none;
}

.bts-umt__symbol-input:focus-visible {
	border-color: var(--umt-mid-gray);
	box-shadow: none;
	outline: 2px solid var(--umt-navy);
	outline-offset: 2px;
}



/* ------------------------------------------------------------------
 * TRANSPARENT UMT LAYOUT SURFACES
 * Layout boxes drive geometry only and do not paint opaque backgrounds.
 * ------------------------------------------------------------------ */
.bts-umt,
.bts-umt__timer,
.bts-umt__updated-strip,
.bts-umt__canvas,
.bts-umt__cycle-panel,
.bts-umt__side,
.bts-umt__pulse-panel,
.bts-umt__legend-strip,
.bts-umt__legend-grid,
.bts-umt__state-row,
.bts-umt__state-cell,
.bts-umt__history-strip,
.bts-umt__history,
.bts-umt__history-head,
.bts-umt__history-results {
	background: transparent !important;
}

/* ------------------------------------------------------------------
 * BORDERLESS UMT LAYOUT
 * Structural layout remains intact, but visual framing is removed.
 * Table/input/control borders are intentionally preserved.
 * ------------------------------------------------------------------ */
.bts-umt__updated-strip,
.bts-umt__canvas,
.bts-umt__cycle-panel,
.bts-umt__legend-strip,
.bts-umt__legend-label,
.bts-umt__state-row,
.bts-umt__state-cell + .bts-umt__state-cell,
.bts-umt__history-strip,
.bts-umt__history {
	border: 0 !important;
}

@media (max-width: 980px) {
	.bts-umt__side {
		border-top: 0 !important;
	}
}

@media (max-width: 680px) {
}

@media (max-width: 980px) {
	/* v0.1.15 strict surfaces */
	.bts-umt__cycle-panel,
	.bts-umt__side,
	.bts-umt__pulse-panel {
		overflow: hidden;
	}

	.bts-umt__pulse-panel {
		padding-top: 18px;
		padding-bottom: 18px;
	}

	.bts-umt__canvas {
		aspect-ratio: auto;
		grid-template-columns: 1fr;
	}

	.bts-umt__cycle-panel {
		aspect-ratio: 50 / 33;
	}

	.bts-umt__cycle {
		min-height: 0;
	}

	.bts-umt__side {
		border-top: 1px solid var(--umt-rule-strong);
		display: flex;
	}



}

@media (max-width: 680px) {
	.bts-umt__state-row {
		grid-template-columns: 1fr;
	}

	.bts-umt__state-cell + .bts-umt__state-cell {
		border-left: 0;
		border-top: 1px solid var(--umt-rule-strong);
	}





	.bts-umt__cycle {
		min-height: 0;
	}

	.bts-umt__cycle-node text {
		font-size: 22px;
	}

	.bts-umt__cycle-node.is-major text {
		font-size: 27px;
	}

	.bts-umt__side {
		grid-template-columns: 1fr;
	}



	.bts-umt__pulse {
		width: 46px;
	}

	.bts-umt__history-strip {
		align-items: stretch;
		flex-direction: column;
		gap: 10px;
	}

	.bts-umt__mode-toggle {
		align-self: flex-start;
	}

	.bts-umt__history-control {
		width: 100%;
	}

	.bts-umt__history-head {
		display: block;
	}

	.bts-umt__history-head > p {
		margin-top: 6px;
	}

	.bts-umt__comparison,
	.bts-umt__metric-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 430px) {
	.bts-umt__cycle {
		min-height: 0;
	}

	.bts-umt__pulse {
		width: 52px;
	}

	.bts-umt__pulse-bar {
		height: 6px;
	}

	.bts-umt__pulse-terminal {
		height: 15px;
	}

}

@media (prefers-reduced-motion: reduce) {
	.bts-umt__cycle-node circle,
	.bts-umt__pulse-bar {
	}
}


/* v0.1.8 page-title suppression for UMT landing pages */

/* ------------------------------------------------------------------
 * DEDICATED UMT PAGE SHELL
 * The page contains no title/intro above the plugin, so remove the theme's
 * default page and hidden-header top spacing while preserving horizontal layout.
 * ------------------------------------------------------------------ */
body.bts-umt-page .entry-header {
	height: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}



body.bts-umt-page .entry-content {
	margin-top: -19px !important;
}

body.bts-umt-page .entry-title,
body.bts-umt-page .wp-block-post-title,
body.bts-umt-page .page-title {
	display: none !important;
}


@media (max-width: 719px) {
	.bts-umt__history-head {
		align-items: flex-start;
		display: block;
	}

	.bts-umt__history-head > p {
		margin-top: 6px;
		max-width: none;
		text-align: left;
	}

.bts-umt__performance-table th,
	.bts-umt__performance-table td,
	.bts-umt__recent-trades-table th,
	.bts-umt__recent-trades-table td {
		padding-left: 6px;
		padding-right: 6px;
	}

	.bts-umt__perf-label-col {
		width: 42%;
	}

	.bts-umt__perf-value-col {
		width: 29%;
	}

	.bts-umt__trade-date-col,
	.bts-umt__trade-exposure-col,
	.bts-umt__trade-return-col,
	.bts-umt__trade-bars-col {
		width: 25%;
	}
}

@media (max-width: 390px) {
	.bts-umt__history {
		--umt-history-p: 16px;
	}

	.bts-umt__performance-table thead th,
	.bts-umt__performance-table tbody th,
	.bts-umt__performance-table tbody td,
	.bts-umt__recent-trades-table th,
	.bts-umt__recent-trades-table td {
		font-size: 13px;
	}
}



@media (max-width: 680px) {
	body.bts-umt-page .entry-content {
		margin-top: -8px !important;
	}
}



@media (max-width: 719px) {
	.bts-umt__performance-table th,
	.bts-umt__performance-table td {
		font-size: 12px;
		padding-left: 5px;
		padding-right: 5px;
	}

	.bts-umt__performance-table tbody th,
	.bts-umt__performance-table tbody td {
		font-size: 13px;
	}

	.bts-umt__perf-label-col {
		width: 34%;
	}

	.bts-umt__perf-value-col {
		width: 22%;
	}
}

/* ------------------------------------------------------------------
 * v0.1.39 INTERACTION SCRUB
 * UMT hover/focus/active state changes must be instantaneous.
 * This intentionally suppresses theme-level transitions/animations on
 * UMT-owned descendants and pseudo-elements. Shared .bts-text-link anchors
 * are excluded so the shared BTS UX layer owns their interaction contract.
 * ------------------------------------------------------------------ */
.bts-umt,
.bts-umt *:not(.bts-text-link),
.bts-umt *:not(.bts-text-link)::before,
.bts-umt *:not(.bts-text-link)::after,
body.bts-umt-page .entry-content .bts-umt,
body.bts-umt-page .entry-content .bts-umt *:not(.bts-text-link),
body.bts-umt-page .entry-content .bts-umt *:not(.bts-text-link)::before,
body.bts-umt-page .entry-content .bts-umt *:not(.bts-text-link)::after {
	animation: none !important;
	animation-delay: 0s !important;
	animation-duration: 0s !important;
	transition: none !important;
	transition-delay: 0s !important;
	transition-duration: 0s !important;
	transition-property: none !important;
}

/* ------------------------------------------------------------------
 * v0.1.43 MOBILE LAYOUT PRESERVATION
 * Keep the desktop information architecture on phones:
 * - cycle + Market Pulse remain side-by-side
 * - three current-state columns remain side-by-side
 * - historical controls stay directly below the state row
 * - UMT tables remain true tables, not stacked cards
 * ------------------------------------------------------------------ */
@media (max-width: 719px) {
	.bts-umt {
		--umt-content-inset: 12px;
	}

	.bts-umt__updated-strip {
		font-size: 13px;
		padding-left: var(--umt-content-inset);
		padding-right: var(--umt-content-inset);
	}

	.bts-umt__canvas {
		aspect-ratio: 125 / 66;
		display: grid !important;
		grid-template-columns: 4fr 1fr !important;
		min-height: 0;
		overflow: hidden;
		width: 100%;
	}

	.bts-umt__cycle-panel {
		aspect-ratio: auto !important;
		min-width: 0;
		overflow: hidden;
	}

	.bts-umt__side {
		border-top: 0 !important;
		display: flex !important;
		min-width: 0;
		overflow: hidden;
	}

	.bts-umt__pulse-panel {
		padding: 10px 0 9px;
	}

	.bts-umt__pulse {
		width: 34px;
	}

	.bts-umt__pulse-bar {
		height: 5px;
	}

	.bts-umt__pulse-terminal {
		height: 13px;
	}

	.bts-umt__ladder-top,
	.bts-umt__ladder-bottom {
		line-height: 1;
	}

	.bts-umt__ladder-top {
		margin-bottom: 3px;
	}

	.bts-umt__ladder-bottom {
		margin-top: 4px;
	}

	.bts-umt__ladder-top strong,
	.bts-umt__ladder-bottom strong {
		font-size: 16px;
	}

	.bts-umt__ladder-top span,
	.bts-umt__ladder-bottom span {
		font-size: 9px;
		line-height: 1.05;
		margin-top: 1px;
	}

	.bts-umt__cycle-node text {
		font-size: 20px;
	}

	.bts-umt__cycle-node.is-major text {
		font-size: 24px;
	}

	.bts-umt__state-row {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		padding: 20px var(--umt-content-inset) 0;
		width: 100%;
	}

	.bts-umt__state-cell {
		min-width: 0;
		padding: 0 8px;
	}

	.bts-umt__state-cell:first-child {
		padding-left: 0;
	}

	.bts-umt__state-cell + .bts-umt__state-cell {
		border: 0 !important;
	}

	.bts-umt__state-cell h3 {
		font-size: 12px;
		line-height: 1.1;
		margin-bottom: 4px;
		white-space: nowrap;
	}

	.bts-umt__state-cell p,
	.bts-umt__market-pulse-upgrade,
	.bts-umt__previous-upgrade {
		font-size: 12px;
		line-height: 1.25;
	}

	.bts-umt__market-pulse-upgrade > span,
	.bts-umt__previous-upgrade > span {
		display: block;
	}

	.bts-umt__history-strip {
		align-items: center !important;
		display: flex !important;
		flex-direction: row !important;
		gap: 10px;
		padding: 16px var(--umt-content-inset) 0;
	}

	.bts-umt__mode-toggle {
		align-self: auto !important;
		flex: 0 0 auto;
		gap: 6px;
		min-height: 30px;
	}

	.bts-umt__mode-label {
		font-size: 11px;
	}

	.bts-umt__mode-switch {
		height: 20px;
		width: 42px;
	}

	.bts-umt__mode-switch-thumb {
		height: 12px;
		width: 12px;
	}

	.bts-umt__mode-switch.is-historical .bts-umt__mode-switch-thumb {
		left: 24px;
	}

	.bts-umt__history-control {
		display: grid !important;
		flex: 1 1 auto;
		gap: 6px;
		grid-template-columns: 28px minmax(0, 1fr) 28px;
		min-width: 0;
		width: auto !important;
	}

	.bts-umt__history-step {
		font-size: 18px;
		height: 28px;
		width: 28px;
	}

	.bts-umt__history-upgrade {
		font-size: 12px;
		min-height: 0;
	}





	.bts-umt__history {
		margin-top: 24px;
		padding: var(--umt-content-inset);
	}

	.bts-umt__history-head h2 {
		font-size: 24px;
		line-height: 1.15;
	}

	.bts-umt__search {
		margin-top: 10px;
	}

.entry-content .bts-umt figure.bts-umt__table-figure.wp-block-table.bts-editable-table {
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
	}

	.entry-content .bts-umt table.bts-table.bts-umt__performance-table,
	.entry-content .bts-umt table.bts-table.bts-umt__recent-trades-table {
		border-collapse: collapse !important;
		display: table !important;
		min-width: 620px;
		table-layout: fixed !important;
		width: 100% !important;
	}

	.entry-content .bts-umt table.bts-table.bts-umt__performance-table thead,
	.entry-content .bts-umt table.bts-table.bts-umt__recent-trades-table thead {
		display: table-header-group !important;
	}

	.entry-content .bts-umt table.bts-table.bts-umt__performance-table tbody,
	.entry-content .bts-umt table.bts-table.bts-umt__recent-trades-table tbody {
		display: table-row-group !important;
	}

	.entry-content .bts-umt table.bts-table.bts-umt__performance-table tr,
	.entry-content .bts-umt table.bts-table.bts-umt__recent-trades-table tr {
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		display: table-row !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.entry-content .bts-umt table.bts-table.bts-umt__performance-table th,
	.entry-content .bts-umt table.bts-table.bts-umt__performance-table td,
	.entry-content .bts-umt table.bts-table.bts-umt__recent-trades-table th,
	.entry-content .bts-umt table.bts-table.bts-umt__recent-trades-table td {
		border: 1px solid var(--umt-rule) !important;
		border-radius: 0 !important;
		display: table-cell !important;
		float: none !important;
		font-size: 12px !important;
		height: 36px;
		padding: 6px 7px !important;
		position: static !important;
		text-align: inherit;
		width: auto !important;
	}

	.entry-content .bts-umt table.bts-table.bts-umt__performance-table th::before,
	.entry-content .bts-umt table.bts-table.bts-umt__performance-table td::before,
	.entry-content .bts-umt table.bts-table.bts-umt__recent-trades-table th::before,
	.entry-content .bts-umt table.bts-table.bts-umt__recent-trades-table td::before {
		content: none !important;
		display: none !important;
	}

	.bts-umt__performance-table thead th,
	.bts-umt__performance-table tbody td,
	.bts-umt__recent-trades-table th:not(:first-child),
	.bts-umt__recent-trades-table td:not(:first-child) {
		text-align: right !important;
	}

	.bts-umt__performance-table thead th:first-child,
	.bts-umt__performance-table tbody th,
	.bts-umt__recent-trades-table th:first-child,
	.bts-umt__recent-trades-table td:first-child {
		text-align: left !important;
	}

	.bts-umt__performance-table tbody th,
	.bts-umt__performance-table tbody td,
	.bts-umt__recent-trades-table td {
		font-size: 12px !important;
	}

	.bts-umt__table-figure figcaption.bts-umt__figure-text {
		font-size: 12px !important;
	}
}

@media (max-width: 430px) {
	.bts-umt__pulse {
		width: 32px;
	}

	.bts-umt__state-cell h3 {
		font-size: 11px;
	}

	.bts-umt__state-cell p,
	.bts-umt__market-pulse-upgrade,
	.bts-umt__previous-upgrade {
		font-size: 11px;
	}

	.bts-umt__mode-label {
		font-size: 10px;
	}

	.entry-content .bts-umt table.bts-table.bts-umt__performance-table,
	.entry-content .bts-umt table.bts-table.bts-umt__recent-trades-table {
		min-width: 560px;
	}
}

/* ------------------------------------------------------------------
 * v0.1.44 MOBILE-ONLY REFINEMENTS
 * Desktop remains unchanged.
 * ------------------------------------------------------------------ */
@media (max-width: 719px) {
	/* Pull the UMT content about 15px closer to the mobile nav. */
	body.bts-umt-page .entry-content {
		margin-top: -23px !important;
	}

	/* Mobile phase values use compact wording supplied by JS. */
	.bts-umt__state-cell--phase p {
		white-space: normal;
	}

	/* Three-column stacked legend:
	 * Legend | B..A3 | T..D3
	 */




/* Let the mobile tables fit the phone viewport as genuine tables.
	 * Keep the strategy-backtest style: no cards, no forced horizontal
	 * oversizing unless the actual viewport is unusually narrow.
	 */
	.entry-content .bts-umt table.bts-table.bts-umt__performance-table,
	.entry-content .bts-umt table.bts-table.bts-umt__recent-trades-table {
		min-width: 0 !important;
		width: 100% !important;
	}

	.bts-umt__performance-table th,
	.bts-umt__performance-table td,
	.bts-umt__recent-trades-table th,
	.bts-umt__recent-trades-table td {
		white-space: normal !important;
	}

	.bts-umt__trade-date-col {
		width: 25% !important;
	}

	.bts-umt__trade-exposure-col {
		width: 25% !important;
	}

	.bts-umt__trade-return-col {
		width: 25% !important;
	}

	.bts-umt__trade-bars-col {
		width: 25% !important;
	}
}

@media (max-width: 430px) {
	.entry-content .bts-umt table.bts-table.bts-umt__performance-table,
	.entry-content .bts-umt table.bts-table.bts-umt__recent-trades-table {
		min-width: 0 !important;
	}
}

/* ------------------------------------------------------------------
 * v0.1.45 MOBILE-ONLY PRECISION PASS
 * Desktop remains unchanged.
 * ------------------------------------------------------------------ */
@media (max-width: 719px) {
	/* Pull UMT 5px closer to nav than v0.1.44. */
	body.bts-umt-page .entry-content {
		margin-top: -28px !important;
	}

	/* Preserve a small breathing gap between Updated and the hero. */
	.bts-umt__updated-strip {
		margin-bottom: 5px;
	}

	/* Restore complete Market Pulse endpoint labels without changing ladder geometry. */
	.bts-umt__pulse-panel {
		justify-content: center;
		padding-top: 7px;
		padding-bottom: 7px;
	}

	.bts-umt__ladder-top,
	.bts-umt__ladder-bottom {
		overflow: visible;
	}

	.bts-umt__ladder-top strong,
	.bts-umt__ladder-bottom strong {
		font-size: 15px;
		line-height: .95;
	}

	.bts-umt__ladder-top span,
	.bts-umt__ladder-bottom span {
		display: block !important;
		font-size: 8px;
		line-height: 1.02;
		margin-top: 1px;
		white-space: nowrap;
	}

	/* Compact Previous Position into one line when a live value is present. */
	.bts-umt__state-cell--previous [data-role="previous-position-value"] {
		display: block;
		font-size: 10.5px;
		line-height: 1.15;
		white-space: nowrap;
	}

	/* Rebalance legend: narrower label column, more room for content. */



}

@media (max-width: 430px) {
	.bts-umt__state-cell--previous [data-role="previous-position-value"] {
		font-size: 10px;
	}

}

/* ------------------------------------------------------------------
 * v0.1.46 MOBILE-ONLY ENDPOINT + LEGEND BALANCE PASS
 * Desktop remains unchanged.
 * ------------------------------------------------------------------ */
@media (max-width: 719px) {
	/* Another 4px tighter to nav, and 4px more air before the hero. */
	body.bts-umt-page .entry-content {
		margin-top: -32px !important;
	}

	.bts-umt__updated-strip {
		margin-bottom: 9px;
	}

	/* Mobile Market Pulse: keep endpoint action words only.
	 * Current Pulse carries the detailed action wording.
	 */
	.bts-umt__ladder-top span,
	.bts-umt__ladder-bottom span {
		display: none !important;
	}

	.bts-umt__ladder-top strong,
	.bts-umt__ladder-bottom strong {
		display: block !important;
		font-size: 15px;
		line-height: .95;
	}

	/* Three visual legend columns:
	 * Legend: | B/Wx/A1 | A2/A3/T/Wa | D1/D2/D3
	 */


	/* Explicit placement for a more even 3-column balance. */







}

@media (max-width: 430px) {
}

/* ------------------------------------------------------------------
 * v0.1.47 MOBILE-ONLY MARKET PULSE + LEGEND FIX
 * Desktop remains unchanged.
 * ------------------------------------------------------------------ */
@media (max-width: 719px) {
	/* Keep BUY/SELL fully visible by compressing only the vertical rung spacing.
	 * Widths, taper math, colors, terminal geometry, and side-by-side layout stay intact.
	 */
	.bts-umt__pulse {
		gap: 2px;
	}

	.bts-umt__pulse-panel {
		padding-top: 4px;
		padding-bottom: 4px;
	}

	.bts-umt__ladder-top,
	.bts-umt__ladder-bottom {
		flex: 0 0 auto;
		min-height: 15px;
		overflow: visible;
	}

	.bts-umt__ladder-top {
		margin-bottom: 3px;
	}

	.bts-umt__ladder-bottom {
		margin-top: 3px;
	}

	.bts-umt__ladder-top strong,
	.bts-umt__ladder-bottom strong {
		display: block !important;
		font-size: 15px;
		line-height: 1;
		white-space: nowrap;
	}

	/* True three-column mobile legend:
	 * column 1 = Legend + B/Wx/A1
	 * column 2 = A2/A3/T/Wa
	 * column 3 = D1/D2/D3
	 */









}

@media (max-width: 430px) {
.bts-umt__legend-item,
}

/* ------------------------------------------------------------------
 * v0.1.48 MOBILE-ONLY MICRO-POLISH
 * Desktop remains unchanged.
 * ------------------------------------------------------------------ */
@media (max-width: 719px) {
	/* Slightly rebalance the legend so the first item column has more room. */


	/* Nudge first legend-column contents away from the left edge. */
/* Reduce visual dead space below the legend without changing the hierarchy. */
	.bts-umt__history {
		margin-top: 18px;
	}

	/* Small optical tightening around playback controls. */
	.bts-umt__history-strip {
		gap: 8px;
	}

	/* Keep status columns balanced and prevent accidental vertical drift. */
	.bts-umt__state-cell h3 {
		margin-bottom: 3px;
	}

	.bts-umt__state-row {
		padding-top: 18px;
	}

	/* Preserve legibility while tightening large mobile section rhythm. */
	.bts-umt__history-head h2 {
		margin-bottom: 2px;
	}

	/* Slightly improve table scan density without changing the solved layout. */
	.entry-content .bts-umt table.bts-table.bts-umt__performance-table th,
	.entry-content .bts-umt table.bts-table.bts-umt__performance-table td,
	.entry-content .bts-umt table.bts-table.bts-umt__recent-trades-table th,
	.entry-content .bts-umt table.bts-table.bts-umt__recent-trades-table td {
		line-height: 1.18;
	}

	/* Keep BUY/SELL visually centered in their available endpoint zones. */
	.bts-umt__ladder-top,
	.bts-umt__ladder-bottom {
		text-align: center;
		width: 100%;
	}
}

@media (max-width: 430px) {
}

/* ------------------------------------------------------------------
 * UMT HOME BROADCAST CARD
 * ------------------------------------------------------------------ */
.bts-umt-broadcast {
	align-items: center;
	background: var(--bts-white);
	border: 1px solid var(--bts-table-border);
	display: grid;
	gap: 18px;
	grid-template-columns: 1fr 1fr 1fr;
	padding: 18px 20px;
	width: 100%;
}

.bts-umt-broadcast__brand,
.bts-umt-broadcast__item {
	min-width: 0;
}

.bts-umt-broadcast__brand a {
	color: var(--bts-navy);
	font-size: 18px;
	font-weight: 800;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .18em;
}


.bts-umt-broadcast__item strong {
	color: var(--bts-dark-gray);
	display: block;
	font-size: 16px;
	font-weight: 800;
	margin-bottom: 7px;
}

.bts-umt-broadcast__item > span {
	color: var(--bts-dark-gray);
	display: block;
	font-size: 16px;
	line-height: 1.3;
}


.bts-umt-broadcast__upgrade > span {
	display: inline;
	font-weight: 400;
}

.bts-umt-broadcast,
.bts-umt-broadcast *,
.bts-umt-broadcast *::before,
.bts-umt-broadcast *::after {
	animation: none !important;
	transition: none !important;
}

@media (max-width: 719px) {
	.bts-umt-broadcast {
		gap: 10px;
		grid-template-columns: 1fr 1fr;
		padding: 14px;
	}

	.bts-umt-broadcast__brand {
		grid-column: 1 / -1;
	}

	.bts-umt-broadcast__brand a,
	.bts-umt-broadcast__item strong,
	.bts-umt-broadcast__item > span {
		font-size: 14px;
	}
}


/* ------------------------------------------------------------------
 * v0.1.49 MOBILE-ONLY REFINEMENTS
 * Desktop remains unchanged except Show all spacing and broadcast card.
 * ------------------------------------------------------------------ */
@media (max-width: 719px) {
	/* Updated line now matches current-state heading scale. */
	.bts-umt__updated-strip {
		font-size: 12px;
	}


	/* Trade History keeps an equal four-column split on mobile as well. */
	.bts-umt__trade-date-col,
	.bts-umt__trade-exposure-col,
	.bts-umt__trade-return-col,
	.bts-umt__trade-bars-col {
		width: 25% !important;
	}

	.bts-umt__recent-trades-table th:first-child .bts-umt__sort-button {
		white-space: nowrap;
	}

	/* Fixed landing position for Show all expansion. */
	.bts-umt__proof-heading[data-role="trades-heading"] {
		scroll-margin-top: 8px;
	}

	/* Trade dates are M/D/YY via JS; avoid wrapping where space permits. */
	.bts-umt__recent-trades-table td:first-child {
		white-space: nowrap !important;
	}
}

/* ------------------------------------------------------------------
 * v0.1.50 HOME CARD + TRADE HISTORY + MOBILE PRECISION
 * ------------------------------------------------------------------ */

/* Home broadcast card: canonical BTS bounded-surface radius. */
.bts-umt-broadcast {
	border-radius: 3px;
	margin-bottom: 30px;
}

.bts-umt-broadcast__brand a,
.bts-umt-broadcast__item strong,
.bts-umt-broadcast__item > span {
	font-size: 18px;
}

/* Trade History keeps the figure/caption compact while the action receives
 * its own semantic spacing from .bts-umt__trades-more. */
.entry-content .bts-umt .bts-umt__trades-block figure.bts-umt__table-figure.wp-block-table.bts-editable-table {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.entry-content .bts-umt .bts-umt__trades-block figure.bts-umt__table-figure.wp-block-table.bts-editable-table figcaption.bts-umt__figure-text {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

/* Prevent Average labels from leaking into the Position Size / Size column. */
.entry-content .bts-umt .bts-umt__recent-trades-table .bts-umt__trade-average > td:first-child,
.entry-content .bts-umt .bts-umt__recent-trades-table .bts-umt__trade-average-label {
	overflow-wrap: anywhere;
	white-space: normal !important;
	word-break: normal;
}

.bts-umt__trade-average-label {
	display: block;
	max-width: 100%;
}

@media (max-width: 719px) {
	/* Home broadcast stays a true three-column status card on mobile.
	 * The product link is intentionally smaller so Phase/Pulse remain the hero.
	 */
	.bts-umt-broadcast {
		gap: 8px;
		grid-template-columns: .82fr 1.12fr 1.06fr;
		margin-bottom: 24px;
		padding: 12px;
	}

	.bts-umt-broadcast__brand {
		grid-column: auto;
	}

	.bts-umt-broadcast__brand a {
		font-size: 12.5px;
		line-height: 1.2;
	}

	.bts-umt-broadcast__item strong,
	.bts-umt-broadcast__item > span {
		font-size: 14px;
		line-height: 1.2;
	}

	.bts-umt-broadcast__item strong {
		margin-bottom: 5px;
	}


	/* Add a little breathing room between the hero and current-state row. */
	.bts-umt__state-row {
		padding-top: 23px;
	}
}

/* ------------------------------------------------------------------
 * v0.1.51 HOME ALIGNMENT + MOBILE LANDING POLISH
 * ------------------------------------------------------------------ */

/* Align the Home broadcast content to the three Get started card columns.
 * The broadcast card spans the same content width; the 15px track gaps and
 * per-track inset mirror the pricing-card rhythm below.
 */
.bts-umt-broadcast {
	column-gap: 15px;
	margin-bottom: 20px;
	padding: 0;
}

.bts-umt-broadcast__brand,
.bts-umt-broadcast__item {
	padding: 18px 15px;
}

/* Mobile only: keep the approved meter scale/BUY position and nudge SELL
 * into optical alignment with the top of the ladder.
 */
@media (max-width: 719px) {
	.bts-umt-broadcast {
		column-gap: 8px;
		margin-bottom: 16px;
		padding: 0;
	}

	.bts-umt-broadcast__brand,
	.bts-umt-broadcast__item {
		padding: 12px 10px;
	}


	/* Used as a CSS fallback if a browser invokes native anchor scrolling. */
	.bts-umt__proof-heading[data-role="trades-heading"] {
		scroll-margin-top: 164px;
	}
}

/* ------------------------------------------------------------------
 * v0.1.52 STABLE MOBILE ENDPOINT + EXPANSION LANDING
 * Desktop remains unchanged.
 * ------------------------------------------------------------------ */
@media (max-width: 719px) {
	/* Harden the SELL-only optical nudge. Use positional offset rather than
	 * transform so the existing 5% meter scale cannot cancel or alter it.
	 */
	.bts-umt .bts-umt__ladder-top {
		position: relative;
		top: 4px !important;
		transform: none !important;
	}

	/* Native-scroll fallback only. JS computes the actual visible header
	 * clearance at runtime and places Trade history 24px below it.
	 */
	.bts-umt__proof-heading[data-role="trades-heading"] {
		scroll-margin-top: 24px;
	}
}

/* ------------------------------------------------------------------
 * v0.1.53 STABLE MOBILE PULSE + NORMAL TRADE EXPANSION
 * ------------------------------------------------------------------ */

.bts-umt-broadcast__phase-code {
	font-weight: 800;
}

@media (max-width: 719px) {
	/* The 5% meter scale grows upward from BUY. Lift SELL clear of the
	 * expanded top terminal without moving BUY or the meter itself.
	 */
	.bts-umt .bts-umt__ladder-top {
		position: relative;
		top: -8px !important;
		transform: none !important;
	}

	/* Show-all expansion returns to normal browser/document behavior.
	 * No forced scroll target; this avoids brittle interaction with the
	 * mobile site's sticky navigation surface.
	 */
	.bts-umt__proof-heading[data-role="trades-heading"] {
		scroll-margin-top: 0;
	}
}

/* ------------------------------------------------------------------
 * v0.1.54 MOBILE PULSE VERTICAL ALIGNMENT + BROADCAST COPY
 * ------------------------------------------------------------------ */
@media (max-width: 719px) {
}

/* ------------------------------------------------------------------
 * v0.1.55 MARKET PULSE ROLLBACK TO v0.1.48 STABLE MOBILE GEOMETRY
 * Only Market Pulse mobile geometry is rolled back. Later unrelated
 * mobile/table/Home work remains in place.
 * ------------------------------------------------------------------ */
.bts-umt-broadcast__brand,
.bts-umt-broadcast__item {
	padding-left: 13px;
}

@media (max-width: 719px) {
	/* Exact stable pulse geometry from v0.1.48. */
	.bts-umt__pulse-panel {
		padding: 4px 0;
		transform: none !important;
	}

	.bts-umt__pulse {
		gap: 2px;
		transform: none !important;
		transform-origin: center center;
		width: 34px;
	}

	.bts-umt__pulse-bar {
		height: 5px;
	}

	.bts-umt__pulse-terminal {
		height: 13px;
	}

	.bts-umt__ladder-top,
	.bts-umt__ladder-bottom {
		flex: 0 0 auto;
		min-height: 15px;
		overflow: visible;
		text-align: center;
		width: 100%;
	}

	.bts-umt .bts-umt__ladder-top {
		margin-bottom: 3px;
		position: static;
		top: auto !important;
		transform: none !important;
	}

	.bts-umt__ladder-bottom {
		margin-top: 3px;
	}

	.bts-umt__ladder-top strong,
	.bts-umt__ladder-bottom strong {
		display: block !important;
		font-size: 15px;
		line-height: 1;
		white-space: nowrap;
	}

	/* Shift all Home broadcast text 2px left on mobile as well. */
	.bts-umt-broadcast__brand,
	.bts-umt-broadcast__item {
		padding-left: 8px;
	}
}

@media (max-width: 430px) {
	.bts-umt__pulse {
		width: 32px;
	}
}

/* ------------------------------------------------------------------
 * v0.1.56 BACKLOG CLOSEOUT
 * ------------------------------------------------------------------ */

/* Favorable comparison results communicate positive net change.
 * BTS TIMER best-value emphasis remains dark/bold; only VS BUY & HOLD
 * favorable cells receive the existing positive signal green.
 */
.bts-umt__performance-table tbody td:last-child.is-better {
	color: var(--umt-signal-green);
}

/* Home broadcast keeps the fuller desktop sentence, but mobile gives up
 * secondary wording to keep Current Pulse on one line.
 */
@media (max-width: 719px) {
	.bts-umt-broadcast__upgrade-tail {
		display: none !important;
	}
}

/* ------------------------------------------------------------------
 * v0.1.57 STATUS ARCHITECTURE + COHORT INTELLIGENCE
 * ------------------------------------------------------------------ */

/* Updated is now one fully bold semantic line. */
.bts-umt__updated-strip {
	font-weight: 800;
}

.bts-umt__updated-strip > strong {
	font-weight: 800;
}

/* Current Pulse is an active instruction. HOLD should carry the same
 * emphasis as BUY/SELL/SCALE IN.
 */
.bts-umt__state-cell--pulse p.is-hold,
.bts-umt__state-cell--pulse [data-role="instruction-value"] {
	font-weight: 800;
}

.bts-umt-broadcast__instruction {
	font-weight: 800;
}

/* State row now lives between Updated and the hero. Give it balanced
 * top/bottom breathing room before the sine-wave canvas.
 */
.bts-umt__state-row {
	padding-bottom: 18px;
}

/* The Home broadcast is now the same three status columns as the timer. */
.bts-umt-broadcast {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bts-umt-broadcast__item {
	min-width: 0;
}

.bts-umt-broadcast__previous--mobile,
.bts-umt__cta-mobile {
	display: none;
}

/* Strong enough to beat theme/table color rules. Only favorable benchmark
 * deltas in the final column receive positive green.
 */
.entry-content .bts-umt table.bts-table.bts-umt__performance-table tbody tr td:last-child.is-better {
	color: var(--umt-signal-green) !important;
	font-weight: 800 !important;
}

/* Cohort research link beneath trade-history actions. */
.bts-umt__cohort-more {
	margin: 12px 0 0;
	padding: 0;
}


@media (max-width: 719px) {
	/* Mobile concessions for three-column status CTAs. */
	.bts-umt__cta-desktop,
	.bts-umt-broadcast__upgrade-tail,
	.bts-umt-broadcast__previous-tail,
	.bts-umt-broadcast__previous--desktop {
		display: none !important;
	}

	.bts-umt__cta-mobile,
	.bts-umt-broadcast__previous--mobile {
		display: inline !important;
	}

	/* The status row now precedes the hero; use compact balanced spacing. */
	.bts-umt__state-row {
		padding-top: 14px;
		padding-bottom: 14px;
	}

	.bts-umt__cohort-more {
		margin-top: 10px;
	}

	.bts-umt__cohort-more a {
		font-size: 13px;
	}
}

/* ------------------------------------------------------------------
 * v0.1.58 STATUS POLISH + PROGRESSIVE PULSE PALETTE
 * ------------------------------------------------------------------ */

/* Robust responsive exclusivity. Theme/block span rules must never make
 * desktop and mobile copies visible at the same time.
 */
.bts-umt-broadcast__previous--mobile,
.bts-umt__cta-mobile {
	display: none !important;
}

.bts-umt-broadcast__previous--desktop,
.bts-umt__cta-desktop {
	display: inline !important;
}

/* Vertical rhythm after moving status above the hero:
 * every major timer block uses 13px top / 0 bottom;
 * Updated is the sole 0 / 0 exception.
 */
.bts-umt__updated-strip {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.bts-umt__state-row,
.bts-umt__canvas,
.bts-umt__history-strip,
.bts-umt__state-row {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.bts-umt__history-strip,
/* One signal-green standard across favorable performance deltas and
 * positive Trade History returns. Force the exact BUY-signal green.
 */
.entry-content .bts-umt table.bts-table.bts-umt__performance-table tbody tr td:last-child.is-better,
.entry-content .bts-umt table.bts-table.bts-umt__recent-trades-table td.is-positive,
.entry-content .bts-umt table.bts-table.bts-umt__recent-trades-table td.bts-table__value--positive {
	color: var(--bts-positive-number) !important;
	font-weight: 800 !important;
}

@media (max-width: 719px) {
	.bts-umt__cta-desktop,
	.bts-umt-broadcast__upgrade-tail,
	.bts-umt-broadcast__previous-tail,
	.bts-umt-broadcast__previous--desktop {
		display: none !important;
	}

	.bts-umt__cta-mobile,
	.bts-umt-broadcast__previous--mobile {
		display: inline !important;
	}

	/* Keep the 13/0 block rhythm on mobile as well. */
	.bts-umt__state-row,
	.bts-umt__canvas,
	.bts-umt__history-strip,
}

/* ------------------------------------------------------------------
 * v0.1.59 CTA STANDARD + SPACING + HIGHER-CONTRAST PULSE PALETTE
 * ------------------------------------------------------------------ */

/* Ordinary entitlement/access text-link presentation is owned by the shared BTS UX layer. */

/* The sine-wave hero needs more separation from the status block.
 * Other block rhythm stays at 13px.
 */
.bts-umt__canvas {
	margin-top: 21px !important;
}

/* Higher-contrast discrete Market Pulse ramp:
 * rung 1 starts from a lighter Rust/Teal value, then each rung progresses
 * toward the exact terminal signal color. Geometry and cumulative behavior
 * are unchanged.
 */
.bts-umt__pulse-bar[data-pulse="UP01"].is-up { background: #D17A5C; }
.bts-umt__pulse-bar[data-pulse="UP02"].is-up { background: #CF7255; }
.bts-umt__pulse-bar[data-pulse="UP03"].is-up { background: #CD694E; }
.bts-umt__pulse-bar[data-pulse="UP04"].is-up { background: #CB6047; }
.bts-umt__pulse-bar[data-pulse="UP05"].is-up { background: #CA5740; }
.bts-umt__pulse-bar[data-pulse="UP06"].is-up { background: #C84E39; }
.bts-umt__pulse-bar[data-pulse="UP07"].is-up { background: #C74533; }
.bts-umt__pulse-bar[data-pulse="UP08"].is-up { background: #C63B2E; }
.bts-umt__pulse-bar[data-pulse="UP09"].is-up { background: #C6312A; }

.bts-umt__pulse-bar[data-pulse="DN01"].is-down { background: #55A091; }
.bts-umt__pulse-bar[data-pulse="DN02"].is-down { background: #4A9D87; }
.bts-umt__pulse-bar[data-pulse="DN03"].is-down { background: #409A7C; }
.bts-umt__pulse-bar[data-pulse="DN04"].is-down { background: #369772; }
.bts-umt__pulse-bar[data-pulse="DN05"].is-down { background: #2D9467; }
.bts-umt__pulse-bar[data-pulse="DN06"].is-down { background: #25915C; }
.bts-umt__pulse-bar[data-pulse="DN07"].is-down { background: #1E8F51; }
.bts-umt__pulse-bar[data-pulse="DN08"].is-down { background: #198C46; }
.bts-umt__pulse-bar[data-pulse="DN09"].is-down { background: #158B3C; }

.bts-umt__pulse-bar[data-pulse="SELL"].is-sell { background: var(--bts-red); }
.bts-umt__pulse-bar[data-pulse="BUY"].is-buy { background: var(--bts-green); }

@media (max-width: 719px) {
	/* Preserve the same 21px hero separation on mobile. */
	.bts-umt__canvas {
		margin-top: 21px !important;
	}
}

/* ------------------------------------------------------------------
 * v0.1.60 STABLE CLEANUP PASS
 * ------------------------------------------------------------------ */

/* Historical entitlement link presentation is shared BTS text-link owned. */

/* Mobile cohort-report link keeps desktop-scale prominence; only the copy
 * is shortened for the narrower viewport.
 */
@media (max-width: 719px) {
	.bts-umt__cohort-more a {
		font-size: 16px !important;
	}
}

/* ------------------------------------------------------------------
 * v0.1.61 STABLE-CANDIDATE CTA + COHORT CLEANUP
 * ------------------------------------------------------------------ */

/* Canonical CTA spacing: exactly one visual word-space between the linked
 * account level and "unlocks". Older broad span margins are neutralized.
 */
.bts-umt__history-upgrade span {
	margin-left: 0 !important;
}

.bts-umt__cta-tail,
.bts-umt-broadcast__upgrade-tail,
.bts-umt-broadcast__previous-tail {
	margin-left: .25em !important;
}

/* Cohort copy is rendered in both forms and switched by CSS so viewport
 * presentation cannot depend on JS timing/matchMedia at render time.
 */
.bts-umt__cohort-copy-mobile {
	display: none !important;
}

.bts-umt__cohort-copy-desktop {
	display: inline !important;
}

@media (max-width: 719px) {
	.bts-umt__cohort-copy-desktop {
		display: none !important;
	}

	.bts-umt__cohort-copy-mobile {
		display: inline !important;
	}

	.bts-umt__cohort-more a {
		font-size: 16px !important;
	}
}

/* ------------------------------------------------------------------
 * v0.1.62 CTA SPACING + UNIFIED COHORT COPY
 * ------------------------------------------------------------------ */

/* CTA tails carry an explicit non-breaking word-space in markup.
 * Do not add CSS margin on top of it.
 */
.bts-umt__cta-tail,
.bts-umt-broadcast__upgrade-tail,
.bts-umt-broadcast__previous-tail {
	margin-left: 0 !important;
}

/* Cohort-report copy is now intentionally identical on desktop and mobile. */
.bts-umt__cohort-more a {
	font-size: 16px !important;
}

/* ------------------------------------------------------------------
 * v0.1.63 SCALE IN ACTION-STATE CLARITY + LINK POLISH
 * ------------------------------------------------------------------ */

/* Scale In-only states suppress BUY / 50% / 100% label components.
 * Hidden must win over theme display rules.
 */
.bts-umt__ladder-bottom [hidden] {
	display: none !important;
}

/* External-report links use no terminal punctuation; the icon acts as the
 * visual terminator and inherits the link interaction color.
 */
.bts-umt__new-tab-icon {
	display: inline-block;
	font-size: .9em;
	line-height: 1;
	margin-left: .28em;
	vertical-align: .04em;
}

/* ------------------------------------------------------------------
 * v0.1.64 ADMIN/LINK/BROADCAST POLISH
 * ------------------------------------------------------------------ */

/* Trade-history actions follow the standard secondary-link treatment:
 * normal weight, underlined, Navy -> Gold, no animation.
 */
/* Restore breathing room between the trade-history figure/caption and the
 * first action. Keep the two action links as a visually related group.
 */
.bts-umt__table-figure + .bts-umt__cohort-more {
	margin-top: 16px !important;
	padding-top: 0 !important;
}

.bts-umt__trades-more + .bts-umt__cohort-more {
	margin-top: 12px !important;
}

/* The cohort report is intentionally external only on desktop.
 * JavaScript controls target/rel; the icon/note mirror that contract.
 */
@media (max-width: 719px) {
	.bts-umt__new-tab-icon,
	.bts-umt__cohort-new-tab-note {
		display: none !important;
	}
}

/* Home mini broadcast: mobile intentionally carries only the two essential
 * live fields. Desktop retains Current Phase / Current Pulse / Previous Position.
 */
@media (max-width: 719px) {
	.bts-umt-broadcast {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.bts-umt-broadcast__item--previous {
		display: none !important;
	}
}

/* ------------------------------------------------------------------
 * v0.1.65 PRODUCTION HARDENING
 * ------------------------------------------------------------------ */

/* Canonical palette policy:
 * Standard BTS roles follow the Development palette registry.
 * The signal colors and discrete Market Pulse rung ramps are approved
 * UMT semantic exceptions. Do not normalize them to generic brand colors.
 */

/* Mobile Home broadcast is intentionally a simple two-column mini surface.
 * Center both headings and values for balanced visual weight.
 */
@media (max-width: 719px) {
	.bts-umt-broadcast__item,
	.bts-umt-broadcast__item strong,
	.bts-umt-broadcast__item > span,
	.bts-umt-broadcast__upgrade {
		text-align: center;
	}
}



/* ------------------------------------------------------------------
 * v0.1.66 TRADE-HISTORY IP DISCLOSURE
 * ------------------------------------------------------------------ */
.bts-umt__trade-disclosure {
	color: var(--umt-ink);
	font-size: 14.2px;
	line-height: 1.45;
	margin: 8px 0 12px;
}


/* ------------------------------------------------------------------
 * v0.1.68 TRADE HISTORY COLUMN BALANCE
 * ------------------------------------------------------------------ */
.bts-umt__recent-trades-table col {
	width: 25%;
}

.bts-umt__recent-trades-table thead th {
	overflow-wrap: normal;
	word-break: normal;
}


/* ------------------------------------------------------------------
 * v0.1.69 SHARED BTS TEXT-LINK HANDOFF
 * ------------------------------------------------------------------ */
/* Ordinary account/access/cohort links opt into .bts-text-link and are
 * presentation-owned by the shared BTS UX layer. UMT retains only semantic
 * hooks, layout, responsive behavior, and product logic for those links.
 * Buttons/toggles/sort controls remain UMT-owned.
 */


/* ------------------------------------------------------------------
 * v0.1.70 CANONICAL BTS COLOR OWNERSHIP
 * ------------------------------------------------------------------ */
/* Standard BTS colors resolve from the canonical --bts-* registry.
 * UMT owns only the approved Rust→Red and Teal→Green intermediate rung
 * literals for the Market Pulse visualization. Endpoint colors resolve from
 * --bts-rust/--bts-red/--bts-teal/--bts-green via canonical UMT aliases.
 * Shared .bts-text-link and .bts-cta-button presentation remains Site UX-owned.
 */


/* ------------------------------------------------------------------
 * v0.1.72 ENTITLEMENT / DEFAULT-SYMBOL UX
 * ------------------------------------------------------------------ */

/* Updated line: only the date is bold. */
.bts-umt__updated-strip {
	font-weight: 400 !important;
}

.bts-umt__updated-strip > span {
	font-weight: 400 !important;
}

.bts-umt__updated-strip [data-role="updated-date"] {
	font-weight: 800;
}

/* Keep the established ticker + View History controls and add one compact
 * browser-local preference control to the right on desktop. */






@media (max-width: 719px) {

}


/* ------------------------------------------------------------------
 * v0.1.74 COMPONENT OWNERSHIP CONSOLIDATION
 * Stable UMT shell, mobile legend, and Historical Performance controls.
 * ------------------------------------------------------------------ */

.bts-umt-interface-shell {
	box-sizing: border-box;
	background: var(--bts-white);
	border: 1px solid var(--bts-table-border);
	border-radius: 3px;
	padding-top: 10px;
}

.bts-umt-interface-shell + .bts-umt__history {
	margin-top: 20px;
}

/* Semantic Historical Performance control row. */
.bts-umt__history-controls {
	align-items: end;
	display: grid;
	gap: 10px;
	grid-template-columns: min(180px, 28%) 142px max-content;
	justify-content: start;
	width: 100%;
}

.bts-umt__symbol-input {
	border-radius: 3px;
}

.bts-umt__history-controls .bts-umt__default-symbol {
	align-items: center;
	align-self: center;
	display: inline-flex;
	margin: 0;
	white-space: nowrap;
}

/* No shadow/glow contract for UMT interactive controls. */
.bts-umt__mode-switch,
.bts-umt__mode-switch-thumb,
.bts-umt__history-control input[type="range"]::-webkit-slider-thumb,
.bts-umt__history-control input[type="range"]::-moz-range-thumb {
	box-shadow: none;
	filter: none;
	text-shadow: none;
}

@media (max-width: 640px) {
	.bts-umt-interface-shell {
		padding-top: 3px;
		padding-bottom: 10px;
	}

	/* Centered five-column x two-row legend. */
	.bts-umt__legend-strip {
		display: block;
		min-height: 0;
		padding-left: var(--umt-content-inset);
		padding-right: var(--umt-content-inset);
		text-align: center;
	}

	.bts-umt__legend-label {
		display: block;
		font-size: 10px;
		margin: 0 0 5px;
		min-height: 0;
		padding: 0;
		text-align: center;
		width: 100%;
	}

	.bts-umt__legend-grid {
		align-items: start;
		display: grid;
		grid-auto-flow: row;
		grid-template-columns: repeat(5, max-content);
		grid-template-rows: repeat(2, auto);
		column-gap: 8px;
		row-gap: 5px;
		justify-content: center;
		margin-inline: auto;
		max-width: 100%;
		overflow: visible;
		width: max-content;
	}

	.bts-umt__legend-item,
	.bts-umt__legend-grid .bts-umt__legend-item:nth-child(n) {
		align-items: baseline;
		display: flex;
		font-size: 9px;
		gap: 2px;
		grid-column: auto;
		grid-row: auto;
		justify-content: flex-start;
		min-width: 0;
		padding: 1px 0;
		text-align: left;
		white-space: nowrap;
	}

	.bts-umt__legend-code {
		font-weight: 800;
	}

	.bts-umt__legend-code--desktop,
	.bts-umt__legend-copy-desktop {
		display: none;
	}

	.bts-umt__legend-code--mobile,
	.bts-umt__legend-copy-mobile {
		display: inline;
		overflow: visible;
	}

	/* One-row Historical Performance controls at normal iPhone widths. */
	.bts-umt__history-controls {
		align-items: center;
		column-gap: 8px;
		display: grid;
		grid-template-columns: 96px max-content max-content;
		justify-content: start;
		width: 100%;
	}

	.bts-umt__symbol-input {
		box-sizing: border-box;
		font-size: 15px;
		height: 42px;
		max-width: 96px;
		min-width: 96px;
		width: 96px;
	}

	.bts-umt__history-controls .bts-umt-history-submit {
		font-size: 14px;
		height: 42px;
		min-height: 42px;
		min-width: 0;
		padding-inline: 5px;
		white-space: nowrap;
		width: auto;
	}

	.bts-umt__history-controls .bts-umt__default-symbol {
		gap: 3px;
		grid-column: auto;
		grid-row: auto;
		margin: 0;
		min-width: 0;
		white-space: nowrap;
	}
}

/* Narrow fallback only if the three controls cannot fit comfortably. */
@media (max-width: 355px) {
	.bts-umt__history-controls {
		grid-template-columns: 90px max-content max-content;
		column-gap: 4px;
	}

	.bts-umt__symbol-input {
		max-width: 90px;
		min-width: 90px;
		width: 90px;
	}
}


/* ------------------------------------------------------------------
 * v0.1.75 MOBILE CORRECTIONS + HISTORY-CONTROL VERTICAL RHYTHM
 * ------------------------------------------------------------------ */

.bts-umt__history-strip {
	margin-top: 26px !important;
}

.bts-umt__history-controls .bts-umt__default-symbol input[type="checkbox"] {
	border-radius: 0 !important;
}

@media (max-width: 640px) {
	.bts-umt__legend-grid {
		display: grid;
		grid-auto-flow: row;
		grid-template-columns: repeat(5, max-content);
		grid-template-rows: repeat(2, auto);
		column-gap: 8px;
		row-gap: 5px;
		justify-content: center;
		margin-inline: auto;
		max-width: 100%;
		width: max-content;
	}

	.bts-umt__legend-grid .bts-umt__legend-item:nth-child(n) {
		grid-column: auto;
		grid-row: auto;
	}

	.bts-umt__history-controls {
		column-gap: 8px;
	}
}
