:root {
  --ink: #10241e;
  --green: #12372d;
  --green-2: #1a4a3d;
  --paper: #f2eddf;
  --paper-2: #e7deca;
  --acid: #d9ff4f;
  --red: #ff5d4a;
  --gold: #ffbc42;
  --blue: #78d5e3;
  --line: rgba(16, 36, 30, 0.23);
  --light-line: rgba(242, 237, 223, 0.24);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; margin: 0; overflow-x: hidden; }
a { color: inherit; }
button, input { font: inherit; }
button { color: inherit; }
button:focus-visible, a:focus-visible, [tabindex="0"]:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
main { overflow: hidden; }

.site-header {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  height: 68px;
  padding: 0 2rem;
}
.brand {
  align-items: center;
  background: var(--ink);
  border-radius: 50%;
  color: var(--paper);
  display: flex;
  font: italic 1rem Georgia, serif;
  height: 34px;
  justify-content: center;
  text-decoration: none;
  width: 34px;
}
.back, .site-header > span, .eyebrow, .section-head > span, .section-head > p, .scroll-cue,
.chapter-nav, .counter-legend, .street-title > span, .source-line, .action-controls,
.checkraise-note > span, .hand-mode, .rank-labels, .matrix-key, .odds-result span,
.lab-controls label > span, fieldset legend, .math-strip span, .bet-buttons,
.price-pair span, .shortcut-grid article > span, .sources li b, .next span {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}
.back { font-size: 0.68rem; justify-self: center; text-decoration: none; }
.site-header > span { font-size: 0.62rem; justify-self: end; }

.hero {
  min-height: 830px;
  padding: clamp(5rem, 9vw, 9rem) 2rem 3rem;
  position: relative;
}
.hero::before {
  background: var(--gold);
  border-radius: 50%;
  content: "";
  height: 34rem;
  position: absolute;
  right: -11rem;
  top: -9rem;
  width: 34rem;
  z-index: -1;
}
.hero::after {
  border: 1px solid var(--ink);
  border-radius: 50%;
  content: "";
  height: 19rem;
  position: absolute;
  right: 6rem;
  top: 3rem;
  width: 19rem;
  z-index: -1;
}
.eyebrow { font-size: 0.62rem; margin: 0 0 2rem; }
.hero h1 {
  font-size: clamp(4.3rem, 10.5vw, 10rem);
  font-weight: 560;
  letter-spacing: -0.085em;
  line-height: 0.82;
  margin: 0;
  max-width: 1250px;
}
.hero h1 em, .section-head h2 em { font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.lede {
  font: clamp(1.3rem, 2.2vw, 2rem)/1.25 Georgia, serif;
  margin: 3.5rem 0 0;
  max-width: 710px;
}
.hero-deck {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-left: 44%;
  margin-top: 5.5rem;
  max-width: 720px;
}
.hero-stat {
  align-items: flex-end;
  border: 1px solid var(--ink);
  display: flex;
  justify-content: space-between;
  min-height: 160px;
  padding: 1rem;
}
.hero-stat strong { font: 4.5rem/.8 Georgia, serif; letter-spacing: -0.06em; }
.hero-stat span { font: 0.58rem/1.45 monospace; text-transform: uppercase; }
.hero-play { background: var(--acid); transform: rotate(-2deg); }
.hero-raise { background: var(--red); transform: rotate(2deg); }
.scroll-cue {
  align-items: center;
  border-top: 1px solid var(--ink);
  display: flex;
  font-size: 0.57rem;
  justify-content: space-between;
  margin-top: 4rem;
  padding-top: 1rem;
  text-decoration: none;
}
.scroll-cue span { font: 1.4rem Georgia, serif; }

.chapter-nav {
  background: var(--paper);
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  display: grid;
  font-size: 0.57rem;
  grid-template-columns: repeat(5, 1fr);
  position: sticky;
  top: 0;
  z-index: 20;
}
.chapter-nav a { border-right: 1px solid var(--line); padding: 1.1rem 1rem; text-align: center; text-decoration: none; }
.chapter-nav a:last-child { border-right: 0; }
.chapter-nav a:hover { background: var(--acid); }

.section-dark { background: var(--green); color: var(--paper); }
.section-acid { background: var(--acid); }
.section-red { background: var(--red); color: var(--ink); }
.frequency, .actions, .hands, .odds, .sizing, .takeaway, .sources { padding: clamp(5rem, 9vw, 9rem) 2rem; }
.section-head { display: grid; grid-template-columns: 4rem minmax(9rem, 1fr) 3fr; margin-bottom: 5.5rem; }
.section-head > span, .section-head > p { font-size: 0.6rem; margin: 0.6rem 0 0; }
.section-head h2 {
  font: clamp(3.2rem, 6.5vw, 6.5rem)/0.91 Georgia, serif;
  letter-spacing: -0.06em;
  margin: 0;
}
.section-head.light { color: var(--paper); }
.section-head.compact { margin-bottom: 3.5rem; }

.frequency-layout { display: grid; gap: 4rem; grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.65fr); }
.hand-counter { display: grid; gap: clamp(3px, 0.5vw, 7px); grid-template-columns: repeat(10, 1fr); }
.hand-counter i {
  aspect-ratio: 0.72;
  border: 1px solid rgba(242, 237, 223, 0.48);
  border-radius: 0.22rem;
  display: block;
  position: relative;
}
.hand-counter i::after { border: 1px solid currentColor; border-radius: 50%; content: ""; inset: 22%; opacity: 0.5; position: absolute; }
.hand-counter .called { background: var(--acid); border-color: var(--acid); color: var(--ink); }
.hand-counter .raised { background: var(--red); border-color: var(--red); color: var(--ink); }
.counter-legend { display: flex; flex-wrap: wrap; font-size: 0.52rem; gap: 1rem; margin-top: 1.3rem; }
.counter-legend span { align-items: center; display: flex; gap: 0.42rem; }
.counter-legend i { border: 1px solid var(--paper); border-radius: 2px; display: inline-block; height: 10px; width: 8px; }
.counter-legend .call-dot { background: var(--acid); border-color: var(--acid); }
.counter-legend .raise-dot { background: var(--red); border-color: var(--red); }
.frequency-copy { border-left: 1px solid var(--light-line); padding-left: 2rem; }
.frequency-copy > strong { color: var(--gold); display: block; font: clamp(4.5rem, 8vw, 8rem)/0.9 Georgia, serif; letter-spacing: -0.08em; }
.frequency-copy h3 { font: 1.8rem Georgia, serif; margin: 0.4rem 0 2rem; }
.frequency-copy p { line-height: 1.55; }
.frequency-copy .fine-print { font-size: 0.7rem; opacity: 0.68; }
.denominator-note {
  align-items: start;
  border-bottom: 1px solid var(--light-line);
  border-top: 1px solid var(--light-line);
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr 3fr;
  margin-top: 5rem;
  padding: 1.5rem 0;
}
.denominator-note b { color: var(--acid); font: 1.3rem Georgia, serif; }
.denominator-note p { line-height: 1.5; margin: 0; max-width: 760px; }
.street-grid { border: 1px solid var(--light-line); display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 4rem; }
.street-card { border-right: 1px solid var(--light-line); min-width: 0; padding: 1.3rem; }
.street-card:last-child { border-right: 0; }
.street-title { align-items: center; display: flex; gap: 0.8rem; }
.street-title > span { align-items: center; border: 1px solid var(--paper); border-radius: 50%; display: flex; font-size: 0.52rem; height: 34px; justify-content: center; width: 34px; }
.street-title h3 { font: 1.5rem Georgia, serif; margin: 0; }
.street-primary { border-bottom: 1px solid var(--light-line); margin: 4rem 0 1.5rem; padding-bottom: 1.5rem; }
.street-primary strong { color: var(--gold); display: block; font: clamp(3.5rem, 6vw, 6rem)/0.9 Georgia, serif; letter-spacing: -0.06em; }
.street-primary span { font-size: 0.7rem; }
.street-card dl, .street-card dd { margin: 0; }
.street-card dl > div { align-items: baseline; display: flex; gap: 1rem; justify-content: space-between; padding: 0.75rem 0; }
.street-card dt { font-size: 0.67rem; line-height: 1.3; }
.street-card dd { color: var(--acid); font: 1.1rem Georgia, serif; }
.street-card dd.no-data { color: var(--paper); font: 0.54rem monospace; opacity: 0.55; text-transform: uppercase; }
.source-line { font-size: 0.52rem; line-height: 1.6; margin: 2rem 0 0 auto; max-width: 840px; opacity: 0.56; }

.action-lab { border: 1px solid var(--ink); display: grid; grid-template-columns: 280px 1fr; min-height: 430px; }
.action-controls { border-right: 1px solid var(--ink); display: flex; flex-direction: column; }
.action-tab { background: transparent; border: 0; border-bottom: 1px solid var(--line); cursor: pointer; font-size: 0.58rem; min-height: 90px; padding: 1.2rem; text-align: left; }
.action-tab.active { background: var(--ink); color: var(--paper); }
.action-stage { align-items: center; display: grid; gap: 2.5rem; grid-template-columns: minmax(150px, 0.65fr) 1.5fr; padding: clamp(2rem, 5vw, 5rem); }
.action-prompt > span { font: 0.57rem monospace; letter-spacing: 0.08em; text-transform: uppercase; }
.action-prompt strong { display: block; font: clamp(2.5rem, 5vw, 5rem)/0.9 Georgia, serif; letter-spacing: -0.05em; margin-top: 1rem; }
.action-branches { display: grid; gap: 0.8rem; }
.action-branch { align-items: center; border: 1px solid var(--ink); display: grid; gap: 1rem; grid-template-columns: 72px 1fr; min-height: 82px; padding: 1rem; }
.action-branch b { font: 1.45rem Georgia, serif; }
.action-branch span { font-size: 0.73rem; line-height: 1.4; }
.action-branch:first-child { background: var(--acid); }
.action-branch:last-child { background: var(--gold); }
.checkraise-note { align-items: baseline; border-bottom: 1px solid var(--ink); display: grid; gap: 2rem; grid-template-columns: 1fr 3fr; margin-top: 2rem; padding: 2rem 0; }
.checkraise-note > span { font-size: 0.58rem; }
.checkraise-note p { font: 1.15rem/1.45 Georgia, serif; margin: 0; }

.hand-mode { display: grid; grid-template-columns: repeat(2, 1fr); margin-left: 50%; }
.mode-button { background: transparent; border: 1px solid var(--ink); cursor: pointer; display: flex; flex-direction: column; padding: 1rem; text-align: left; }
.mode-button + .mode-button { border-left: 0; }
.mode-button span { font-size: 0.52rem; }
.mode-button b { font: 1.4rem Georgia, serif; margin-top: 0.4rem; text-transform: none; }
.mode-button.active { background: var(--ink); color: var(--paper); }
.rank-rail-wrap { margin: 4rem 0 2.5rem; }
.rank-labels { display: flex; font-size: 0.49rem; justify-content: space-between; }
.rank-rail { background: linear-gradient(90deg, var(--green), var(--gold), var(--red)); height: 18px; margin-top: 0.6rem; position: relative; }
.rank-rail i { border-left: 2px dashed var(--ink); height: 42px; left: 50%; position: absolute; top: -12px; }
.rank-rail-wrap p { font-size: 0.65rem; margin: 1.2rem 0 0 50%; }
.matrix-key { display: flex; flex-wrap: wrap; font-size: 0.51rem; gap: 1.2rem; margin: 2rem 0 1rem; }
.matrix-key span { align-items: center; display: flex; gap: 0.4rem; }
.matrix-key i { border: 1px solid var(--ink); display: inline-block; height: 11px; width: 11px; }
.matrix-key .pair-key { background: var(--gold); }
.matrix-key .suited-key { background: var(--blue); }
.matrix-key .offsuit-key { background: rgba(255, 255, 255, 0.4); }
.matrix-layout { align-items: start; display: grid; gap: 1.5rem; grid-template-columns: minmax(760px, 1fr) 280px; }
.matrix-scroll { overflow-x: auto; padding: 3px; }
.hand-matrix { display: grid; gap: 3px; grid-template-columns: repeat(13, minmax(55px, 1fr)); min-width: 760px; }
.hand-cell {
  aspect-ratio: 1;
  background: rgba(255, 255, 255, 0.38);
  border: 1px solid rgba(16, 36, 30, 0.34);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
  padding: 0.34rem;
  position: relative;
  text-align: left;
}
.hand-cell.pair { background: var(--gold); }
.hand-cell.suited { background: var(--blue); }
.hand-cell.above-median::after { border-right: 3px solid var(--green); content: ""; inset: 0 0 0 auto; position: absolute; }
.hand-cell.selected { box-shadow: inset 0 0 0 3px var(--ink); }
.hand-cell > b { font: 0.88rem Georgia, serif; }
.hand-values { display: flex; font: 0.48rem monospace; justify-content: space-between; letter-spacing: -0.03em; }
.hand-values .active-value { font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.hand-detail { background: var(--ink); color: var(--paper); min-height: 360px; padding: 1.5rem; position: sticky; top: 60px; }
.hand-detail > strong { color: var(--acid); display: block; font: 7rem/0.85 Georgia, serif; letter-spacing: -0.08em; margin-bottom: 3rem; }
.detail-stat { align-items: baseline; border-top: 1px solid var(--light-line); display: flex; justify-content: space-between; padding: 0.8rem 0; }
.detail-stat span { font-size: 0.65rem; }
.detail-stat b { color: var(--gold); font: 1.4rem Georgia, serif; }
.detail-rank { font: 0.55rem monospace; margin-top: 1.5rem; text-transform: uppercase; }
.detail-rank i { border-top: 1px dashed var(--paper); display: block; margin-top: 0.7rem; width: 50%; }
.hand-detail > p:last-child { font: 0.95rem/1.45 Georgia, serif; margin-top: 2.2rem; }
.pair-proof { align-items: center; border-bottom: 1px solid var(--ink); border-top: 1px solid var(--ink); display: grid; gap: 2rem; grid-template-columns: auto 1fr auto auto; margin-top: 5rem; padding: 2rem 0; }
.proof-hand { display: flex; gap: 0.3rem; }
.proof-hand span { background: var(--paper); border: 1px solid var(--ink); border-radius: 0.3rem; font: 2.4rem Georgia, serif; padding: 1.7rem 0.8rem; }
.proof-copy p { font: 0.55rem monospace; letter-spacing: 0.07em; margin: 0; text-transform: uppercase; }
.proof-copy strong { display: block; font: 3.4rem Georgia, serif; letter-spacing: -0.04em; margin: 0.4rem 0; }
.proof-copy span { font-size: 0.76rem; }
.proof-versus { font: italic 1rem Georgia, serif; }
.equity-warning { align-items: baseline; display: grid; gap: 2rem; grid-template-columns: 1fr 3fr; margin-top: 3rem; }
.equity-warning b { font: 1.4rem Georgia, serif; }
.equity-warning p { line-height: 1.55; margin: 0; }

.odds-example { display: grid; gap: 2rem; grid-template-columns: 0.8fr 1.2fr; }
.table-scene { background: var(--green); color: var(--paper); min-height: 590px; padding: clamp(2rem, 5vw, 4rem); position: relative; }
.table-scene::after { border: 1px solid var(--light-line); border-radius: 50%; content: ""; inset: 8%; pointer-events: none; position: absolute; }
.hole-cards, .board { display: flex; gap: 0.55rem; position: relative; z-index: 1; }
.hole-cards { margin-top: 4rem; }
.hole-cards span, .board span, .board i { align-items: flex-start; background: var(--paper); border-radius: 0.35rem; color: var(--ink); display: flex; font: 3rem Georgia, serif; height: 114px; justify-content: space-between; padding: 0.7rem; width: 78px; }
.hole-cards small, .board small { color: var(--red); font-size: 1.2rem; }
.board { margin-top: 3.5rem; }
.board span:nth-child(1) small, .board span:nth-child(2) small { color: var(--ink); }
.board i { align-items: center; background: transparent; border: 1px dashed var(--paper); color: var(--paper); font-size: 1.4rem; justify-content: center; }
.table-scene > p { font: 1.2rem/1.5 Georgia, serif; margin: 3rem 0 0; max-width: 460px; position: relative; z-index: 1; }
.table-scene > p strong { color: var(--acid); font-size: 1.7rem; }
.odds-lab { border: 1px solid var(--ink); padding: clamp(1.5rem, 4vw, 3rem); }
.lab-controls { display: grid; gap: 1.5rem; }
.lab-controls label { display: grid; font-size: 0.57rem; grid-template-columns: 1fr auto; }
.lab-controls output { color: #c53a2a; font: 1.2rem Georgia, serif; }
.lab-controls input { accent-color: var(--red); grid-column: 1/-1; margin-top: 0.8rem; width: 100%; }
fieldset { border: 0; border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: flex; gap: 2rem; margin: 2.4rem 0 0; padding: 1.4rem 0; }
fieldset legend { font-size: 0.52rem; padding-top: 1.5rem; }
fieldset label { font-size: 0.75rem; }
fieldset input { accent-color: var(--red); }
.odds-result { display: grid; grid-template-columns: repeat(2, 1fr); }
.odds-result > div { border-right: 1px solid var(--line); padding: 2.5rem 1rem 2.5rem 0; }
.odds-result > div + div { border-right: 0; padding-left: 1.5rem; }
.odds-result span { display: block; font-size: 0.52rem; }
.odds-result strong { display: block; font: clamp(3.4rem, 6vw, 6rem)/0.9 Georgia, serif; letter-spacing: -0.06em; margin: 0.7rem 0; }
.odds-result small { display: block; font-size: 0.64rem; line-height: 1.4; }
.odds-verdict { align-items: baseline; background: var(--red); display: flex; justify-content: space-between; padding: 1.2rem; }
.odds-verdict.call { background: var(--acid); }
.odds-verdict b { font: 1.3rem Georgia, serif; }
.odds-verdict span { font-size: 0.67rem; }
.math-strip { border: 1px solid var(--ink); display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 2rem; }
.math-strip > div { border-right: 1px solid var(--ink); min-height: 220px; padding: 1.3rem; }
.math-strip > div:last-child { border-right: 0; }
.math-strip span { font-size: 0.52rem; }
.math-strip b { display: block; font: 2.3rem Georgia, serif; margin: 3.2rem 0 1rem; }
.math-strip p { font-size: 0.74rem; line-height: 1.45; }
.dirty-outs { font: 1.2rem/1.5 Georgia, serif; margin: 3rem 0 0 33%; max-width: 840px; }

.sizing-lab { border: 1px solid var(--ink); }
.bet-buttons { display: grid; grid-template-columns: repeat(5, 1fr); }
.bet-buttons button { background: transparent; border: 0; border-bottom: 1px solid var(--ink); border-right: 1px solid var(--ink); cursor: pointer; min-height: 72px; }
.bet-buttons button:last-child { border-right: 0; }
.bet-buttons button.active { background: var(--ink); color: var(--paper); }
.price-pair { display: grid; grid-template-columns: repeat(2, 1fr); }
.price-pair article { border-right: 1px solid var(--ink); padding: 2rem; }
.price-pair article:last-child { border-right: 0; }
.price-pair span { font-size: 0.55rem; }
.price-pair strong { display: block; font: clamp(5rem, 11vw, 10rem)/0.85 Georgia, serif; letter-spacing: -0.07em; margin: 3rem 0 1rem; }
.price-pair p { font-size: 0.75rem; max-width: 260px; }
.sizing-formula { border-top: 1px solid var(--ink); margin: 0; padding: 1.2rem 2rem; }
.shortcut-grid { border: 1px solid var(--ink); display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 3rem; }
.shortcut-grid article { border-bottom: 1px solid var(--ink); border-right: 1px solid var(--ink); min-height: 300px; padding: 1.5rem; }
.shortcut-grid article:nth-child(3n) { border-right: 0; }
.shortcut-grid article:nth-child(n+4) { border-bottom: 0; }
.shortcut-grid article > span { font-size: 0.5rem; }
.shortcut-grid h3 { font: 2rem Georgia, serif; margin: 4rem 0 1rem; }
.shortcut-grid p { font-size: 0.78rem; line-height: 1.5; }

.takeaway { background: var(--green); color: var(--paper); }
.loop-line { align-items: center; display: flex; flex-wrap: wrap; font: clamp(2.8rem, 7vw, 7rem)/1 Georgia, serif; justify-content: space-between; letter-spacing: -0.05em; }
.loop-line i { color: var(--acid); font-style: normal; }
.takeaway > p:not(.eyebrow) { font: clamp(1.5rem, 3vw, 2.7rem)/1.25 Georgia, serif; margin: 6rem 0 0 32%; max-width: 900px; }
.responsible-note { align-items: baseline; border-top: 1px solid var(--light-line); display: grid; gap: 2rem; grid-template-columns: 1fr 3fr; margin-top: 6rem; padding-top: 1.5rem; }
.responsible-note strong { color: var(--acid); font: 1.3rem Georgia, serif; }
.responsible-note span { font-size: 0.75rem; line-height: 1.55; }

.sources ol { border-top: 1px solid var(--ink); list-style: none; margin: 0; padding: 0; }
.sources li { border-bottom: 1px solid var(--ink); }
.sources li a { align-items: baseline; display: grid; gap: 2rem; grid-template-columns: 1fr 3fr; padding: 1.2rem 0; text-decoration: none; }
.sources li a:hover b { color: #c53a2a; }
.sources li b { font-size: 0.56rem; }
.sources li span { font-size: 0.78rem; line-height: 1.4; }
.method-note { font: 1.1rem/1.55 Georgia, serif; margin: 3rem 0 0 25%; max-width: 900px; }
.next { border-top: 1px solid var(--ink); display: flex; flex-direction: column; margin-top: 6rem; padding-top: 2rem; text-decoration: none; }
.next span { font-size: 0.54rem; }
.next b { font: clamp(2rem, 4vw, 4rem) Georgia, serif; margin-top: 1rem; }

@media (max-width: 1040px) {
  .street-grid { grid-template-columns: repeat(2, 1fr); }
  .street-card:nth-child(2) { border-right: 0; }
  .street-card:nth-child(-n+2) { border-bottom: 1px solid var(--light-line); }
  .matrix-layout { grid-template-columns: minmax(0, 1fr); }
  .hand-detail { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; min-height: 0; position: static; }
  .hand-detail > .eyebrow, .hand-detail > strong { grid-row: 1 / 3; }
  .hand-detail > strong { align-self: end; margin: 2rem 0 0; }
  .hand-detail > p:last-child { grid-column: 1 / -1; margin: 0; }
  .pair-proof { grid-template-columns: auto 1fr auto; }
  .pair-proof .proof-hand:last-child { grid-column: 3; grid-row: 1; }
  .proof-versus { grid-column: 3; grid-row: 1; opacity: 0; }
}

@media (max-width: 760px) {
  .site-header { grid-template-columns: auto 1fr; padding: 0 1rem; }
  .back { justify-self: end; }
  .site-header > span { display: none; }
  .hero, .frequency, .actions, .hands, .odds, .sizing, .takeaway, .sources { padding-left: 1rem; padding-right: 1rem; }
  .hero { min-height: 760px; }
  .hero h1 { font-size: clamp(3rem, 12.5vw, 4.8rem); }
  .hero::before { right: -23rem; }
  .hero-deck { margin-left: 0; margin-right: .6rem; }
  .hero-stat { align-items: flex-start; flex-direction: column; min-height: 150px; }
  .hero-stat strong { font-size: 3.2rem; }
  .chapter-nav { grid-template-columns: repeat(5, minmax(100px, 1fr)); overflow-x: auto; }
  .section-head { grid-template-columns: 2.5rem 1fr; }
  .section-head h2 { grid-column: 1 / -1; margin-top: 2rem; }
  .frequency-layout, .odds-example { grid-template-columns: 1fr; }
  .frequency-copy { border-left: 0; border-top: 1px solid var(--light-line); padding: 2rem 0 0; }
  .denominator-note, .checkraise-note, .equity-warning, .responsible-note, .sources li a { grid-template-columns: 1fr; }
  .street-grid { grid-template-columns: 1fr; }
  .street-card { border-bottom: 1px solid var(--light-line); border-right: 0; }
  .street-card:last-child { border-bottom: 0; }
  .action-lab { grid-template-columns: 1fr; }
  .action-controls { border-bottom: 1px solid var(--ink); border-right: 0; display: grid; grid-template-columns: repeat(3, 1fr); }
  .action-tab { border-bottom: 0; border-right: 1px solid var(--line); font-size: 0.48rem; min-height: 80px; }
  .action-tab:last-child { border-right: 0; }
  .action-stage { grid-template-columns: 1fr; padding: 1.5rem; }
  .hand-mode { margin-left: 0; }
  .rank-rail-wrap p { margin-left: 0; }
  .hand-detail { display: block; }
  .hand-detail > strong { margin-bottom: 2rem; }
  .pair-proof { align-items: start; grid-template-columns: 1fr auto 1fr; }
  .proof-hand span { font-size: 1.8rem; padding: 1.3rem 0.5rem; }
  .proof-copy { grid-column: 1 / -1; grid-row: 2; }
  .proof-versus { grid-column: 2; grid-row: 1; opacity: 1; }
  .pair-proof .proof-hand:last-child { grid-column: 3; grid-row: 1; }
  .odds-result { grid-template-columns: 1fr; }
  .odds-result > div { border-bottom: 1px solid var(--line); border-right: 0; padding: 2rem 0; }
  .odds-result > div + div { border-bottom: 0; padding-left: 0; }
  .odds-verdict { align-items: flex-start; flex-direction: column; gap: 0.5rem; }
  .math-strip, .price-pair, .shortcut-grid { grid-template-columns: 1fr; }
  .math-strip > div, .price-pair article, .shortcut-grid article { border-bottom: 1px solid var(--ink); border-right: 0; }
  .math-strip > div:last-child, .price-pair article:last-child, .shortcut-grid article:last-child { border-bottom: 0; }
  .dirty-outs, .takeaway > p:not(.eyebrow), .method-note { margin-left: 0; }
  .bet-buttons { grid-template-columns: repeat(5, minmax(76px, 1fr)); overflow-x: auto; }
  .loop-line { gap: 0.8rem; }
  .loop-line i { font-size: 1.5rem; }
}

@media (max-width: 440px) {
  .hero-stat { min-height: 126px; padding: 0.65rem; }
  .hero-stat strong { font-size: 2.6rem; }
  .hero-stat span { font-size: 0.48rem; }
  .hand-counter { gap: 3px; }
  .action-branch { grid-template-columns: 58px 1fr; }
  .hole-cards span, .board span, .board i { font-size: 2rem; height: 84px; padding: 0.45rem; width: 55px; }
  .board small, .hole-cards small { font-size: 0.85rem; }
  .table-scene { min-height: 480px; padding: 1.2rem; }
  .matrix-key { gap: 0.7rem; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
