/* ──────────────────────────────────────────────────────────────────────────
 * Implied Odds masterclass — page-scoped styles.
 *
 * Loaded only on /poker/strategy/implied-odds/ (gate: btf_is_io_page() in
 * functions.php). Sits on top of texas-holdem.css; reuses --th-* tokens.
 *
 * Cascade gotchas baked in from minute one (learned from the BR/OD/PF
 * builds):
 *   1. base.css `.section-paper > .wrap p:not([class])` wins over a
 *      plain `body.btf-io-page ... p` rule. Use `.prose` chains.
 *   2. `body.btf-th-page .prose p { margin: 0 }` strips paragraph
 *      margins. Restore via .prose chain where needed.
 *   3. `.btf-th-eyebrow` is `display: flex` with a `::before` brass
 *      dash. Don't override `display` — it stacks the dash above text.
 *   4. `.btf-th-display` is `margin: 0 0 .4em` — spacing owned by the
 *      eyebrow's `margin-bottom`.
 *   5. UA `[hidden] { display: none }` is overridden by explicit
 *      `display: flex / inline-flex`. Add `button[hidden] { display: none }`
 *      where needed.
 *   6. Selection on dark backgrounds → gold highlight.
 *   7. Hero CTAs use site-standard `.btn-primary` / `.btn-ghost`.
 *   8. Inline labels in widget halves get their `::before` dash
 *      suppressed.
 * ──────────────────────────────────────────────────────────── */

/* ── Selection on dark backgrounds ───────────────────────────────────── */
body.btf-io-page .btf-io-hero ::selection,
body.btf-io-page .btf-io-hero::selection,
body.btf-io-page .btf-io-ledger ::selection,
body.btf-io-page .btf-io-ledger::selection,
body.btf-io-page .btf-io-summary ::selection,
body.btf-io-page .btf-io-summary::selection,
body.btf-io-page .btf-io-ex-tab.active ::selection,
body.btf-io-page .btf-io-ex-tab.active::selection,
body.btf-io-page .btf-io-sd-mark.active ::selection,
body.btf-io-page .btf-io-sd-mark.active::selection,
body.btf-io-page .btf-io-check-btn.yes.active ::selection,
body.btf-io-page .btf-io-check-btn.yes.active::selection,
body.btf-io-page .btf-io-check-btn.no.active ::selection,
body.btf-io-page .btf-io-check-btn.no.active::selection {
	background: rgba( 212, 180, 74, .4 );
	color: var( --on-dark );
}

/* Token aliases */
body.btf-io-page {
	--btf-io-forest: var( --th-forest );
	--btf-io-forest-2: var( --th-forest-2 );
	--btf-io-forest-3: var( --th-forest-3 );
	--btf-io-gold: var( --th-gold );
	--btf-io-gold-soft: var( --th-gold-soft );
	--btf-io-cream: var( --th-cream );
	--btf-io-cream-2: var( --th-cream-2 );
	--btf-io-cream-3: var( --th-cream-3 );
	--btf-io-ink: var( --th-ink );
	--btf-io-ink-2: var( --th-ink-2 );
	--btf-io-muted: var( --th-muted );
	--btf-io-hair: var( --th-hair );
	--btf-io-red: var( --th-red );
	--btf-io-serif: var( --th-serif );
	--btf-io-sans: var( --th-sans );
	--btf-io-mono: var( --th-mono );
}

/* ── Section wrappers + editorial spacing ────────────────────────────── */
body.btf-io-page .btf-io-section {
	padding: 4rem 0 3rem;
	scroll-margin-top: 80px;
}
body.btf-io-page .btf-io-section > .wrap > .btf-th-eyebrow {
	margin-bottom: .9rem;
}
body.btf-io-page .prose .btf-io-section h2.btf-th-display {
	margin: 0 0 .55em;
}
body.btf-io-page .prose .btf-io-section .btf-th-lede,
body.btf-io-page .btf-io-section .btf-th-lede {
	margin: 0 0 2rem;
	color: var( --btf-io-ink-2 );
}

/* ── Hero ────────────────────────────────────────────────────────────── */
body.btf-io-page .btf-io-hero-body {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 2rem;
}
@media ( max-width: 880px ) {
	body.btf-io-page .btf-io-hero-body { grid-template-columns: 1fr; }
}
body.btf-io-page .btf-io-hero-cta {
	display: flex;
	gap: .7rem;
	flex-wrap: wrap;
	margin-top: 1.4rem;
}

/* ── Hero ledger (replaces a pull-quote with an animated panel) ──────── */
body.btf-io-page .btf-io-ledger {
	background: rgba( 243, 238, 226, .04 );
	border: 1px solid rgba( 243, 238, 226, .12 );
	border-radius: 16px;
	padding: 1.8rem 2rem;
	position: relative;
	overflow: hidden;
}
body.btf-io-page .btf-io-ledger::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient( ellipse at 80% 0%, rgba( 201, 162, 74, .08 ), transparent 60% );
	pointer-events: none;
}
body.btf-io-page .btf-io-ledger-eyebrow {
	font-family: var( --btf-io-mono );
	font-size: .68rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba( 243, 238, 226, .55 );
	display: block;
	margin-bottom: .35rem;
	position: relative;
}
body.btf-io-page .btf-io-ledger-title {
	font-family: var( --btf-io-serif );
	font-weight: 400;
	font-size: 1.5rem;
	letter-spacing: -.01em;
	color: var( --btf-io-cream );
	margin: 0 0 1.2rem;
	position: relative;
}
body.btf-io-page .btf-io-ledger-rows {
	display: flex;
	flex-direction: column;
	gap: .55rem;
	position: relative;
}
body.btf-io-page .btf-io-ledger-row {
	display: grid;
	grid-template-columns: 36px 1fr auto;
	align-items: center;
	gap: 1rem;
	padding: .6rem .8rem;
	background: rgba( 243, 238, 226, .03 );
	border: 1px solid rgba( 243, 238, 226, .08 );
	border-radius: 8px;
	opacity: 0;
	transform: translateY( 6px );
	transition: opacity .4s ease, transform .4s ease;
}
body.btf-io-page .btf-io-ledger-row.visible {
	opacity: 1;
	transform: translateY( 0 );
}
body.btf-io-page .btf-io-ledger-row.dashed { border-style: dashed; }
body.btf-io-page .btf-io-ledger-row.total {
	/* Total row has no chip-stack child, so collapse to a 2-col grid —
	 * label fills, amount right-aligned. Otherwise the label lands in
	 * the 36px first column and wraps awkwardly. */
	grid-template-columns: 1fr auto;
	background: rgba( 201, 162, 74, .08 );
	border-color: rgba( 201, 162, 74, .3 );
	padding: .9rem 1rem;
	opacity: 1;
	transform: none;
}
body.btf-io-page .btf-io-ledger-divider {
	height: 1px;
	background: rgba( 243, 238, 226, .15 );
	margin: .35rem 0;
}
body.btf-io-page .btf-io-ledger-label {
	font-family: var( --btf-io-sans );
	font-size: .95rem;
	color: rgba( 243, 238, 226, .85 );
	font-weight: 500;
}
body.btf-io-page .btf-io-ledger-sublabel {
	display: block;
	font-family: var( --btf-io-mono );
	font-size: .68rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba( 243, 238, 226, .45 );
	font-weight: 400;
	margin-top: .15em;
}
body.btf-io-page .btf-io-ledger-amt {
	font-family: var( --btf-io-serif );
	font-size: 1.25rem;
	font-weight: 400;
	color: var( --btf-io-cream );
	letter-spacing: -.01em;
}
body.btf-io-page .btf-io-ledger-amt.gold { color: var( --btf-io-gold-soft ); }
body.btf-io-page .btf-io-ledger-amt.big {
	font-size: 1.8rem;
	font-weight: 500;
	color: var( --btf-io-gold-soft );
}
body.btf-io-page .btf-io-ledger-eq {
	margin-top: 1.2rem;
	padding-top: 1rem;
	border-top: 1px solid rgba( 243, 238, 226, .12 );
	display: grid;
	grid-template-columns: auto auto 1fr;
	gap: 1rem;
	align-items: center;
}
body.btf-io-page .btf-io-ledger-eq-l {
	display: block;
	font-family: var( --btf-io-mono );
	font-size: .68rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba( 243, 238, 226, .5 );
	margin-bottom: .25em;
}
body.btf-io-page .btf-io-ledger-eq-v {
	font-family: var( --btf-io-serif );
	font-size: 2.2rem;
	font-weight: 400;
	color: var( --btf-io-cream );
	letter-spacing: -.02em;
	line-height: 1;
	transition: color .4s;
}
body.btf-io-page .btf-io-ledger-eq-v.drop { color: var( --btf-io-gold-soft ); }
body.btf-io-page .btf-io-ledger-eq-v small {
	font-family: var( --btf-io-mono );
	font-size: .9rem;
	color: rgba( 243, 238, 226, .55 );
	margin-left: .15em;
}
body.btf-io-page .btf-io-ledger-eq-arrow {
	font-family: var( --btf-io-serif );
	font-size: 1.8rem;
	color: var( --btf-io-gold-soft );
	align-self: end;
	padding-bottom: .3em;
	min-width: 1.5em;
	text-align: center;
}
body.btf-io-page .btf-io-ledger-eq-note {
	display: block;
	font-family: var( --btf-io-serif );
	font-size: .95rem;
	font-style: italic;
	color: rgba( 243, 238, 226, .78 );
	line-height: 1.4;
}
/* Chip stack column — decorative on cream chips, no actual chips drawn
 * since the column is purely visual spacing in the SSR baseline. */
body.btf-io-page .btf-io-chip-stack {
	width: 24px;
	height: 14px;
	border-radius: 50%;
	background: var( --btf-io-forest-3 );
	border: 1px solid rgba( 0, 0, 0, .35 );
	box-shadow: inset 0 1px 0 rgba( 255, 255, 255, .15 ), 0 -3px 0 var( --btf-io-forest-3 ), 0 -5px 0 -1px rgba( 0, 0, 0, .4 ), 0 -6px 0 var( --btf-io-forest-3 );
}
body.btf-io-page .btf-io-chip-stack.warm { background: #6b4a2a; box-shadow: inset 0 1px 0 rgba( 255, 255, 255, .15 ), 0 -3px 0 #6b4a2a, 0 -5px 0 -1px rgba( 0, 0, 0, .4 ), 0 -6px 0 #6b4a2a; }
body.btf-io-page .btf-io-chip-stack.gold { background: var( --btf-io-gold ); box-shadow: inset 0 1px 0 rgba( 255, 255, 255, .15 ), 0 -3px 0 var( --btf-io-gold ), 0 -5px 0 -1px rgba( 0, 0, 0, .35 ), 0 -6px 0 var( --btf-io-gold ); }

/* ── Cards (used in examples) ────────────────────────────────────────── */
body.btf-io-page .btf-io-card {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 64px;
	background: #fff;
	border: 1px solid rgba( 28, 24, 20, .18 );
	border-radius: 5px;
	box-shadow: 0 1px 2px rgba( 0, 0, 0, .12 ), 0 2px 6px rgba( 0, 0, 0, .06 );
	font-family: var( --btf-io-serif );
	line-height: 1;
}
body.btf-io-page .btf-io-card .rank { font-size: 1.25rem; font-weight: 400; }
body.btf-io-page .btf-io-card .suit { font-size: 1.15rem; margin-top: .15em; }
body.btf-io-page .btf-io-card .rank.is-ten { letter-spacing: -.08em; font-size: 1.1rem; }
body.btf-io-page .btf-io-card--red   { color: #b03a3a; }
body.btf-io-page .btf-io-card--black { color: var( --btf-io-ink ); }

/* ── "What they are" — pot odds vs implied odds split ──────────────────── */
body.btf-io-page .btf-io-vs {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 1rem;
	align-items: stretch;
	margin-bottom: 1.4rem;
}
@media ( max-width: 760px ) {
	body.btf-io-page .btf-io-vs { grid-template-columns: 1fr; }
}
body.btf-io-page .btf-io-vs-card {
	background: var( --btf-io-cream-2 );
	border: 1px solid var( --btf-io-hair );
	border-radius: 14px;
	padding: 1.5rem 1.6rem;
}
body.btf-io-page .btf-io-vs-h {
	font-family: var( --btf-io-serif );
	font-weight: 400;
	font-size: 1.4rem;
	margin: .3em 0 .6em;
	letter-spacing: -.01em;
	color: var( --btf-io-ink );
}
body.btf-io-page .prose .btf-io-vs-card p {
	margin: 0;
	font-size: .98rem;
	line-height: 1.6;
	color: var( --btf-io-ink-2 );
}
body.btf-io-page .btf-io-vs-arrow {
	display: grid;
	place-items: center;
	font-family: var( --btf-io-serif );
	font-size: 2rem;
	font-weight: 300;
	color: var( --btf-io-muted );
	padding: 0 .3rem;
}
@media ( max-width: 760px ) {
	body.btf-io-page .btf-io-vs-arrow { padding: .2rem 0; transform: rotate( 90deg ); }
}

/* ── Checklist ───────────────────────────────────────────────────────── */
body.btf-io-page .btf-io-check {
	background: var( --btf-io-cream-2 );
	border: 1px solid var( --btf-io-hair );
	border-radius: 14px;
	overflow: hidden;
}
body.btf-io-page .btf-io-check-rows { padding: 0; }
body.btf-io-page .btf-io-check-row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 1.5rem;
	padding: 1.2rem 1.6rem;
	border-bottom: 1px solid var( --btf-io-hair );
	align-items: center;
}
body.btf-io-page .btf-io-check-row:last-child { border-bottom: 0; }
@media ( max-width: 760px ) {
	body.btf-io-page .btf-io-check-row { grid-template-columns: 1fr; gap: .8rem; }
}
body.btf-io-page .btf-io-check-q {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
}
body.btf-io-page .btf-io-check-w {
	font-family: var( --btf-io-mono );
	font-size: .7rem;
	letter-spacing: .12em;
	color: var( --btf-io-forest );
	background: rgba( 29, 52, 38, .08 );
	padding: .25em .55em;
	border-radius: 3px;
	flex-shrink: 0;
	margin-top: .25em;
	font-weight: 600;
}
body.btf-io-page .btf-io-check-q h4 {
	font-family: var( --btf-io-serif );
	font-weight: 500;
	font-size: 1.15rem;
	letter-spacing: -.01em;
	margin: 0 0 .3em;
	color: var( --btf-io-ink );
}
body.btf-io-page .prose .btf-io-check-detail,
body.btf-io-page .btf-io-check-detail {
	margin: 0;
	font-size: .9rem;
	line-height: 1.5;
	color: var( --btf-io-muted );
	font-style: italic;
}
body.btf-io-page .btf-io-check-detail[hidden] { display: none; }
body.btf-io-page .prose .btf-io-show-yes,
body.btf-io-page .btf-io-show-yes { color: var( --btf-io-forest ); font-style: normal; }
body.btf-io-page .prose .btf-io-show-no,
body.btf-io-page .btf-io-show-no  { color: var( --btf-io-ink-2 ); font-style: normal; }
body.btf-io-page .btf-io-check-buttons {
	display: flex;
	gap: .35rem;
}
body.btf-io-page .btf-io-check-btn {
	background: var( --btf-io-cream );
	border: 1px solid var( --btf-io-hair );
	border-radius: 8px;
	padding: .55rem 1rem;
	font-family: var( --btf-io-mono );
	font-size: .78rem;
	letter-spacing: .08em;
	cursor: pointer;
	color: var( --btf-io-ink-2 );
	transition: all .15s;
}
body.btf-io-page .btf-io-check-btn:hover { border-color: var( --btf-io-ink-2 ); }
body.btf-io-page .btf-io-check-btn.yes.active {
	background: var( --btf-io-forest );
	border-color: var( --btf-io-forest );
	color: var( --btf-io-cream );
}
body.btf-io-page .btf-io-check-btn.no.active {
	background: var( --btf-io-ink );
	border-color: var( --btf-io-ink );
	color: var( --btf-io-cream );
}
body.btf-io-page .btf-io-check-verdict {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 2rem;
	padding: 1.5rem 1.6rem;
	background: var( --btf-io-cream-3 );
	border-top: 1px solid var( --btf-io-hair );
}
@media ( max-width: 760px ) {
	body.btf-io-page .btf-io-check-verdict { grid-template-columns: 1fr; gap: 1rem; }
}
body.btf-io-page .btf-io-check-score {
	display: flex;
	flex-direction: column;
	gap: .35rem;
}
body.btf-io-page .btf-io-check-num {
	font-family: var( --btf-io-serif );
	font-size: 3rem;
	font-weight: 300;
	line-height: 1;
	letter-spacing: -.02em;
	color: var( --btf-io-forest );
}
body.btf-io-page .btf-io-check-num small {
	font-family: var( --btf-io-mono );
	font-size: .9rem;
	color: var( --btf-io-muted );
	font-weight: 500;
	margin-left: .15em;
}
body.btf-io-page .btf-io-check-bar {
	height: 8px;
	background: var( --btf-io-cream );
	border: 1px solid var( --btf-io-hair );
	border-radius: 4px;
	overflow: hidden;
	margin-top: .3rem;
}
body.btf-io-page .btf-io-check-bar span {
	display: block;
	height: 100%;
	background: linear-gradient( 90deg, var( --btf-io-forest ), var( --btf-io-gold ) );
	transition: width .3s;
}
body.btf-io-page .prose .btf-io-check-verdict-text p,
body.btf-io-page .btf-io-check-verdict-text p {
	margin: .4em 0 0;
	font-size: 1rem;
	line-height: 1.6;
	color: var( --btf-io-ink );
	font-family: var( --btf-io-serif );
}

/* ── Stack depth ─────────────────────────────────────────────────────── */
body.btf-io-page .btf-io-stackdepth {
	background: var( --btf-io-cream-2 );
	border: 1px solid var( --btf-io-hair );
	border-radius: 14px;
	padding: 1.6rem 1.8rem;
}
body.btf-io-page .btf-io-sd-controls { margin-bottom: 1.6rem; }
body.btf-io-page .btf-io-sd-slider {
	width: 100%;
	-webkit-appearance: none;
	appearance: none;
	background: var( --btf-io-cream-3 );
	height: 4px;
	border-radius: 2px;
	outline: 0;
	margin-bottom: .8rem;
}
body.btf-io-page .btf-io-sd-slider::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var( --btf-io-forest );
	border: 3px solid var( --btf-io-cream );
	box-shadow: 0 2px 6px rgba( 0, 0, 0, .2 );
	cursor: pointer;
}
body.btf-io-page .btf-io-sd-slider::-moz-range-thumb {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var( --btf-io-forest );
	border: 3px solid var( --btf-io-cream );
	box-shadow: 0 2px 6px rgba( 0, 0, 0, .2 );
	cursor: pointer;
}
body.btf-io-page .btf-io-sd-marks {
	display: grid;
	grid-template-columns: repeat( 7, 1fr );
	gap: .35rem;
}
@media ( max-width: 760px ) {
	body.btf-io-page .btf-io-sd-marks { grid-template-columns: repeat( 4, 1fr ); }
}
body.btf-io-page .btf-io-sd-mark {
	background: transparent;
	border: 1px solid var( --btf-io-hair );
	border-radius: 6px;
	padding: .4rem .3rem;
	font: inherit;
	cursor: pointer;
	color: var( --btf-io-muted );
	text-align: center;
	transition: all .15s;
}
body.btf-io-page .btf-io-sd-mark:hover { border-color: var( --btf-io-ink-2 ); color: var( --btf-io-ink ); }
body.btf-io-page .btf-io-sd-mark.active {
	background: var( --btf-io-forest );
	border-color: var( --btf-io-forest );
	color: var( --btf-io-cream );
}
body.btf-io-page .btf-io-sd-mark span {
	font-family: var( --btf-io-serif );
	font-size: 1.05rem;
	font-weight: 500;
	letter-spacing: -.01em;
	display: block;
	line-height: 1;
}
body.btf-io-page .btf-io-sd-mark span small {
	font-family: var( --btf-io-mono );
	font-size: .55rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-left: .15em;
	opacity: .7;
}
body.btf-io-page .btf-io-sd-stage {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 2rem;
	align-items: stretch;
}
@media ( max-width: 760px ) {
	body.btf-io-page .btf-io-sd-stage { grid-template-columns: 1fr; }
}
body.btf-io-page .btf-io-sd-stack-vis {
	background: var( --btf-io-cream-3 );
	border: 1px solid var( --btf-io-hair );
	border-radius: 12px;
	padding: 1.2rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .8rem;
}
body.btf-io-page .btf-io-sd-stack-label {
	font-family: var( --btf-io-mono );
	font-size: .65rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var( --btf-io-muted );
}
body.btf-io-page .btf-io-sd-stack-wrap {
	position: relative;
	width: 80px;
	height: 200px;
	background: var( --btf-io-cream );
	border: 1px solid var( --btf-io-hair );
	border-radius: 6px;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
body.btf-io-page .btf-io-sd-stack-fill {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: repeating-linear-gradient(
		to top,
		var( --btf-io-forest ) 0,
		var( --btf-io-forest ) 6px,
		var( --btf-io-forest-2 ) 6px,
		var( --btf-io-forest-2 ) 7px
	);
	border-top: 2px solid var( --btf-io-gold );
	transition: height .5s cubic-bezier( .22, .61, .36, 1 );
	box-shadow: inset 0 -1px 0 rgba( 0, 0, 0, .3 );
}
body.btf-io-page .btf-io-sd-stack-bb {
	position: relative;
	font-family: var( --btf-io-serif );
	font-size: 1.4rem;
	font-weight: 500;
	color: var( --btf-io-cream );
	text-shadow: 0 1px 2px rgba( 0, 0, 0, .5 );
	z-index: 1;
	margin-bottom: .5rem;
	letter-spacing: -.02em;
}
body.btf-io-page .btf-io-sd-stack-bb small {
	font-family: var( --btf-io-mono );
	font-size: .65rem;
	margin-left: .2em;
	letter-spacing: .1em;
	font-weight: 400;
	opacity: .85;
}
body.btf-io-page .btf-io-sd-readout {
	display: flex;
	flex-direction: column;
}
body.btf-io-page .btf-io-sd-head {
	font-family: var( --btf-io-serif );
	font-weight: 400;
	font-size: 1.5rem;
	margin: .3em 0 .5em;
	letter-spacing: -.01em;
	color: var( --btf-io-ink );
}
body.btf-io-page .btf-io-sd-payoff {
	margin: 1rem 0 1.2rem;
}
body.btf-io-page .btf-io-sd-payoff-bar {
	height: 12px;
	background: var( --btf-io-cream-3 );
	border: 1px solid var( --btf-io-hair );
	border-radius: 6px;
	overflow: hidden;
	margin-top: .4rem;
}
body.btf-io-page .btf-io-sd-payoff-fill {
	display: block;
	height: 100%;
	transition: width .4s, background .4s;
}
body.btf-io-page .btf-io-sd-payoff-fill.good { background: linear-gradient( 90deg, var( --btf-io-forest ), var( --btf-io-forest-3 ) ); }
body.btf-io-page .btf-io-sd-payoff-fill.ok   { background: linear-gradient( 90deg, var( --btf-io-gold ), var( --btf-io-gold-soft ) ); }
body.btf-io-page .btf-io-sd-payoff-fill.bad  { background: var( --btf-io-red ); }
body.btf-io-page .btf-io-sd-payoff-num {
	font-family: var( --btf-io-serif );
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: -.01em;
	color: var( --btf-io-ink );
	margin-top: .3em;
}
body.btf-io-page .prose .btf-io-sd-verdict,
body.btf-io-page .btf-io-sd-verdict {
	font-family: var( --btf-io-serif );
	font-size: 1.05rem;
	line-height: 1.5;
	color: var( --btf-io-ink );
	margin: 0;
	padding: 1rem 1.2rem;
	border-radius: 8px;
	background: var( --btf-io-cream );
	border: 1px solid var( --btf-io-hair );
}
body.btf-io-page .btf-io-sd-verdict.good { border-left: 3px solid var( --btf-io-forest ); }
body.btf-io-page .btf-io-sd-verdict.ok   { border-left: 3px solid var( --btf-io-gold ); }
body.btf-io-page .btf-io-sd-verdict.bad  { border-left: 3px solid var( --btf-io-red ); background: rgba( 139, 36, 36, .04 ); }

/* ── Estimator ───────────────────────────────────────────────────────── */
body.btf-io-page .btf-io-est {
	background: var( --btf-io-cream-2 );
	border: 1px solid var( --btf-io-hair );
	border-radius: 14px;
	padding: 1.5rem 1.6rem;
}
body.btf-io-page .btf-io-est-inputs {
	display: grid;
	grid-template-columns: repeat( 4, 1fr );
	gap: 1rem;
	padding-bottom: 1.4rem;
	border-bottom: 1px solid var( --btf-io-hair );
	margin-bottom: 1.4rem;
}
@media ( max-width: 760px ) {
	body.btf-io-page .btf-io-est-inputs { grid-template-columns: 1fr 1fr; }
}
body.btf-io-page .btf-io-est-inputs label {
	display: flex;
	flex-direction: column;
	gap: .35rem;
}
body.btf-io-page .btf-io-est-num {
	display: flex;
	align-items: center;
	background: var( --btf-io-cream );
	border: 1px solid var( --btf-io-hair );
	border-radius: 8px;
	padding: 0 .8rem;
	gap: .4rem;
}
body.btf-io-page .btf-io-est-num > span {
	font-family: var( --btf-io-mono );
	color: var( --btf-io-muted );
	font-size: 1rem;
}
body.btf-io-page .btf-io-est-num input {
	flex: 1;
	background: transparent;
	border: 0;
	outline: 0;
	font-family: var( --btf-io-serif );
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: -.01em;
	color: var( --btf-io-ink );
	padding: .55rem 0;
	width: 100%;
	-moz-appearance: textfield;
}
body.btf-io-page .btf-io-est-num input::-webkit-outer-spin-button,
body.btf-io-page .btf-io-est-num input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body.btf-io-page .btf-io-est-results {
	display: flex;
	flex-direction: column;
	gap: .9rem;
	margin-bottom: 1.4rem;
}
body.btf-io-page .btf-io-est-row {
	display: grid;
	grid-template-columns: 220px 1fr 80px;
	gap: 1rem;
	align-items: center;
}
@media ( max-width: 600px ) {
	body.btf-io-page .btf-io-est-row { grid-template-columns: 1fr; gap: .35rem; }
}
body.btf-io-page .btf-io-est-bar {
	height: 14px;
	background: var( --btf-io-cream-3 );
	border: 1px solid var( --btf-io-hair );
	border-radius: 8px;
	overflow: hidden;
}
body.btf-io-page .btf-io-est-fill {
	display: block;
	height: 100%;
	transition: width .3s;
}
body.btf-io-page .btf-io-est-fill.eq      { background: linear-gradient( 90deg, var( --btf-io-forest ), var( --btf-io-forest-3 ) ); }
body.btf-io-page .btf-io-est-fill.direct  { background: var( --btf-io-ink-2 ); }
body.btf-io-page .btf-io-est-fill.implied { background: linear-gradient( 90deg, var( --btf-io-gold ), var( --btf-io-gold-soft ) ); }
body.btf-io-page .btf-io-est-pct {
	font-family: var( --btf-io-serif );
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: -.01em;
	color: var( --btf-io-ink );
	text-align: right;
}
body.btf-io-page .btf-io-est-pct small {
	font-family: var( --btf-io-mono );
	font-size: .85rem;
	color: var( --btf-io-muted );
}
body.btf-io-page .btf-io-est-verdict {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 1.4rem;
	padding: 1.3rem 1.4rem;
	background: var( --btf-io-cream-3 );
	border: 1px solid var( --btf-io-hair );
	border-radius: 10px;
}
@media ( max-width: 760px ) {
	body.btf-io-page .btf-io-est-verdict { grid-template-columns: 1fr; }
}
body.btf-io-page .btf-io-est-verdict.snap {
	background: #dcebdf;
	border-color: var( --btf-io-forest );
}
body.btf-io-page .btf-io-est-verdict.implied {
	background: rgba( 201, 162, 74, .14 );
	border-color: var( --btf-io-gold );
}
body.btf-io-page .btf-io-est-verdict.fold {
	background: #f5dcdc;
	border-color: var( --btf-io-red );
}
body.btf-io-page .btf-io-est-verdict-word {
	font-family: var( --btf-io-serif );
	font-weight: 400;
	font-size: 1.6rem;
	margin: .2em 0 0;
	letter-spacing: -.01em;
	color: var( --btf-io-ink );
}
body.btf-io-page .prose .btf-io-est-verdict-body,
body.btf-io-page .btf-io-est-verdict-body {
	margin: 0;
	font-size: 1rem;
	line-height: 1.55;
	color: var( --btf-io-ink );
	font-family: var( --btf-io-serif );
}

/* ── Examples ────────────────────────────────────────────────────────── */
body.btf-io-page .btf-io-ex-tabs {
	display: grid;
	grid-template-columns: repeat( 4, 1fr );
	gap: .5rem;
	margin-bottom: 1.4rem;
}
@media ( max-width: 760px ) {
	body.btf-io-page .btf-io-ex-tabs { grid-template-columns: 1fr 1fr; }
}
body.btf-io-page .btf-io-ex-tab {
	background: var( --btf-io-cream-2 );
	border: 1px solid var( --btf-io-hair );
	border-radius: 10px;
	padding: 1rem 1.1rem;
	cursor: pointer;
	text-align: left;
	display: flex;
	flex-direction: column;
	gap: .35em;
	font: inherit;
	color: var( --btf-io-ink );
	transition: border-color .15s, box-shadow .15s, background .15s;
}
body.btf-io-page .btf-io-ex-tab:hover {
	border-color: var( --btf-io-forest );
	box-shadow: 0 1px 0 rgba( 29, 52, 38, .12 ), 0 4px 12px rgba( 29, 52, 38, .06 );
}
body.btf-io-page .btf-io-ex-tab.active {
	background: var( --btf-io-forest );
	border-color: var( --btf-io-forest );
	color: var( --btf-io-cream );
}
body.btf-io-page .btf-io-ex-tabnum {
	font-family: var( --btf-io-mono );
	font-size: .7rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var( --btf-io-muted );
}
body.btf-io-page .btf-io-ex-tab.active .btf-io-ex-tabnum { color: var( --btf-io-gold-soft ); }
body.btf-io-page .btf-io-ex-tab b {
	font-family: var( --btf-io-serif );
	font-weight: 400;
	font-size: 1.05rem;
	letter-spacing: -.01em;
	line-height: 1.3;
}
body.btf-io-page .btf-io-ex-card {
	background: var( --btf-io-cream-2 );
	border: 1px solid var( --btf-io-hair );
	border-radius: 14px;
	padding: 1.6rem 1.8rem;
}
body.btf-io-page .btf-io-ex-head {
	padding-bottom: 1rem;
	border-bottom: 1px solid var( --btf-io-hair );
	margin-bottom: 1.2rem;
}
body.btf-io-page .btf-io-ex-h {
	font-family: var( --btf-io-serif );
	font-weight: 400;
	font-size: 1.5rem;
	margin: .3em 0 .6em;
	letter-spacing: -.01em;
	color: var( --btf-io-ink );
}
body.btf-io-page .prose .btf-io-ex-spot,
body.btf-io-page .btf-io-ex-spot {
	font-family: var( --btf-io-serif );
	font-size: 1.1rem;
	line-height: 1.5;
	color: var( --btf-io-ink );
	margin: 0;
}
body.btf-io-page .btf-io-ex-table {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
	padding: 1.2rem;
	background: var( --btf-io-cream-3 );
	border-radius: 10px;
	margin-bottom: 1.2rem;
}
@media ( max-width: 760px ) {
	body.btf-io-page .btf-io-ex-table { grid-template-columns: 1fr; }
}
body.btf-io-page .btf-io-ex-half {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .55rem;
}
body.btf-io-page .btf-io-ex-half[hidden] { display: none; }
body.btf-io-page .btf-io-ex-cards {
	display: flex;
	gap: .4rem;
	flex-wrap: wrap;
	justify-content: center;
}
body.btf-io-page .btf-io-ex-verdict-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-bottom: 1rem;
}
body.btf-io-page .btf-io-ex-verdict-block {
	padding: 1rem 1.2rem;
	background: var( --btf-io-cream );
	border: 1px solid var( --btf-io-hair );
	border-radius: 8px;
}
body.btf-io-page .btf-io-ex-play,
body.btf-io-page .btf-io-ex-imp {
	font-family: var( --btf-io-serif );
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: -.01em;
	margin-top: .3em;
	color: var( --btf-io-ink );
}
body.btf-io-page .btf-io-ex-play.good,
body.btf-io-page .btf-io-ex-imp.good { color: var( --btf-io-forest ); }
body.btf-io-page .btf-io-ex-play.bad,
body.btf-io-page .btf-io-ex-imp.bad  { color: var( --btf-io-red ); }
body.btf-io-page .prose .btf-io-ex-takeaway,
body.btf-io-page .btf-io-ex-takeaway {
	margin: 1rem 0 0;
	padding: 1rem 1.2rem;
	background: var( --btf-io-cream );
	border-left: 3px solid var( --btf-io-gold );
	border-radius: 0 8px 8px 0;
	font-size: .95rem;
	line-height: 1.55;
	color: var( --btf-io-ink-2 );
}

/* ── Traps ───────────────────────────────────────────────────────────── */
body.btf-io-page .btf-io-traps {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	gap: 1rem;
}
@media ( max-width: 760px ) {
	body.btf-io-page .btf-io-traps { grid-template-columns: 1fr; }
}
body.btf-io-page .btf-io-trap {
	background: var( --btf-io-cream-2 );
	border: 1px solid var( --btf-io-hair );
	border-left: 3px solid var( --btf-io-red );
	border-radius: 12px;
	padding: 1.4rem 1.5rem;
}
body.btf-io-page .btf-io-trap-num {
	font-family: var( --btf-io-mono );
	font-size: .7rem;
	letter-spacing: .14em;
	color: var( --btf-io-red );
	font-weight: 600;
	display: block;
	margin-bottom: .4em;
}
body.btf-io-page .btf-io-trap-h {
	font-family: var( --btf-io-serif );
	font-weight: 400;
	font-size: 1.25rem;
	margin: .3em 0 .5em;
	letter-spacing: -.01em;
	color: var( --btf-io-ink );
}
body.btf-io-page .prose .btf-io-trap p,
body.btf-io-page .btf-io-trap p {
	margin: 0;
	font-size: .95rem;
	line-height: 1.55;
	color: var( --btf-io-ink-2 );
}

/* ── Callouts (tip / pro / pitfall) ──────────────────────────────────── */
/* `:not([hidden])` so empty callouts hidden via the hidden attribute
 * don't render as visible bordered boxes. */
body.btf-io-page .btf-io-callout:not([hidden]) {
	display: flex;
	gap: 1rem;
	padding: 1rem 1.2rem;
	margin: 1.4rem 0 0;
	border-radius: 10px;
	border: 1px solid;
	align-items: flex-start;
}
body.btf-io-page .btf-io-callout.tip {
	background: rgba( 217, 228, 210, .35 );
	border-color: rgba( 45, 74, 42, .15 );
	color: var( --th-tip-ink );
}
body.btf-io-page .btf-io-callout.pro {
	background: #dcebdf;
	border-color: var( --btf-io-forest );
	color: var( --btf-io-forest );
}
body.btf-io-page .btf-io-callout.pitfall {
	background: #f5dcdc;
	border-color: var( --btf-io-red );
	color: var( --btf-io-red );
}
body.btf-io-page .btf-io-callout-icon {
	flex-shrink: 0;
	font-family: var( --btf-io-mono );
	font-size: .7rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 600;
	padding: .25em .55em;
	border-radius: 3px;
	background: rgba( 0, 0, 0, .08 );
	margin-top: .15em;
}
body.btf-io-page .btf-io-callout.tip .btf-io-callout-icon { background: rgba( 45, 74, 42, .15 ); color: var( --th-tip-ink ); }
body.btf-io-page .btf-io-callout.pro .btf-io-callout-icon { background: rgba( 29, 52, 38, .18 ); color: var( --btf-io-forest ); }
body.btf-io-page .btf-io-callout.pitfall .btf-io-callout-icon { background: rgba( 139, 45, 45, .18 ); color: var( --btf-io-red ); }
body.btf-io-page .btf-io-callout > span:last-child {
	font-family: var( --btf-io-serif );
	font-size: 1.02rem;
	line-height: 1.55;
}

/* Inline-label eyebrow dash suppression (same pattern as PF page) */
body.btf-io-page .btf-io-vs-card        > .btf-th-eyebrow::before,
body.btf-io-page .btf-io-est-inputs label > .btf-th-eyebrow::before,
body.btf-io-page .btf-io-est-row        > .btf-th-eyebrow::before,
body.btf-io-page .btf-io-est-verdict-label > .btf-th-eyebrow::before,
body.btf-io-page .btf-io-ex-half        > .btf-th-eyebrow::before,
body.btf-io-page .btf-io-ex-head        > .btf-th-eyebrow::before,
body.btf-io-page .btf-io-ex-verdict-block > .btf-th-eyebrow::before,
body.btf-io-page .btf-io-sd-readout     > .btf-th-eyebrow::before,
body.btf-io-page .btf-io-sd-payoff      > .btf-th-eyebrow::before,
body.btf-io-page .btf-io-check-score    > .btf-th-eyebrow::before,
body.btf-io-page .btf-io-check-verdict-text > .btf-th-eyebrow::before {
	display: none;
}
body.btf-io-page .btf-io-vs-card        > .btf-th-eyebrow,
body.btf-io-page .btf-io-est-inputs label > .btf-th-eyebrow,
body.btf-io-page .btf-io-est-row        > .btf-th-eyebrow,
body.btf-io-page .btf-io-est-verdict-label > .btf-th-eyebrow,
body.btf-io-page .btf-io-ex-half        > .btf-th-eyebrow,
body.btf-io-page .btf-io-ex-head        > .btf-th-eyebrow,
body.btf-io-page .btf-io-ex-verdict-block > .btf-th-eyebrow,
body.btf-io-page .btf-io-sd-readout     > .btf-th-eyebrow,
body.btf-io-page .btf-io-sd-payoff      > .btf-th-eyebrow,
body.btf-io-page .btf-io-check-score    > .btf-th-eyebrow,
body.btf-io-page .btf-io-check-verdict-text > .btf-th-eyebrow {
	gap: 0;
	font-size: .68rem;
	letter-spacing: .14em;
	color: var( --btf-io-muted );
}

/* ── Summary felt panel ──────────────────────────────────────────────── */
body.btf-io-page .btf-io-summary {
	background: var( --btf-io-forest );
	color: var( --btf-io-cream );
	padding: 4rem 0 5rem;
}
body.btf-io-page .btf-io-sm-eyebrow {
	font-family: var( --btf-io-mono );
	font-size: .72rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var( --btf-io-gold-soft );
	display: block;
	margin-bottom: 1rem;
}
body.btf-io-page .btf-io-sm-display {
	font-family: var( --btf-io-serif );
	font-weight: 400;
	font-size: clamp( 2rem, 4.2vw, 3.4rem );
	line-height: 1.05;
	letter-spacing: -.015em;
	color: var( --btf-io-cream );
	margin: .4em 0 .8em;
}
body.btf-io-page .btf-io-sm-display em {
	color: var( --btf-io-gold-soft );
	font-style: italic;
}
body.btf-io-page .btf-io-sm-steps {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	gap: 1.2rem;
	margin-top: 2.5rem;
}
@media ( max-width: 880px ) {
	body.btf-io-page .btf-io-sm-steps { grid-template-columns: 1fr; }
}
body.btf-io-page .btf-io-sm-step {
	background: rgba( 255, 255, 255, .04 );
	border: 1px solid rgba( 255, 255, 255, .08 );
	border-radius: 12px;
	padding: 1.4rem 1.5rem 1.5rem;
}
body.btf-io-page .btf-io-sm-num {
	font-family: var( --btf-io-mono );
	font-size: .7rem;
	letter-spacing: .16em;
	color: var( --btf-io-gold-soft );
	display: block;
	margin-bottom: .4rem;
}
body.btf-io-page .btf-io-sm-step h4 {
	font-family: var( --btf-io-serif );
	font-weight: 400;
	font-size: 1.25rem;
	margin: 0 0 .5em;
	color: var( --btf-io-cream );
}
body.btf-io-page .prose .btf-io-sm-step p,
body.btf-io-page .btf-io-sm-step p {
	font-size: .92rem;
	line-height: 1.55;
	color: rgba( 255, 255, 255, .82 );
	margin: 0;
}
