/* Scoped readability and text-resize repairs for the existing public surfaces. */
html[data-theme="light"] body.zb-route-recap :is(.rp-head,.rp-section,.rp-panel) {
  background: #fff; border-color: #ded5d0; color: #303942;
}
html[data-theme="light"] body.zb-route-recap :is(.rp-title,.rp-section-title,.rp-panel h3,.rp-quick-list strong,.rp-body-content h2,.rp-body-content h3,.rp-char-card strong) { color: #242b32; }
html[data-theme="light"] body.zb-route-recap :is(.rp-kicker,.rp-summary,.rp-meta,.rp-quick-list,.rp-body-content,.rp-panel a,.rp-panel div,.rp-char-card span,.rp-series-link span,.rp-browse-link span,.rp-back) { color: #4d5964; }
html[data-theme="light"] body.zb-route-recap :is(.rp-chip,.rp-stat-pill,.rp-quick-list li,.rp-char-card,.rp-series-link,.rp-browse-link) { background: #f8f4f1; border-color: #ded5d0; color: #414c57; }
/* Archived bodies contain inline legacy colors; preserve text and replace only paint. */
html[data-theme="light"] body.zb-route-recap .rp-body-content [style*="color"] { color: #4d5964 !important; }
html[data-theme="light"] body.zb-route-recap .rp-body-content a { color: #a1372f !important; }
html[data-theme="light"] body.zb-route-recap .rp-primary { background: #ac3b32; color: #fff; }
html[data-theme="light"] body.zb-route-recaps :is(.rc-sub,.rc-summary,.rc-hero-summary,.rc-meta,.rc-count,.rc-next p,.rc-list-head p,.rc-read) { color: #505c66; }
html[data-theme="light"] body.zb-route-recaps .rc-find input::placeholder { color: #505c66; opacity: 1; }
html[data-theme="light"] body.zb-route-recaps :is(.rc-kicker,.rc-hero-label,.rc-hero-pill) { color: #9b382f; }
html[data-theme="light"] body.zb-route-recaps :is(.rc-primary,.rc-links a:first-child) { background: #ac3b32; border-color: #ac3b32; color: #fff; }
html[data-theme="light"] body.zb-route-zbwestern :is(.western-lane-block,.western-lane-final) { background: #fff; border-color: #ded5d0; }
html[data-theme="light"] body.zb-route-zbwestern :is(.western-lane-head,.western-lane-block,.western-lane-final) :is(h2,h3,strong) { color: #242b32; }
html[data-theme="light"] body.zb-route-zbwestern :is(.western-lane-head,.western-lane-block,.western-lane-final) :is(p,li,span) { color: #4d5964; }
html[data-theme="light"] body.zb-route-zbwestern .western-lane-mini-label { color: #974431; }
html[data-theme="light"] body.zb-route-zbwestern :is(.western-lane-chip,.western-lane-btn.is-secondary) { background: #fff; color: #67473b; border-color: #cbb8ac; }
html[data-theme="light"] body.zb-route-zbwestern .western-lane-btn.is-primary { background: #9c4521; color: #fff; border-color: #9c4521; }
html[data-theme="light"] body.zb-route-zbwestern .western-lane-feed-card { background: #fff; border-color: #ded5d0; }
html[data-theme="light"] body.zb-route-zbwestern .western-lane-feed-card :is(h3,p,.western-lane-feed-date,.western-lane-feed-action,.western-lane-feed-pill) { color: #414c57; }
body.zb-friendly-ui .ch-vote-context { color: var(--zb-muted); font-size: .875rem; line-height: 1.55; margin: 8px 0 12px; }
body.zb-friendly-ui .home-refresh .home-landing-intro .choice-title { overflow-wrap: normal; word-break: normal; hyphens: none; }
@media (max-width: 600px) {
  body.zb-friendly-ui.zb-route-index .home-refresh .home-landing-intro .choice-title { font-size: clamp(1.375rem,6.5vw,2rem); line-height: 1.15; }
}
@media (max-width: 760px) {
  body.zb-friendly-ui { padding-bottom: calc(var(--zb-bottom-nav-height, 80px) + 16px); }
  body.zb-friendly-ui .zb-bottom-nav { display: flex; flex-wrap: wrap; gap: 4px; }
  body.zb-friendly-ui .zb-bottom-nav-link { flex: 1 0 auto; padding: 3px 2px; }
  body.zb-friendly-ui .zb-bottom-nav-link span { max-width: none; white-space: nowrap; overflow-wrap: normal; word-break: normal; }
  body.zb-friendly-ui .zb-bottom-nav.is-text-wrapped { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.zb-friendly-ui .zb-bottom-nav.is-text-wrapped .zb-bottom-nav-link { flex-direction: row; gap: 6px; }
  body.zb-friendly-ui .zb-bottom-nav.is-text-wrapped .zb-bottom-nav-link i { font-size: 1em !important; }
  html { scroll-padding-bottom: calc(var(--zb-bottom-nav-height, 80px) + 16px); }
}
@media (max-width: 359px) {
  body.zb-friendly-ui .zb-bottom-nav { gap: 2px; }
  body.zb-friendly-ui .zb-bottom-nav-link { padding-inline: 0; }
}
