/* ── Insurance — scoped page styles ───────────────────────
   /blackjack/strategy/insurance/, scoped under body.btf-ins-page.

   Rebuilt 2026-09-22 from the insurance mock: hero offer card, payout
   ledger, even-money panel, odds checker. Same conventions as the other
   blackjack guides: hero chrome shared with texas-holdem.css, the site
   table from base.css, serif for headings and display figures, Outfit for
   body and component text, mono for eyebrows and micro-labels.

   NOTE: do NOT alias --ink (circular with texas-holdem's --th-ink).
   ──────────────────────────────────────────────────────────────────────── */
body.btf-ins-page {
	--forest:    var( --th-forest );
	--gold:      var( --th-gold );
	--gold-soft: var( --th-gold-soft );
	--cream:     var( --th-cream );
	--cream-2:   var( --th-cream-2 );
	--cream-3:   var( --th-cream-3 );
	--ink-2:     var( --th-ink-2 );
	--muted:     var( --th-muted );
	--hair:      var( --th-hair );
	--red:       var( --th-red );
	--serif:     var( --th-serif );
	--sans:      var( --th-sans );
	--mono:      var( --th-mono );
	--radius:    var( --th-radius );
	--radius-lg: var( --th-radius-lg );
}

/* ── hero ───────────────────────────────────────────────────────────────── */
/* texas-holdem.css zeroes every `.prose p` at (0,2,2); hero paragraphs carry the hero-prose
   or hero-viz ancestor so their margins win. */
body.btf-ins-page .btf-th-hero-prose .hero-intro { margin: 0 0 1.3rem; }
body.btf-ins-page .btf-th-hero-prose .ins-quick { font-family: var( --sans ); font-size: .95rem; line-height: 1.7; color: rgba( 244, 239, 230, .85 ); max-width: 52ch; margin: 0 0 1.8rem; }
body.btf-ins-page .ins-quick b { color: #fff; }
body.btf-ins-page .btf-ins-hero-cta { display: flex; flex-wrap: wrap; gap: .7rem; margin: 0; }
body.btf-ins-page .btf-ins-hero-cta a { min-height: 44px; }
body.btf-ins-page .btf-ins-hero-viz { display: flex; flex-direction: column; gap: .8rem; }
body.btf-ins-page .btf-ins-hero-viz-title { font-family: var( --mono ); font-size: .68rem; letter-spacing: .11em; text-transform: uppercase; color: var( --gold-soft ); }

/* the offer card: the dealer's ace, the hidden card, and what each answer is worth */
body.btf-ins-page .ins-offer { padding: 1.55rem; background: rgba( 244, 239, 230, .06 ); border: 1px solid rgba( 244, 239, 230, .15 ); border-radius: var( --radius-lg ); }
body.btf-ins-page .ins-offer-scene { display: flex; align-items: center; gap: 1.4rem; padding-bottom: 1.4rem; border-bottom: 1px solid rgba( 244, 239, 230, .14 ); }
body.btf-ins-page .ins-offer-cards { display: flex; gap: .45rem; flex: none; }
body.btf-ins-page .ins-offer-label { display: block; font-family: var( --mono ); font-size: .64rem; letter-spacing: .04em; color: rgba( 244, 239, 230, .75 ); }
body.btf-ins-page .btf-ins-hero-viz .ins-offer .ins-offer-q { font-family: var( --serif ); font-size: 1.75rem; line-height: 1.15; color: var( --cream ); margin: .5rem 0 0; }
body.btf-ins-page .ins-offer-q em { color: var( --gold-soft ); font-style: italic; }
body.btf-ins-page .ins-offer-outcomes { margin: 0; }
body.btf-ins-page .ins-offer-outcomes > div { display: grid; grid-template-columns: 4.3rem 1fr; gap: .8rem; padding: 1.3rem 0; border-bottom: 1px solid rgba( 244, 239, 230, .14 ); }
body.btf-ins-page .ins-offer-outcomes dt { font-family: var( --sans ); font-size: .82rem; font-weight: 400; color: rgba( 244, 239, 230, .75 ); padding-top: .5rem; }
body.btf-ins-page .ins-offer-outcomes dd { margin: 0; }
body.btf-ins-page .ins-offer-outcomes strong { display: block; font-family: var( --serif ); font-weight: 400; font-size: 2.25rem; line-height: 1; color: var( --cream ); margin-bottom: .5rem; }
body.btf-ins-page .ins-offer-outcomes dd span { display: block; font-family: var( --sans ); font-size: .82rem; line-height: 1.6; color: rgba( 244, 239, 230, .82 ); }
body.btf-ins-page .btf-ins-hero-viz .ins-offer .ins-offer-note { font-family: var( --sans ); font-size: .72rem; line-height: 1.65; color: rgba( 244, 239, 230, .7 ); margin: 1rem 0 .6rem; }
/* texas-holdem strips hero links to plain text at (0,6,2); this one keeps its underline */
body.btf-ins-page .btf-ins-hero .ins-offer a.ins-offer-link:not(.rc-cta):not(.btn-primary):not(.btn-ghost) { display: inline-flex; align-items: center; gap: .3rem; min-height: 44px; font-family: var( --sans ); font-size: .8rem; color: var( --cream ); text-decoration: underline; text-underline-offset: 3px; }

/* playing cards (Instrument Serif has no suit glyphs) */
body.btf-ins-page .ins-pc { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; width: 55px; min-height: 78px; padding: .3rem; background: #fff; border: 1px solid var( --hair ); border-radius: 6px; color: var( --forest ); font-family: var( --serif ); font-size: 2.15rem; line-height: 1.05; box-shadow: 0 1px 0 rgba( 0, 0, 0, .04 ); }
body.btf-ins-page .ins-pc.is-red { color: var( --red ); }
body.btf-ins-page .ins-pc small { font-family: 'Times New Roman', Georgia, serif; font-size: 1.35rem; line-height: 1.2; margin-top: .1rem; }
body.btf-ins-page .ins-pc.is-back { color: #DFC99B; background: repeating-linear-gradient( 45deg, #355642, #355642 4px, #3A5C47 4px, #3A5C47 6px ); border: 2px solid #B4B59A; }

/* ── section rhythm: paper, hairline between sections ───────────────────── */
body.btf-ins-page .btf-ins-section { padding: 3.6rem 0 3.4rem; border-bottom: 1px solid var( --hair ); scroll-margin-top: 80px; }
body.btf-ins-page .btf-ins-section > .wrap > .btf-th-eyebrow { margin-bottom: .9rem; }
body.btf-ins-page .btf-ins-section h2.btf-th-display { margin: 0 0 .55em; font-size: clamp( 1.7rem, 3.4vw, 2.4rem ); }
body.btf-ins-page .btf-ins-section .btf-th-lede { margin: 0 0 1.7rem; color: var( --ink-2 ); max-width: 70ch; }
body.btf-ins-page .btf-ins-section .wrap p { font-family: var( --sans ); font-size: 1rem; line-height: 1.7; color: var( --ink-2 ); max-width: 68ch; margin: 0 0 1.15em; }
body.btf-ins-page .btf-ins-section .wrap p:last-child { margin-bottom: 0; }
body.btf-ins-page .btf-ins-section .wrap p b, body.btf-ins-page .btf-ins-section .wrap .btf-th-lede b { color: var( --th-ink ); }
body.btf-ins-page .btf-ins-section .wrap p a { color: var( --forest ); font-weight: 600; }
body.btf-ins-page .btf-ins-section .wrap .ins-intro p { max-width: 76ch; }
body.btf-ins-page .btf-ins-section .wrap .ins-fine { font-size: .82rem; line-height: 1.6; color: var( --muted ); }
body.btf-ins-page .btf-ins-section .wrap .ins-chart-note { max-width: 85ch; margin-top: 1.2rem; }
body.btf-ins-page .btf-ins-section .wrap .ins-fallback { padding: 1rem 1.2rem; background: var( --cream-2 ); border: 1px solid var( --hair ); border-radius: var( --radius ); font-size: .95rem; margin-top: 1rem; }

/* ── shared controls ────────────────────────────────────────────────────── */
body.btf-ins-page .ins-field { display: flex; flex-direction: column; gap: .45rem; font-family: var( --sans ); font-size: .84rem; color: var( --ink-2 ); }
body.btf-ins-page .ins-field select { font: inherit; font-family: var( --sans ); font-size: .95rem; padding: .6rem .65rem; color: var( --th-ink ); background: #fff; border: 1px solid var( --hair ); border-radius: 7px; width: 100%; min-width: 0; }
body.btf-ins-page .ins-field input[type="number"] { width: 100%; min-width: 0; font: inherit; font-family: var( --sans ); font-size: .95rem; color: var( --th-ink ); background: #fff; border: 1px solid var( --hair ); border-radius: 7px; padding: .55rem .7rem; min-height: 44px; }
body.btf-ins-page .ins-field input[type="number"]:focus { outline: 2px solid var( --gold ); outline-offset: 1px; }
body.btf-ins-page .ins-preset { font: inherit; font-family: var( --sans ); font-size: .8rem; color: var( --forest ); background: transparent; border: 1px solid var( --hair ); border-radius: 6px; padding: .4rem .7rem; min-height: 36px; cursor: pointer; }
body.btf-ins-page .ins-preset:hover { background: var( --cream-3 ); }
body.btf-ins-page .ins-presets { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: 1.1rem; font-family: var( --sans ); font-size: .8rem; color: var( --muted ); }
body.btf-ins-page .ins-notes { margin-top: 1.1rem; }
body.btf-ins-page .ins-notes > summary { cursor: pointer; width: fit-content; font-family: var( --sans ); font-size: .88rem; font-weight: 600; color: var( --forest ); padding: .3rem 0; }
body.btf-ins-page .btf-ins-section .wrap .ins-notes p { font-size: .88rem; color: var( --muted ); max-width: 84ch; margin: .5rem 0 0; }

/* ── the payout ledger ──────────────────────────────────────────────────── */
body.btf-ins-page .ins-ledger, body.btf-ins-page .ins-panel { background: var( --cream-2 ); border: 1px solid var( --hair ); border-radius: var( --radius-lg ); padding: 1.75rem; }
body.btf-ins-page .ins-ledger-controls { display: grid; grid-template-columns: .7fr 1.05fr 1.35fr; gap: .95rem; }
body.btf-ins-page .btf-ins-section .wrap .ins-ledger-scope { max-width: none; margin: .95rem 0 1.55rem; }
body.btf-ins-page .ins-ledger-strip { display: flex; align-items: center; flex-wrap: wrap; gap: 1.1rem; border-top: 1px solid var( --hair ); border-bottom: 1px solid var( --hair ); padding: 1.1rem 0; font-family: var( --sans ); }
body.btf-ins-page .ins-ledger-strip > span { font-size: .76rem; color: var( --muted ); }
body.btf-ins-page .ins-ledger-strip b { font-size: 1rem; font-weight: 600; color: var( --forest ); margin-left: .45rem; font-variant-numeric: tabular-nums; }
body.btf-ins-page .ins-ledger-results { display: grid; grid-template-columns: 1fr 1fr; gap: 2.25rem; padding-top: 1.5rem; }
body.btf-ins-page .ins-ledger-lines > div { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; padding: .6rem 0; font-family: var( --sans ); font-size: .9rem; color: var( --ink-2 ); }
body.btf-ins-page .ins-ledger-lines b { font-size: 1.45rem; font-weight: 500; color: var( --forest ); white-space: nowrap; font-variant-numeric: tabular-nums; }
body.btf-ins-page .ins-ledger-lines .ins-ledger-return { border-top: 1px solid var( --hair ); margin-top: .8rem; padding-top: 1rem; font-size: .76rem; }
body.btf-ins-page .ins-ledger-return span { max-width: 22ch; }
body.btf-ins-page .ins-ledger-lines .ins-ledger-return b { font-size: 1.25rem; }
body.btf-ins-page .ins-ledger-total { border-left: 1px solid var( --hair ); padding-left: 1.9rem; }
body.btf-ins-page .ins-ledger-total > span { font-family: var( --mono ); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; color: var( --muted ); }
body.btf-ins-page .ins-ledger-total > b { display: block; font-family: var( --serif ); font-weight: 400; font-size: 3.55rem; line-height: 1.3; color: var( --forest ); margin: .3rem 0; font-variant-numeric: tabular-nums; }
body.btf-ins-page .btf-ins-section .wrap .ins-ledger-total p { font-size: .9rem; line-height: 1.6; margin: 0; }
body.btf-ins-page .ins-ledger-lines b.is-neg, body.btf-ins-page .ins-ledger-total > b.is-neg, body.btf-ins-page .ins-odds-stats b.is-neg { color: var( --red ); }
body.btf-ins-page .ins-outcome-details { margin-top: 1.4rem; }
body.btf-ins-page .ins-outcome-details .ins-summary-wrap { margin: .7rem 0 0; }

/* ── the site table (felt header, stripes and radius come from base.css) ── */
body.btf-ins-page .ins-summary-wrap { overflow-x: auto; margin: 1rem 0; }
body.btf-ins-page .ins-summary-wrap .table-scroll-wrap { margin: 0; padding: 0; border: none; background: transparent; overflow: visible; }
body.btf-ins-page .ins-summary-table { width: 100%; margin: 0; font-family: var( --sans ); font-size: .92rem; }
/* caption read by screen readers; the section copy carries the same context */
body.btf-ins-page .ins-summary-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect( 0 0 0 0 ); clip-path: inset( 50% ); white-space: nowrap; border: 0; }
body.btf-ins-page .ins-summary-table thead th { font-family: var( --mono ); font-size: .64rem; letter-spacing: .07em; text-transform: uppercase; color: rgba( 244, 239, 230, .85 ); font-weight: 600; padding: .7rem .8rem; border: none; text-align: left; vertical-align: top; }
body.btf-ins-page .ins-summary-table tbody th { text-align: left; font-family: var( --sans ); font-weight: 700; font-size: .98rem; text-transform: none; letter-spacing: 0; color: var( --th-ink ); padding: .65rem .8rem; border-bottom: 1px solid var( --hair ); vertical-align: top; white-space: nowrap; }
body.btf-ins-page .ins-summary-table td { font-family: var( --sans ); font-size: .92rem; color: var( --ink-2 ); padding: .65rem .8rem; border-bottom: 1px solid var( --hair ); vertical-align: top; white-space: normal; font-variant-numeric: tabular-nums; }
body.btf-ins-page .ins-summary-table td small { display: block; font-size: .74rem; color: var( --muted ); margin-top: .15rem; }
/* the averages row: a tint the stripes cannot override */
body.btf-ins-page .ins-summary-table tbody tr.is-expected:nth-child( n ), body.btf-ins-page .ins-summary-table tbody tr.is-expected:nth-child( n ) th, body.btf-ins-page .ins-summary-table tbody tr.is-expected:nth-child( n ) td { background: #E9EDDE; color: var( --forest ); font-weight: 600; }

/* ── the even-money panel ───────────────────────────────────────────────── */
body.btf-ins-page .ins-panel { margin-top: 1.75rem; }
body.btf-ins-page .ins-panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1.5rem; }
body.btf-ins-page .ins-panel-eyebrow { display: block; font-family: var( --mono ); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; color: var( --gold ); margin-bottom: .55rem; }
body.btf-ins-page .ins-panel-head h3 { font-family: var( --serif ); font-weight: 400; font-size: 1.9rem; line-height: 1.2; color: var( --forest ); margin: 0; }
body.btf-ins-page .ins-panel-head .ins-field { min-width: 15.3rem; }
body.btf-ins-page .ins-even-panel .ins-summary-wrap { margin: 1.5rem 0 0; }
body.btf-ins-page .ins-even-verdict { margin: 1.4rem 0 .9rem; }
body.btf-ins-page .ins-even-verdict h3 { font-family: var( --sans ); font-weight: 700; font-size: 1.1rem; line-height: 1.4; color: var( --th-ink ); margin: 0 0 .5rem; }
body.btf-ins-page .btf-ins-section .wrap .ins-even-verdict p { font-size: .95rem; max-width: none; margin: 0; }
body.btf-ins-page .btf-ins-section .wrap .ins-panel > .ins-fine { font-size: .76rem; max-width: none; margin: 0 0 .6rem; }
body.btf-ins-page .btf-ins-section .wrap .ins-panel > .ins-fine:last-child { margin-bottom: 0; }

/* ── the odds checker ───────────────────────────────────────────────────── */
body.btf-ins-page .ins-checker { display: grid; grid-template-columns: 1fr 1fr; gap: 1.8rem; background: var( --cream-2 ); border: 1px solid var( --hair ); border-radius: var( --radius-lg ); padding: 1.75rem; margin-top: 1.75rem; }
body.btf-ins-page .ins-checker-row { display: grid; grid-template-columns: repeat( 3, 1fr ); gap: .75rem; }
body.btf-ins-page .btf-ins-section .wrap .ins-checker-controls > .ins-fine { margin: 1.1rem 0 0; }
body.btf-ins-page .btf-ins-section .wrap .ins-known p { font-size: .78rem; line-height: 1.6; }
body.btf-ins-page .ins-known-fields { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin-top: .95rem; }
body.btf-ins-page .ins-known .ins-preset { margin-top: .8rem; }
body.btf-ins-page .ins-result { border-left: 1px solid var( --hair ); padding-left: 1.8rem; display: flex; flex-direction: column; justify-content: center; }
body.btf-ins-page .btf-ins-section .wrap .ins-result-context { font-family: var( --mono ); font-size: .66rem; letter-spacing: .04em; color: var( --muted ); margin: 0 0 .4rem; }
body.btf-ins-page .ins-result h3 { font-family: var( --serif ); font-weight: 400; font-size: clamp( 1.8rem, 3vw, 2.4rem ); line-height: 1.1; color: var( --forest ); margin: 0 0 .6rem; }
body.btf-ins-page .ins-result.is-take h3 { color: var( --forest ); }
body.btf-ins-page .ins-result.is-error h3 { color: var( --red ); }
body.btf-ins-page .btf-ins-section .wrap .ins-result p { font-size: .95rem; margin: 0 0 .5rem; }
body.btf-ins-page .btf-ins-section .wrap .ins-result .ins-fine { font-size: .8rem; margin: 0; }
body.btf-ins-page .ins-odds-stats { display: grid; grid-template-columns: 1fr 1fr; gap: .95rem; border-top: 1px solid var( --hair ); padding-top: 1.05rem; margin: .9rem 0 .95rem; }
body.btf-ins-page .ins-odds-stats[hidden] { display: none; }
body.btf-ins-page .ins-odds-stats span { display: block; font-family: var( --sans ); font-size: .72rem; line-height: 1.5; color: var( --muted ); min-height: 2.1rem; }
body.btf-ins-page .ins-odds-stats b { display: block; font-family: var( --serif ); font-weight: 400; font-size: 2rem; line-height: 1.2; color: var( --forest ); margin-top: .2rem; font-variant-numeric: tabular-nums; }
body.btf-ins-page .ins-explain { max-width: 78ch; margin-top: 2.1rem; }
body.btf-ins-page .btf-ins-section h3.btf-th-display.ins-subhead { font-size: clamp( 1.45rem, 2.3vw, 1.8rem ); line-height: 1.2; margin: 0 0 .9rem; }

/* ── at the table ───────────────────────────────────────────────────────── */
body.btf-ins-page .btf-ins-section .wrap .ins-rule-note { font-size: .9rem; margin-top: 1.4rem; padding-top: 1.25rem; border-top: 1px solid var( --hair ); }

/* ── questions ──────────────────────────────────────────────────────────── */
body.btf-ins-page .ins-faq details { border-bottom: 1px solid var( --hair ); }
body.btf-ins-page .ins-faq details:first-child { border-top: 1px solid var( --hair ); }
body.btf-ins-page .ins-faq summary { position: relative; list-style: none; cursor: pointer; font-family: var( --sans ); font-size: 1.02rem; font-weight: 600; line-height: 1.5; color: var( --th-ink ); padding: 1.15rem 2.4rem 1.15rem 0; }
body.btf-ins-page .ins-faq summary::-webkit-details-marker { display: none; }
body.btf-ins-page .ins-faq summary::after { content: '+'; position: absolute; right: .2rem; top: .9rem; font-family: var( --serif ); font-size: 1.6rem; line-height: 1; color: var( --gold ); }
body.btf-ins-page .ins-faq details[open] summary::after { content: '\2212'; }
body.btf-ins-page .btf-ins-section .wrap .ins-faq p { font-size: .95rem; max-width: 77ch; margin: 0 0 1.3rem; padding-right: 1.5rem; }

/* ── responsive ─────────────────────────────────────────────────────────── */
@media ( max-width: 1000px ) {
	body.btf-ins-page .ins-offer { padding: 1.25rem; }
	body.btf-ins-page .ins-offer-scene { gap: 1rem; }
	body.btf-ins-page .ins-offer .ins-pc { width: 46px; min-height: 68px; font-size: 1.9rem; }
	body.btf-ins-page .btf-ins-hero-viz .ins-offer .ins-offer-q { font-size: 1.55rem; }
	body.btf-ins-page .ins-ledger-controls { grid-template-columns: .65fr 1fr 1.2fr; }
	body.btf-ins-page .ins-ledger, body.btf-ins-page .ins-panel { padding: 1.45rem; }
}
@media ( max-width: 860px ) {
	body.btf-ins-page .ins-checker { grid-template-columns: 1fr; padding: 1.25rem; gap: 1.25rem; }
	body.btf-ins-page .ins-result { border-left: none; border-top: 1px solid var( --hair ); padding: 1.25rem 0 0; }
}
@media ( max-width: 800px ) {
	body.btf-ins-page .btf-ins-section { padding: 2.8rem 0 2.6rem; }
}
@media ( max-width: 760px ) {
	body.btf-ins-page .ins-ledger-controls { grid-template-columns: 1fr 1fr; }
	body.btf-ins-page .ins-ledger-controls .ins-field:last-child { grid-column: 1 / -1; }
	body.btf-ins-page .ins-ledger-results { gap: 1.55rem; }
	body.btf-ins-page .ins-ledger-strip { gap: .8rem; }
	body.btf-ins-page .ins-ledger-strip b { display: block; margin-left: 0; }
	body.btf-ins-page .ins-ledger-total { padding-left: 1.45rem; }
	body.btf-ins-page .ins-ledger-total > b { font-size: 3.1rem; }
	body.btf-ins-page .ins-panel-head { flex-direction: column; gap: 1.25rem; }
	body.btf-ins-page .ins-panel-head .ins-field { width: 100%; min-width: 0; max-width: 22rem; }
	body.btf-ins-page .ins-summary-table tbody th, body.btf-ins-page .ins-summary-table td { padding: .6rem .7rem; font-size: .86rem; }
	body.btf-ins-page .ins-summary-table thead th { padding: .6rem .7rem; }
}
@media ( max-width: 480px ) {
	body.btf-ins-page .ins-offer { padding: 1.25rem; }
	body.btf-ins-page .ins-offer-scene { gap: 1.1rem; }
	body.btf-ins-page .ins-offer .ins-pc { width: 44px; min-height: 65px; font-size: 1.8rem; }
	body.btf-ins-page .ins-offer .ins-pc small { font-size: 1.15rem; }
	body.btf-ins-page .ins-offer-outcomes > div { grid-template-columns: 3.5rem 1fr; }
	body.btf-ins-page .ins-ledger, body.btf-ins-page .ins-panel { padding: 1.1rem; }
	body.btf-ins-page .ins-ledger-controls { grid-template-columns: 1fr; gap: .95rem; }
	body.btf-ins-page .ins-ledger-controls .ins-field:last-child { grid-column: auto; }
	body.btf-ins-page .ins-ledger-strip { gap: .6rem; justify-content: space-between; flex-wrap: nowrap; }
	body.btf-ins-page .ins-ledger-strip > span { font-size: .64rem; }
	body.btf-ins-page .ins-ledger-strip b { font-size: .95rem; }
	body.btf-ins-page .ins-ledger-results { grid-template-columns: 1fr; gap: 1.55rem; }
	body.btf-ins-page .ins-ledger-total { padding: 1.3rem 0 0; border-left: 0; border-top: 1px solid var( --hair ); }
	body.btf-ins-page .ins-ledger-total > b { font-size: 3rem; }
	body.btf-ins-page .ins-panel-head h3 { font-size: 1.7rem; }
	body.btf-ins-page .ins-checker { padding: 1.1rem; }
	body.btf-ins-page .ins-odds-fields { grid-template-columns: 1fr 1fr; }
	body.btf-ins-page .ins-odds-fields .ins-field:first-child { grid-column: 1 / -1; }
	body.btf-ins-page .ins-known-fields { grid-template-columns: 1fr; }
	body.btf-ins-page .ins-odds-stats b { font-size: 1.8rem; }
	body.btf-ins-page .ins-summary-table tbody th, body.btf-ins-page .ins-summary-table td { padding: .55rem .5rem; font-size: .8rem; }
	body.btf-ins-page .ins-summary-table thead th { padding: .55rem .5rem; font-size: .58rem; white-space: normal; }
	body.btf-ins-page .ins-summary-table tbody th { font-size: .82rem; white-space: normal; }
	body.btf-ins-page .ins-summary-table td small { font-size: .7rem; }
}
@media ( max-width: 360px ) {
	/* the four-column even-money table only fits the narrowest phones with tighter cells */
	body.btf-ins-page .ins-even-panel { padding: .8rem; }
	body.btf-ins-page .ins-even-table thead th { font-size: .52rem; letter-spacing: .02em; padding: .5rem .35rem; }
	body.btf-ins-page .ins-even-table tbody th, body.btf-ins-page .ins-even-table td { padding: .5rem .35rem; font-size: .76rem; }
	body.btf-ins-page .ins-even-table tbody th { font-size: .78rem; }
}
@media ( pointer: coarse ) {
	body.btf-ins-page .ins-field select { font-size: 16px; min-height: 44px; }
	body.btf-ins-page .ins-field input[type="number"] { font-size: 16px; }
	body.btf-ins-page .ins-preset { min-height: 44px; }
	body.btf-ins-page .ins-notes > summary, body.btf-ins-page .ins-faq summary { min-height: 44px; }
}
