.trainer { max-width: 1000px; }
.spot-facts {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  margin: 18px 0 22px;
}
.spot-facts span { display: grid; gap: 5px; padding: 12px; background: #18231f; border: 1px solid #ffffff16; }
.spot-facts small { color: #8f9b95; font-size: .65rem; }
.spot-facts b { font-size: .82rem; }
@media (max-width: 700px) { .spot-facts { grid-template-columns: repeat(2, 1fr); } }

.training-table { display: grid; grid-template-columns: minmax(280px, 1fr) 1fr; gap: 18px; align-items: center; margin: 18px 0; }
.mini-table { position: relative; min-height: 250px; border: 8px solid #342b20; border-radius: 48%; background: radial-gradient(ellipse, #2e6c55, #173a30 68%); }
.mini-pot { position: absolute; inset: 42% 30%; text-align: center; color: #c4cec9; font-size: .7rem; }
.mini-seat { position: absolute; width: 120px; padding: 8px; border: 1px solid #ffffff25; border-radius: 5px; background: #111916; text-align: center; }
.mini-seat small { display: block; margin-top: 3px; color: #aeb8b3; font-size: .66rem; }
.mini-seat em { display: block; margin-top: 5px; color: var(--gold); font-size: .66rem; font-style: normal; }
.mini-seat.hero-seat { border: 2px solid var(--gold); background: #283525; }
.mini-seat.seat-0 { bottom: -18px; left: 35%; }
.mini-seat.seat-1 { bottom: 13%; right: -18px; }
.mini-seat.seat-2 { top: 13%; right: -18px; }
.mini-seat.seat-3 { top: -18px; left: 35%; }
.mini-seat.seat-4 { top: 13%; left: -18px; }
.mini-seat.seat-5 { bottom: 13%; left: -18px; }
.action-story { padding: 18px; border-left: 2px solid var(--gold); background: #18231f; }
.action-story small { display: block; color: var(--gold); margin-bottom: 6px; }
.action-story ol { margin: 8px 0 18px; padding-left: 22px; color: #d9dfdc; line-height: 1.8; }
.action-story .you-act { color: var(--gold); font-weight: 700; }
.snapshot-note { margin: 4px 0 10px; font-size: .88rem; }
.hand-progress { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; margin-bottom: 16px; }
.hand-progress span { min-height: 58px; padding: 9px; border: 1px solid #ffffff18; color: #7f8b85; font-size: .75rem; }
.hand-progress span.complete { color: #b8c3bd; background: #18231f; }
.hand-progress span.current { color: #fff; border-color: var(--gold); background: #283525; }
.hand-progress b { display: block; margin-top: 5px; color: #f2ede2; font-size: .7rem; }
.teaching-note { padding: 12px 16px; background: #18231f; border-left: 2px solid #668d7a; }
.training-heading { margin: 32px 0 8px; color: #f2ede2; font: 1.75rem Georgia, serif; }
.decision-heading { margin-top: 28px; }
.action-story h4 { margin: 0 0 10px; color: #f2ede2; font: 1.35rem Georgia, serif; }
.percentage-help { margin: 14px 0; padding: 16px 18px; background: #27291f; border: 1px solid #d6ac6355; }
.percentage-help h3 { margin: 0 0 8px; color: var(--gold); font: 1.3rem Georgia, serif; }
.percentage-help p { margin: 0; color: #d3dad6; }
.training-jump { margin: -20px 0 28px; }
.training-jump > small { display: block; margin-bottom: 8px; color: var(--gold); }
.training-jump > div { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.training-jump button { display: grid; gap: 4px; padding: 12px; background: #18231f; border: 1px solid #ffffff20; color: #f2ede2; text-align: left; }
.training-jump button span { color: #98a39d; font-size: .68rem; font-weight: 400; text-transform: none; letter-spacing: 0; }
.training-jump button.active { border-color: var(--gold); background: #283525; }
.training-levels { margin: -20px 0 22px; }
.training-levels > small { display: block; margin-bottom: 8px; color: var(--gold); }
.training-levels > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.training-levels button { display: grid; gap: 5px; padding: 14px; background: #18231f; border: 1px solid #ffffff20; color: #f2ede2; text-align: left; }
.training-levels button span { color: #98a39d; font-size: .72rem; font-weight: 400; text-transform: none; letter-spacing: 0; }
.training-levels button.active { border-color: var(--gold); background: #283525; }
.training-variant { margin: -20px 0 28px; }
.training-variant > small { display: block; margin-bottom: 8px; color: var(--gold); }
.training-variant > div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.training-variant button { display: grid; gap: 5px; padding: 14px; background: #18231f; border: 1px solid #ffffff20; color: #f2ede2; text-align: left; }
.training-variant button span { color: #98a39d; font-size: .72rem; font-weight: 400; text-transform: none; letter-spacing: 0; }
.training-variant button.active { border-color: var(--gold); background: #283525; }
.mini-hole { display: block; margin-top: 6px; padding: 4px; border-radius: 3px; background: #eee9df; color: #171b19; font: 700 .92rem Georgia,serif; letter-spacing: .08em; }
.trainer .range { display: none; }
.odds-lesson { margin-top: 20px; padding: 18px; background: #142a23; border: 1px solid #56b88a55; }
.odds-lesson h3 { margin: 0 0 12px; color: #f2ede2; font: 1.45rem Georgia, serif; }
.odds-lesson p { color: #d3dad6; }
.odds-lesson small { display: block; padding-top: 8px; color: #92a099; }
.live-hand-log { display: grid; grid-template-columns: 190px 1fr; gap: 20px; margin-top: 30px; padding: 20px; background: #18231f; border: 1px solid #ffffff18; }
.live-hand-log h3 { margin: 2px 0; font: 1.6rem Georgia,serif; }
.live-hand-log ol { margin: 0; padding-left: 22px; max-height: 260px; overflow: auto; }
.live-hand-log li { padding: 5px 0; color: #d8dfdb; }
.live-hand-log li span { display: inline-block; min-width: 105px; color: var(--gold); font-size: .72rem; text-transform: uppercase; }
.live-hand-log li b { margin-right: 5px; }
.live-hand-log li small { display: block; margin-left: 108px; color: #8f9b95; }
main:has(.live-hand-log) { max-width: 1450px; padding-right: 390px; }
main:has(.live-hand-log) .table { height: 440px; }
main:has(.live-hand-log) .controls { margin-top: 42px; }
.live-hand-log { position: fixed; z-index: 5; top: 92px; right: 24px; bottom: 24px; width: 340px; display: block; margin: 0; box-shadow: 0 18px 50px #0008; }
.live-hand-log ol { max-height: calc(100vh - 190px); }
.played-teaching { margin-top: 18px; padding: 18px; background: #142a23; border: 1px solid #56b88a55; }
.played-teaching h3 { margin-top: 0; font: 1.45rem Georgia,serif; }
.review-numbers { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.review-numbers span { display: grid; gap: 5px; padding: 10px; background: #101c18; }
.review-numbers small { color: var(--gold); font-size: .65rem; }
.review-numbers b { color: #f2ede2; font-size: .82rem; }
@media (max-width: 760px) { main:has(.live-hand-log) { padding-right: 4vw; }.live-hand-log { position: static; width: auto; display: grid; grid-template-columns: 150px 1fr; margin-top: 24px; }.live-hand-log ol { max-height: 240px; } }
@media (max-width: 700px) { .live-hand-log { grid-template-columns: 1fr; }.review-numbers { grid-template-columns: 1fr; }.live-hand-log li small { margin-left: 0; } }
@media (max-width: 700px) { .training-table { grid-template-columns: 1fr; }.mini-seat { width: 100px; }.mini-seat.seat-0,.mini-seat.seat-3 { left: 32%; }.training-jump > div { grid-template-columns: repeat(2,1fr); }.training-levels > div { grid-template-columns: 1fr; } }

/* Laptop-first play and review layout */
@media (min-width: 900px) and (max-height: 1000px) {
  header { height: 54px; padding: 0 3vw; }
  main { padding: 18px 3vw; }
  main:has(.live-hand-log) { max-width: none; padding-right: 365px; }
  main:has(.live-hand-log) .table { height: min(47vh, 390px); max-width: 900px; margin: 0 auto; border-width: 10px; }
  main:has(.live-hand-log) .seat { width: 132px; padding: 6px; font-size: .8rem; }
  main:has(.live-hand-log) .seat .card { width: 24px; height: 34px; }
  main:has(.live-hand-log) .controls { margin-top: 32px; }
  main:has(.live-hand-log) .controls button { padding: 11px 18px; }
  main:has(.live-hand-log) .live-math { margin-top: 8px; }
  .live-hand-log { top: 70px; right: 14px; bottom: 14px; width: 335px; padding: 15px; }
  .live-hand-log ol { max-height: calc(100vh - 145px); font-size: .84rem; }
  .live-hand-log li { padding: 4px 0; }
}
.review-top { display: grid; grid-template-columns: 1fr auto; gap: 22px; align-items: center; }
.review-top h2 { margin-bottom: .25em; }
.review-board { min-width: 300px; padding: 14px 18px; background: #18231f; border: 1px solid #ffffff18; }
.review-board small { color: var(--gold); }
.review-board p { margin: 5px 0 10px; }
.review-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 16px; align-items: start; }
.review-layout .decision-list { margin: 10px 0; }
.review-layout .decision-list article { padding: 15px 18px; }
.review-layout h3 { margin: 8px 0; font-size: 1rem; }
.review-layout p { margin: 7px 0; line-height: 1.45; }
.decision-logic { padding: 10px 12px; background: #142a23; border-left: 3px solid var(--gold); color: #d7dfda; }
.outs-lesson { padding: 9px 12px; background: #18231f; border: 1px solid #ffffff16; color: #c5cfca; }
.outs-lesson strong { color: var(--gold); }
.rag-status { display: grid; grid-template-columns: auto 1fr; gap: 3px 12px; align-items: center; margin-top: 9px; padding: 9px 11px; border-left: 5px solid; text-align: left; }
.rag-status b { grid-row: span 2; color: #fff; }
.rag-status span,.rag-status small { color: #dbe2de; }
.rag-status.green { background: #153b2c; border-color: #56b88a; }
.rag-status.amber { background: #3a321c; border-color: #d6ac63; }
.rag-status.red { background: #3b201f; border-color: #d16b64; }
.rag-scale { display: grid; grid-template-columns: repeat(3,1fr); gap: 3px; margin: 5px 0 10px; font-size: .66rem; text-align: center; }
.rag-scale span { padding: 5px; color: #fff; }
.rag-scale span small { display: block; color: #dce2df; font-size: .58rem; }
.rag-scale .red { background: #6b2d29; }.rag-scale .amber { background: #69531e; }.rag-scale .green { background: #1d5a40; }
.pot-odds-calc { display: grid; gap: 4px; margin-top: 9px; padding: 10px 12px; background: #101c18; border: 1px solid #ffffff20; text-align: left; }
.pot-odds-calc strong { color: var(--gold); }
.pot-odds-calc b { color: #f2ede2; font-size: 1rem; }
.pot-odds-calc span,.pot-odds-calc small { color: #b8c3bd; }
.pot-odds-calc details { margin-top: 4px; }
.pot-odds-calc details p { margin: 6px 0; }
.pot-odds-calc .raise-working { display: grid; gap: 4px; margin-top: 8px; padding-top: 8px; border-top: 1px solid #d6ac6340; }
.training-outcome { margin-top: 20px; padding: 18px; background: #13201b; border: 1px solid #d6ac6360; }
.training-outcome h3 { margin: 4px 0 14px; }
.outcome-hands { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.outcome-hands span { display: grid; gap: 5px; padding: 12px; background: #ffffff08; }
.outcome-hands small,.outcome-hands em { color: #aeb8b3; }
.outcome-warning { padding: 10px; border-left: 3px solid var(--gold); background: #d6ac630c; }
@media (max-width:700px){.outcome-hands{grid-template-columns:1fr}}
.odds-cheatsheet { margin: 5px 0 10px; color: #9faaa5; font-size: .72rem; text-align: left; }
.odds-cheatsheet p { margin: 6px 0; line-height: 1.4; }
.hero [data-fast-start] small { display:block; margin-top:5px; font-size:.62rem; font-weight:500; letter-spacing:.03em; text-transform:none; opacity:.8; }
.compact-numbers { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin: 10px 0; }
.compact-numbers span { padding: 8px; background: #101c18; color: #9eaaa4; font-size: .72rem; }
.compact-numbers b { display: block; margin-top: 3px; color: #f2ede2; font-size: .83rem; }
.review-result { position: sticky; top: 70px; padding: 18px; background: #27291f; border: 1px solid #d6ac6355; }
.review-result h3 { color: var(--gold); font: 1.4rem Georgia,serif; }
.review-actions { position: sticky; bottom: 0; padding: 10px 0; margin-top: 8px; background: #101614ee; }
@media(max-width: 850px){.review-top,.review-layout{grid-template-columns:1fr}.review-board{min-width:0}.review-result{position:static}.compact-numbers{grid-template-columns:1fr}}
