/* Shared reading scale. Keep the existing typefaces and compact table UI. */
:root {
  --text-reading: 18px;
  --text-support: 16px;
  --text-caption: 14px;
  --text-section: 30px;
  --text-subheading: 22px;
}

body { font-size: var(--text-support); }
.pg-client, .table-panel { font-size: 14px; }

/* Articles, rules, definitions and player biographies. */
body .rules-article .rule-section :is(p, li, dd),
body .rules-article .rules-end p,
body .pg-guide :is(p, li),
body .profile-section :is(p, li),
body .player-timeline p,
body .glossary-entry > p,
body .glossary-next p,
body .software-method p,
body .books-method p,
body .books-reading-note p,
body .players-method p,
body .player-money-note p,
body .player-source-index p,
body:not([class]) main p {
  font-size: var(--text-reading);
  line-height: 1.8;
}

body .rules-article .rule-section > h2,
body.home-page .rules-article .rule-section > h3,
body .pg-guide h2,
body .profile-section > h2,
body .software-section-title h2,
body .books-library h2,
body .books-paths h2,
body .books-method h2,
body .software-guide h2,
body .software-method h2,
body .sources-group h2,
body .sitemap-group h2,
body .players-method h2,
body .more-guides > h2,
body .glossary-next h2 {
  font-size: var(--text-section);
  line-height: 1.3;
}

body .rules-article .rule-section :is(h3, h4),
body .pg-guide h3,
body .software-guide h3 {
  font-size: var(--text-subheading);
  line-height: 1.4;
}

body .rules-article .rule-rank h4,
body .rules-article .rule-callout > strong,
body .rules-article .street-list li > strong {
  font-size: var(--text-reading);
  line-height: 1.5;
}

body .rules-faq summary {
  font-size: var(--text-reading);
  line-height: 1.65;
}

/* Introductions and short descriptions use the same readable rhythm. */
body.home-page .intro p,
body.formats-page .formats-intro > p,
body.guide-page .formats-intro p,
body.randomizer-page .formats-intro p,
body .software-hero p,
body .books-hero > div > p:not(.books-eyebrow),
body .player-lead,
body .pg-intro > p:not(.pg-kicker) {
  font-size: var(--text-reading);
  line-height: 1.8;
}

body.home-page .example-picker p,
body.home-page .example-select-wrap > p,
body.home-page .quick-guide p,
body.home-page .examples-grid small,
body.home-page .more-guides span,
body .rules-heading p,
body .more-guides span,
body .rule-rank p,
body .position-info p,
body .ranking-overview p,
body .flush-lesson p,
body .compare-demo > p,
body .raise-calculator > p,
body .tournament-name-demo > p,
body .calculation-grid p,
body .visual-header p,
body .visual-explanation,
body .format-note,
body .calculator-heading p,
body .pot-calculator > p,
body .random-tool-copy p,
body .software-card > p,
body .software-guide p,
body .software-warning p,
body .software-section-title > p,
body .sitemap-group p,
body .sitemap-download p,
body .book-description,
body .books-path-grid small,
body .books-library-heading > p,
body .books-paths > div > p,
body .player-card p,
body .player-facts dd,
body .player-metrics p,
body .glossary-example > p,
body .glossary-note,
body .sources-intro,
body .source-used,
body .review-coupon p,
body .review-definitions dd,
body .play-promo .play-promo-copy p {
  font-size: var(--text-support);
  line-height: 1.75;
}

body .rules-article .rule-section .rule-rank p,
body .profile-section.profile-references :is(p, li),
body .rules-article .review-sources p,
body .formats-glossary :is(dt, dd),
body .rules-table :is(th, td),
body .comparison-table :is(th, td) {
  font-size: var(--text-support);
  line-height: 1.75;
}

body .rules-table caption,
body .rules-table thead th,
body .comparison-table thead th {
  font-size: 15px;
  line-height: 1.6;
}

/* Navigation and reading position. Wider indices accommodate the larger type. */
body .header.site-header .site-nav > a,
body .site-header .site-guides > summary,
body .header.site-header .site-guide-links > a,
body .site-header .site-menu-toggle {
  font-size: 15px;
}

body .rules-index summary { font-size: var(--text-support); }
body .rules-index summary span { font-size: 13px; }
body .rules-index nav a { font-size: var(--text-support); line-height: 1.55; }
body .rules-index nav a span { font-size: 12px; flex-shrink: 0; }
body .rules-index > p { font-size: var(--text-caption); line-height: 1.7; }

@media (min-width: 801px) {
  body .rules-layout { grid-template-columns: 245px minmax(0, 1fr); gap: 30px; }
  body .rules-index {
    max-height: calc(100dvh - 48px);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-gutter: stable;
  }
}

@media (min-width: 1101px) {
  body .rules-layout { grid-template-columns: 280px minmax(0, 1fr); gap: 40px; }
}

/* Secondary labels, references, filters and card metadata. */
body .eyebrow,
body.home-page .intro .eyebrow,
body.home-page .example-picker label,
body .section-label,
body .books-eyebrow,
body .books-count,
body .book-author,
body .book-note,
body .book-metadata,
body .book-reference,
body .books-search label,
body .books-filters button,
body .glossary-fields label,
body .glossary-fields small,
body .glossary-results-bar p,
body .glossary-results-bar button,
body .glossary-total,
body .glossary-entry > p.glossary-aliases,
body.pg-page .pg-kicker,
body .player-filter-status p,
body .player-photo-credit,
body .player-review,
body .player-glossary-help,
body .profile-references small,
body .source-provider,
body .source-domain,
body .source-date,
body .review-intro small,
body .review-overview span,
body .software-card :is(dt, dd),
body .software-card-head > span,
body .software-card > a,
body .software-jump a,
body .random-reference,
body .random-range,
body .random-draw [role="status"],
body .coupon-action [role="status"],
body .rules-sources :is(p, a),
body .visual-footnote,
body footer,
body footer .site-map-link {
  font-size: var(--text-caption);
  line-height: 1.7;
}

body .books-crumb,
body .software-breadcrumbs,
body .random-breadcrumbs,
body .player-breadcrumbs,
body .player-breadcrumbs ol {
  font-size: var(--text-caption);
  line-height: 1.6;
}

body .book-content h3,
body .software-card h3,
body .more-guides strong,
body.home-page .more-guides strong,
body.home-page .examples-grid strong {
  font-size: 20px;
  line-height: 1.45;
}

@media (max-width: 800px) {
  :root {
    --text-reading: 17px;
    --text-section: 28px;
    --text-subheading: 21px;
  }
  body .rules-index nav a { font-size: 15px; }
  body .rule-rank { flex-wrap: wrap; }
  body .rule-rank .rule-cards { margin-left: 0; }
  body footer { flex-wrap: wrap; gap: 12px 20px; }
}

@media (max-width: 500px) {
  body .book-content h3 { font-size: 18px; }
  body .book-metadata { font-size: 13px; }
  body .comparison-table td::before { font-size: 13px; }
}
