/* CTR_VISUAL_CASCADE_FIX_V101 */

:root {
  --ctrv101-canvas: #f3f1eb;
  --ctrv101-paper: #ffffff;
  --ctrv101-soft: #f5f6f4;
  --ctrv101-ink: #111820;
  --ctrv101-muted: #566472;
  --ctrv101-line: #d2d9df;
  --ctrv101-black: #080d13;
  --ctrv101-black-2: #111a24;
  --ctrv101-blue: #1689d8;
  --ctrv101-green: #b9ff3b;
  --ctrv101-shadow: 0 20px 52px rgba(15, 18, 22, .12);
}

html,
body.ctr-public-v2 {
  max-width: 100%;
  overflow-x: clip;
}

body.ctr-public-v2,
body.ctr-public-v2 main {
  color: var(--ctrv101-ink);
}

/* Final hero contract. This layer is deliberately loaded after every section stylesheet. */
html[data-theme] body.ctr-public-v2 :is(
  .hero,
  .page-hero,
  .locale-hero,
  .registry-hero,
  .dossier-hero,
  .cr-slot-hero-v31,
  .cr-streamer-hero-v43,
  .crg23c-hero,
  .crr-hero
) {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid #253241 !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 82% 42%, rgba(29, 142, 204, .22), transparent 35rem),
    linear-gradient(105deg, #060b11 0%, #0b131d 64%, #101a25 100%) !important;
  color: #fff !important;
  box-shadow: var(--ctrv101-shadow) !important;
}

html[data-theme] body.ctr-public-v2 :is(
  .hero,
  .page-hero,
  .locale-hero,
  .registry-hero,
  .dossier-hero,
  .cr-slot-hero-v31,
  .cr-streamer-hero-v43,
  .crg23c-hero,
  .crr-hero
) > * {
  position: relative;
  z-index: 1;
  min-width: 0;
}

html[data-theme] body.ctr-public-v2 :is(
  .hero,
  .page-hero,
  .locale-hero,
  .registry-hero,
  .dossier-hero,
  .cr-slot-hero-v31,
  .cr-streamer-hero-v43,
  .crg23c-hero,
  .crr-hero
) :is(h1, h2, h3, h4, strong, b) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

html[data-theme] body.ctr-public-v2 :is(
  .hero,
  .page-hero,
  .locale-hero,
  .registry-hero,
  .dossier-hero,
  .cr-slot-hero-v31,
  .cr-streamer-hero-v43,
  .crg23c-hero,
  .crr-hero
) :is(p, li) {
  color: #d6dfe7 !important;
  -webkit-text-fill-color: #d6dfe7 !important;
}

html[data-theme] body.ctr-public-v2 :is(
  .hero,
  .page-hero,
  .locale-hero,
  .registry-hero,
  .dossier-hero,
  .cr-slot-hero-v31,
  .cr-streamer-hero-v43,
  .crg23c-hero,
  .crr-hero
) h1 {
  max-width: 940px;
  font-family: Fraunces, Georgia, serif !important;
  font-size: clamp(46px, 6vw, 82px) !important;
  font-weight: 760 !important;
  line-height: .96 !important;
  letter-spacing: -.052em !important;
  text-wrap: balance;
}

html[data-theme] body.ctr-public-v2 :is(
  .hero,
  .page-hero,
  .locale-hero,
  .registry-hero,
  .dossier-hero,
  .cr-slot-hero-v31,
  .cr-streamer-hero-v43,
  .crg23c-hero,
  .crr-hero
) :is(.eyebrow, .eyebrow-badge, .v15-label, .crg23c-kicker, .crr-kicker) {
  display: inline-flex !important;
  align-items: center;
  max-width: 100%;
  border: 1px solid rgba(185, 255, 59, .28) !important;
  background: rgba(7, 17, 29, .72) !important;
  color: var(--ctrv101-green) !important;
  -webkit-text-fill-color: var(--ctrv101-green) !important;
}

/* Hero buttons never inherit white paper backgrounds from legacy light-theme rules. */
html[data-theme] body.ctr-public-v2 :is(
  .hero,
  .page-hero,
  .locale-hero,
  .registry-hero,
  .dossier-hero,
  .cr-slot-hero-v31,
  .cr-streamer-hero-v43,
  .crg23c-hero,
  .crr-hero
) :is(a.btn, button.btn, .crg23c-btn, .button, [role="button"]) {
  border: 1px solid #324457 !important;
  background: #101b27 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

html[data-theme] body.ctr-public-v2 :is(
  .hero,
  .page-hero,
  .locale-hero,
  .registry-hero,
  .dossier-hero,
  .cr-slot-hero-v31,
  .cr-streamer-hero-v43,
  .crg23c-hero,
  .crr-hero
) :is(.primary, .btn.primary, .crg23c-btn.primary) {
  border-color: var(--ctrv101-blue) !important;
  background: var(--ctrv101-blue) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Paper panels embedded in a dark hero need their own readable ink. */
html[data-theme] body.ctr-public-v2 :is(
  .hero,
  .page-hero,
  .locale-hero,
  .registry-hero,
  .dossier-hero,
  .cr-slot-hero-v31,
  .cr-streamer-hero-v43,
  .crg23c-hero,
  .crr-hero
) :is(
  .search-panel,
  .filterbar,
  .kpi-strip,
  .hero-feature-strip,
  .v15-manifest,
  .crbai-status-grid
) {
  border-color: var(--ctrv101-line) !important;
  background: rgba(255, 255, 255, .98) !important;
  color: var(--ctrv101-ink) !important;
}

html[data-theme] body.ctr-public-v2 :is(
  .hero,
  .page-hero,
  .locale-hero,
  .registry-hero,
  .dossier-hero,
  .cr-slot-hero-v31,
  .cr-streamer-hero-v43,
  .crg23c-hero,
  .crr-hero
) :is(
  .search-panel,
  .filterbar,
  .kpi-strip,
  .hero-feature-strip,
  .v15-manifest,
  .crbai-status-grid
) :is(h2, h3, h4, strong, b, label) {
  color: var(--ctrv101-ink) !important;
  -webkit-text-fill-color: var(--ctrv101-ink) !important;
}

html[data-theme] body.ctr-public-v2 :is(
  .hero,
  .page-hero,
  .locale-hero,
  .registry-hero,
  .dossier-hero,
  .cr-slot-hero-v31,
  .cr-streamer-hero-v43,
  .crg23c-hero,
  .crr-hero
) :is(
  .search-panel,
  .filterbar,
  .kpi-strip,
  .hero-feature-strip,
  .v15-manifest,
  .crbai-status-grid
) :is(p, span, small, a) {
  color: #43515e !important;
  -webkit-text-fill-color: #43515e !important;
}

body.ctr-public-v2 .hero-feature-strip > * {
  border-color: var(--ctrv101-line) !important;
  background: #eef1f1 !important;
  color: #263541 !important;
  -webkit-text-fill-color: #263541 !important;
}

body.ctr-public-v2 .hero-feature-strip > * * {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

body.cr-betting-ai-page.ctr-public-v2 .crbai-status {
  border: 1px solid #ccd5dc !important;
  background: #edf1f3 !important;
  color: #293946 !important;
  -webkit-text-fill-color: #293946 !important;
}

/* Guides compatibility. */
html[data-theme] body.ctr-page-guides .crg23c-panel,
html[data-theme] body.ctr-page-guides .crg23c-card {
  border-color: var(--ctrv101-line) !important;
  background: #fff !important;
  color: var(--ctrv101-ink) !important;
}

html[data-theme] body.ctr-page-guides .crg23c-panel :is(h1, h2, h3, strong),
html[data-theme] body.ctr-page-guides .crg23c-card :is(h1, h2, h3, strong) {
  color: var(--ctrv101-ink) !important;
  -webkit-text-fill-color: var(--ctrv101-ink) !important;
}

html[data-theme] body.ctr-page-guides .crg23c-panel :is(p, li, span, small),
html[data-theme] body.ctr-page-guides .crg23c-card :is(p, li, span, small) {
  color: var(--ctrv101-muted) !important;
  -webkit-text-fill-color: var(--ctrv101-muted) !important;
}

/* Slot cards: stop natural image dimensions and long strings from widening cards. */
body.ctr-page-slots :is(
  .cr-slot-grid-v27,
  .cr-slot-list-v31,
  .cr-slot-card-v27,
  .cr-slot-body-v27,
  .cr-slot-card-body-v27,
  .cr-slot-topline-v27,
  .cr-slot-actions-v31,
  .cr-slot-metrics-v27,
  .cr-slot-tags-v27
) {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.ctr-page-slots .cr-slot-card-v27 {
  width: 100% !important;
  overflow: hidden !important;
}

body.ctr-page-slots .cr-slot-image-v27 {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 205px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.ctr-page-slots .cr-slot-image-v27 img {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.ctr-page-slots .cr-slot-card-v27 :is(h2, h3, p, a, span, small, b, strong) {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Tables and market boards scroll inside their own card, never across the document. */
body.cr-betting-ai-report-page.ctr-public-v2 :is(
  .ai-prediction-report,
  .indexable-micro-market-report,
  .indexable-prediction-report,
  .card,
  .micro-market-board,
  .crr-table-wrap
) {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.cr-betting-ai-report-page.ctr-public-v2 :is(
  .ai-prediction-report .card,
  .indexable-micro-market-report .card,
  .indexable-prediction-report .card,
  .crr-table-wrap
) {
  overflow-x: auto !important;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

body.cr-betting-ai-report-page.ctr-public-v2 :is(
  .ai-prediction-report table,
  .indexable-micro-market-report table,
  .indexable-prediction-report table,
  .crr-table-wrap table
) {
  width: max-content !important;
  min-width: 100% !important;
  max-width: none !important;
  table-layout: auto !important;
}

body.cr-betting-ai-report-page.ctr-public-v2 :is(th, td) {
  white-space: normal !important;
  overflow-wrap: anywhere;
}

/* Homepage locale dossier: rows and long protocol values wrap on narrow screens. */
body.ctr-page-home :is(
  .region-context-card,
  .case-file-panel,
  .locale-grid,
  .locale-tile,
  .region-grid-clean
) {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.ctr-page-home .region-context-card {
  overflow: hidden !important;
}

body.ctr-page-home .region-context-card * {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Readable microcopy. */
body.ctr-public-v2 :is(
  .eyebrow,
  .eyebrow-badge,
  .data-label,
  .meta-label,
  .status-stamp,
  .crg23c-kicker,
  .crr-kicker,
  .cr-slot-topline-v27,
  .crbai-chip,
  .crbai-status
) {
  font-size: max(11px, .6875rem) !important;
  line-height: 1.45 !important;
}

@media (max-width: 840px) {
  html[data-theme] body.ctr-public-v2 :is(
    .hero,
    .page-hero,
    .locale-hero,
    .registry-hero,
    .dossier-hero,
    .cr-slot-hero-v31,
    .cr-streamer-hero-v43,
    .crg23c-hero,
    .crr-hero
  ) {
    border-radius: 20px !important;
  }

  html[data-theme] body.ctr-public-v2 :is(
    .hero,
    .page-hero,
    .locale-hero,
    .registry-hero,
    .dossier-hero,
    .cr-slot-hero-v31,
    .cr-streamer-hero-v43,
    .crg23c-hero,
    .crr-hero
  ) h1 {
    font-size: clamp(39px, 11vw, 58px) !important;
    line-height: .98 !important;
  }
}

@media (max-width: 560px) {
  .cru21-brand-text {
    max-width: none !important;
    font-size: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  .cru21-brand-text em {
    font-size: 11px !important;
    font-style: normal;
  }

  body.ctr-page-slots .cr-slot-image-v27 {
    height: 180px !important;
  }

  body.ctr-public-v2 :is(.card, .record-card, .cr-slot-card-v27) {
    min-width: 0 !important;
  }

  body.cr-betting-ai-report-page.ctr-public-v2 :is(
    .ai-prediction-report,
    .indexable-micro-market-report,
    .indexable-prediction-report
  ) {
    width: min(100% - 18px, 1120px) !important;
  }
}

/* Final component corrections after the broad paper-surface rules. */
html[data-theme] body.ctr-public-v2 :is(
  .hero,
  .page-hero,
  .locale-hero,
  .registry-hero,
  .dossier-hero,
  .cr-slot-hero-v31,
  .cr-streamer-hero-v43,
  .crg23c-hero,
  .crr-hero
) :is(.filterbar, .search-panel, .crbai-status-grid) :is(a.btn, button, .btn, [role="button"]),
body.ctr-page-slots .cr-view-switch-v31 a,
body.ctr-page-streamers .cr-view-switch-v31 a {
  border: 1px solid #324457 !important;
  background: #101b27 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
}

body.ctr-page-slots .cr-view-switch-v31 a.active,
body.ctr-page-streamers .cr-view-switch-v31 a.active,
html[data-theme] body.ctr-public-v2 :is(.filterbar, .search-panel) :is(.primary, .btn.primary) {
  border-color: var(--ctrv101-blue) !important;
  background: var(--ctrv101-blue) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.ctr-page-guides .crg23c-hero {
  padding: clamp(30px, 5vw, 60px) !important;
}

body.cr-betting-ai-page.ctr-public-v2 .hero {
  min-height: 0 !important;
  height: auto !important;
  padding: clamp(48px, 6vw, 76px) !important;
  display: grid !important;
  grid-template-columns: minmax(240px, .72fr) minmax(320px, 1.28fr) !important;
  gap: clamp(30px, 5vw, 72px) !important;
  align-items: center !important;
}

body.cr-betting-ai-page.ctr-public-v2 .hero h1,
body.cr-betting-ai-page.ctr-public-v2 .hero p {
  margin: 0 !important;
}

@media (max-width: 760px) {
  body.cr-betting-ai-page.ctr-public-v2 .hero {
    grid-template-columns: 1fr !important;
    padding: 30px 22px !important;
    gap: 20px !important;
  }

  body.ctr-page-guides .crg23c-hero {
    padding: 28px 22px !important;
  }

  body.ctr-page-home .v15-ledger-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px 10px !important;
  }

  body.ctr-page-home .v15-ledger-row small {
    grid-column: 1 / -1 !important;
  }

  body.ctr-page-home .v15-ledger-row b {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}
/* CTR_VISUAL_REPAIR_V102 */

/*
 * Corrects two regressions visible after V1.0.1:
 * 1. Betting AI hero was squeezed by a grid applied to the outer hero
 *    while the legacy enhancer had already created its own inner grid.
 * 2. Internal evidence cards retained dark legacy backgrounds while the
 *    unified paper layer forced dark text, producing unreadable sections.
 */

/* Betting AI hero: the outer shell is a block; the inner layout owns the grid. */
body.cr-betting-ai-page.ctr-public-v2 .hero.crbai-hero {
  display: block !important;
  grid-template-columns: none !important;
  min-height: 0 !important;
  height: auto !important;
  padding: clamp(40px, 5vw, 64px) !important;
}

body.cr-betting-ai-page.ctr-public-v2 .hero.crbai-hero .crbai-hero-layout {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  grid-template-columns: minmax(0, 1.06fr) minmax(340px, .94fr) !important;
  gap: clamp(32px, 5vw, 72px) !important;
  align-items: center !important;
}

body.cr-betting-ai-page.ctr-public-v2 .crbai-hero-copy,
body.cr-betting-ai-page.ctr-public-v2 .crbai-hero-side {
  min-width: 0 !important;
  width: 100% !important;
  background: transparent !important;
}

body.cr-betting-ai-page.ctr-public-v2 .crbai-hero-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

body.cr-betting-ai-page.ctr-public-v2 .crbai-hero-side {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 24px !important;
}

body.cr-betting-ai-page.ctr-public-v2 .hero.crbai-hero h1 {
  width: auto !important;
  max-width: 650px !important;
  margin: 0 !important;
  font-family: Fraunces, Georgia, serif !important;
  font-size: clamp(58px, 6.6vw, 88px) !important;
  font-weight: 760 !important;
  line-height: .91 !important;
  letter-spacing: -.058em !important;
  text-wrap: balance !important;
}

body.cr-betting-ai-page.ctr-public-v2 .crbai-hero-side > p {
  width: auto !important;
  max-width: 600px !important;
  margin: 0 !important;
  color: #d9e2ea !important;
  -webkit-text-fill-color: #d9e2ea !important;
  font-size: clamp(18px, 1.7vw, 22px) !important;
  line-height: 1.5 !important;
}

body.cr-betting-ai-page.ctr-public-v2 .crbai-eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 0 20px !important;
  padding: 8px 12px !important;
  border: 1px solid rgba(185, 255, 59, .38) !important;
  border-radius: 999px !important;
  background: rgba(185, 255, 59, .08) !important;
  color: var(--ctrv101-green) !important;
  -webkit-text-fill-color: var(--ctrv101-green) !important;
  white-space: normal !important;
}

body.cr-betting-ai-page.ctr-public-v2 .crbai-status-row {
  display: flex !important;
  flex-wrap: wrap !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 10px !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cr-betting-ai-page.ctr-public-v2 .crbai-status {
  display: inline-flex !important;
  width: auto !important;
  min-height: 38px !important;
  padding: 0 13px !important;
  justify-content: flex-start !important;
  border: 1px solid rgba(255, 255, 255, .17) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .075) !important;
  color: #edf3f7 !important;
  -webkit-text-fill-color: #edf3f7 !important;
}

body.cr-betting-ai-page.ctr-public-v2 .crbai-status strong {
  color: var(--ctrv101-green) !important;
  -webkit-text-fill-color: var(--ctrv101-green) !important;
}

/* AI reports CTA: white paper card with visible description. */
body.cr-betting-ai-page.ctr-public-v2 .betting-ai-reports-link.crbai-reports-cta {
  display: grid !important;
  grid-template-columns: minmax(260px, .82fr) minmax(320px, 1.18fr) auto !important;
  align-items: center !important;
  gap: clamp(22px, 4vw, 54px) !important;
  margin: 26px 0 !important;
  padding: 26px 28px !important;
  border: 1px solid var(--ctrv101-line) !important;
  border-radius: 22px !important;
  background: #fff !important;
  color: var(--ctrv101-ink) !important;
  box-shadow: 0 14px 38px rgba(15, 18, 22, .08) !important;
}

body.cr-betting-ai-page.ctr-public-v2 .crbai-reports-cta h2 {
  margin: 0 !important;
  color: var(--ctrv101-ink) !important;
  -webkit-text-fill-color: var(--ctrv101-ink) !important;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-size: clamp(30px, 3vw, 42px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.04em !important;
}

body.cr-betting-ai-page.ctr-public-v2 .crbai-reports-cta > p {
  margin: 0 !important;
  color: #43515e !important;
  -webkit-text-fill-color: #43515e !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

body.cr-betting-ai-page.ctr-public-v2 .crbai-reports-cta > p:last-child {
  justify-self: end !important;
}

body.cr-betting-ai-page.ctr-public-v2 .crbai-reports-cta a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 48px !important;
  padding: 12px 16px !important;
  border: 1px solid #8fdb25 !important;
  border-radius: 12px !important;
  background: var(--ctrv101-green) !important;
  color: #101820 !important;
  -webkit-text-fill-color: #101820 !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}

/* Internal evidence graph: one consistent white-card editorial system. */
body.ctr-public-v2 .crv166m22-wrap {
  box-sizing: border-box !important;
  overflow: hidden !important;
  width: min(1180px, calc(100% - 32px)) !important;
  margin: 42px auto !important;
  padding: clamp(22px, 3vw, 34px) !important;
  border: 1px solid var(--ctrv101-line) !important;
  border-radius: 24px !important;
  background: #fff !important;
  color: var(--ctrv101-ink) !important;
  box-shadow: 0 18px 46px rgba(15, 18, 22, .09) !important;
}

body.ctr-public-v2 .crv166m22-kicker {
  margin-bottom: 16px !important;
  border-color: #27405b !important;
  background: #1f3853 !important;
  color: #9ddfff !important;
  -webkit-text-fill-color: #9ddfff !important;
}

body.ctr-public-v2 .crv166m22-head {
  gap: 18px !important;
  margin-bottom: 18px !important;
}

body.ctr-public-v2 .crv166m22-title {
  margin: 0 !important;
  color: var(--ctrv101-ink) !important;
  -webkit-text-fill-color: var(--ctrv101-ink) !important;
  font-family: Fraunces, Georgia, serif !important;
  font-size: clamp(42px, 5vw, 66px) !important;
  line-height: .96 !important;
  letter-spacing: -.048em !important;
}

body.ctr-public-v2 .crv166m22-sub {
  margin: 14px 0 0 !important;
  color: var(--ctrv101-muted) !important;
  -webkit-text-fill-color: var(--ctrv101-muted) !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
}

body.ctr-public-v2 .crv166m22-score {
  border: 1px solid #26394d !important;
  border-radius: 16px !important;
  background:
    linear-gradient(180deg, #13263a, #0d1c2c) !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.ctr-public-v2 .crv166m22-score b {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.ctr-public-v2 .crv166m22-score span {
  color: #9db7cc !important;
  -webkit-text-fill-color: #9db7cc !important;
}

body.ctr-public-v2 .crv166m22-grid {
  gap: 14px !important;
  align-items: stretch !important;
}

body.ctr-public-v2 .crv166m22-card {
  min-width: 0 !important;
  min-height: 220px !important;
  padding: 20px !important;
  border: 1px solid var(--ctrv101-line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  color: var(--ctrv101-ink) !important;
  box-shadow: 0 10px 28px rgba(15, 18, 22, .055) !important;
}

body.ctr-public-v2 .crv166m22-card h3 {
  margin: 0 !important;
  color: var(--ctrv101-ink) !important;
  -webkit-text-fill-color: var(--ctrv101-ink) !important;
  font-family: Fraunces, Georgia, serif !important;
  font-size: clamp(28px, 2.7vw, 38px) !important;
  line-height: 1.03 !important;
  letter-spacing: -.035em !important;
}

body.ctr-public-v2 .crv166m22-card p {
  margin: 0 !important;
  color: var(--ctrv101-muted) !important;
  -webkit-text-fill-color: var(--ctrv101-muted) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

body.ctr-public-v2 .crv166m22-links {
  gap: 8px !important;
}

body.ctr-public-v2 .crv166m22-links a {
  min-height: 36px !important;
  padding: 8px 11px !important;
  border: 1px solid #2d4257 !important;
  border-radius: 8px !important;
  background: #101d2b !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
}

body.ctr-public-v2 .crv166m22-links a:hover {
  border-color: #0b7fc6 !important;
  background: #137bca !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.ctr-public-v2 .crv166m22-mini {
  margin-top: 16px !important;
  padding: 18px !important;
  border: 1px solid var(--ctrv101-line) !important;
  border-radius: 16px !important;
  background: #f4f6f5 !important;
  color: var(--ctrv101-ink) !important;
  box-shadow: none !important;
}

body.ctr-public-v2 .crv166m22-mini-title {
  color: #246f9d !important;
  -webkit-text-fill-color: #246f9d !important;
}

body.ctr-public-v2 .crv166m22-list a {
  color: #163d5a !important;
  -webkit-text-fill-color: #163d5a !important;
  border-bottom-color: #cbd5dc !important;
}

body.ctr-public-v2 .crv166m22-list a:hover {
  color: #0877bc !important;
  -webkit-text-fill-color: #0877bc !important;
}

/* The guide card grid already contains these links; remove the plain duplicate list. */
body.ctr-page-guides .cr-v139b-hub-links {
  display: none !important;
}

@media (max-width: 900px) {
  body.cr-betting-ai-page.ctr-public-v2 .hero.crbai-hero .crbai-hero-layout {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  body.cr-betting-ai-page.ctr-public-v2 .crbai-hero-side {
    max-width: 720px !important;
  }

  body.cr-betting-ai-page.ctr-public-v2 .betting-ai-reports-link.crbai-reports-cta {
    grid-template-columns: 1fr !important;
  }

  body.cr-betting-ai-page.ctr-public-v2 .crbai-reports-cta > p:last-child {
    justify-self: start !important;
  }
}

@media (max-width: 560px) {
  body.cr-betting-ai-page.ctr-public-v2 .hero.crbai-hero {
    padding: 28px 20px !important;
  }

  body.cr-betting-ai-page.ctr-public-v2 .hero.crbai-hero h1 {
    font-size: clamp(46px, 14vw, 62px) !important;
  }

  body.cr-betting-ai-page.ctr-public-v2 .crbai-status-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  body.cr-betting-ai-page.ctr-public-v2 .crbai-status {
    width: 100% !important;
  }

  body.ctr-public-v2 .crv166m22-wrap {
    width: calc(100% - 20px) !important;
    margin: 24px auto !important;
    padding: 18px !important;
    border-radius: 18px !important;
  }

  body.ctr-public-v2 .crv166m22-title {
    font-size: clamp(36px, 12vw, 50px) !important;
  }

  body.ctr-public-v2 .crv166m22-card {
    min-height: 0 !important;
  }
}
/* CTR_VISUAL_POLISH_V103 */

/*
 * Final visual rhythm pass after V1.0.2:
 * - compact and aligned filter consoles
 * - less dead space around Streamers and Providers heroes
 * - natural-height Evidence Graph cards
 * - cleaner AI status and radar surfaces
 * - consistent radii and microcopy
 */

/* Main-interface controls: retain the technical character, soften geometry. */
body.ctr-public-v2 main :is(
  .btn,
  button,
  .crs32-btn,
  .crg23c-btn,
  .cr-view-switch-v31 a,
  .cr-subnav-v98 a
) {
  border-radius: 10px !important;
  letter-spacing: .105em !important;
}

body.ctr-public-v2 main :is(
  .eyebrow,
  .crs32-kicker,
  .crv166m22-kicker,
  .crv166m22-mini-title,
  .crg23c-kicker,
  .crbai-eyebrow
) {
  font-size: 10.5px !important;
}

/* ---------------------------------------------------------
   Filter consoles
   --------------------------------------------------------- */

body.ctr-page-slots .cr-slot-filter-v31,
body.ctr-page-streamers .cr-streamer-filter-v43,
body.ctr-page-providers .page-hero .filterbar {
  position: relative !important;
  align-items: stretch !important;
  gap: 10px !important;
  margin: 22px 0 12px !important;
  padding: 14px 16px 16px !important;
  border: 1px solid var(--ctrv101-line) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, .985) !important;
  box-shadow: 0 12px 30px rgba(15, 18, 22, .075) !important;
}

body.ctr-page-slots .cr-slot-filter-v31 {
  grid-template-columns:
    minmax(280px, 1.7fr)
    minmax(180px, .88fr)
    minmax(130px, .58fr)
    minmax(140px, .68fr)
    minmax(108px, .50fr) !important;
}

body.ctr-page-streamers .cr-streamer-filter-v43 {
  grid-template-columns:
    minmax(220px, 1.35fr)
    minmax(150px, .80fr)
    minmax(150px, .80fr)
    minmax(118px, .55fr)
    minmax(150px, .70fr)
    minmax(108px, .50fr) !important;
}

body.ctr-page-providers .page-hero .filterbar {
  width: min(680px, 100%) !important;
  grid-template-columns:
    minmax(260px, 1fr)
    minmax(118px, 150px)
    minmax(104px, 126px) !important;
}

body.ctr-page-slots .cr-slot-filter-v31::before,
body.ctr-page-streamers .cr-streamer-filter-v43::before,
body.ctr-page-providers .page-hero .filterbar::before {
  grid-column: 1 / -1 !important;
  width: auto !important;
  min-height: 16px !important;
  margin: 0 0 2px !important;
  padding: 0 !important;
  align-items: center !important;
  color: #1477ad !important;
  -webkit-text-fill-color: #1477ad !important;
  font-size: 10px !important;
  letter-spacing: .17em !important;
}

body.ctr-page-slots .cr-slot-filter-v31 input[type="hidden"],
body.ctr-page-streamers .cr-streamer-filter-v43 input[type="hidden"] {
  display: none !important;
}

body.ctr-page-slots .cr-slot-filter-v31 :is(input, select, button, .btn),
body.ctr-page-streamers .cr-streamer-filter-v43 :is(input, select, button, .btn),
body.ctr-page-providers .page-hero .filterbar :is(input, select, button, .btn) {
  min-width: 0 !important;
  width: 100% !important;
  height: 48px !important;
  margin: 0 !important;
  border-radius: 10px !important;
}

body.ctr-page-slots .cr-slot-filter-v31 :is(button, .btn),
body.ctr-page-streamers .cr-streamer-filter-v43 :is(button, .btn),
body.ctr-page-providers .page-hero .filterbar :is(button, .btn) {
  padding-inline: 14px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.ctr-page-slots .cr-view-switch-v31,
body.ctr-page-streamers .cr-view-switch-v31 {
  margin: 12px 0 0 !important;
  gap: 8px !important;
}

body.ctr-page-slots .cr-view-switch-v31 a,
body.ctr-page-streamers .cr-view-switch-v31 a {
  min-height: 42px !important;
  height: 42px !important;
  padding-inline: 16px !important;
}

/* ---------------------------------------------------------
   Streamers: remove the large dead area between controls and news.
   --------------------------------------------------------- */

body.ctr-page-streamers .cr-streamer-hero-v43 {
  min-height: 0 !important;
  padding-bottom: 28px !important;
}

body.ctr-page-streamers .cr-streamer-hero-v43 .cr-view-switch-v31 {
  margin-bottom: 0 !important;
}

body.ctr-page-streamers .crs32-news-nav {
  width: min(1180px, calc(100% - 32px)) !important;
  margin: 24px auto 0 !important;
  padding: 26px !important;
  border: 1px solid var(--ctrv101-line) !important;
  border-radius: 22px !important;
  background: #fff !important;
  color: var(--ctrv101-ink) !important;
  box-shadow: 0 16px 40px rgba(15, 18, 22, .075) !important;
}

body.ctr-page-streamers .crs32-news-nav-inner {
  gap: 24px !important;
}

body.ctr-page-streamers .crs32-news-nav :is(h2, h3, strong) {
  color: var(--ctrv101-ink) !important;
  -webkit-text-fill-color: var(--ctrv101-ink) !important;
}

body.ctr-page-streamers .crs32-news-nav p,
body.ctr-page-streamers .crs32-mini span {
  color: var(--ctrv101-muted) !important;
  -webkit-text-fill-color: var(--ctrv101-muted) !important;
}

body.ctr-page-streamers .crs32-mini {
  gap: 10px !important;
  margin-top: 18px !important;
}

body.ctr-page-streamers .crs32-mini a {
  border: 1px solid var(--ctrv101-line) !important;
  border-radius: 12px !important;
  background: #f7f8f7 !important;
}

body.ctr-page-streamers main > .section {
  padding-top: 30px !important;
}

/* ---------------------------------------------------------
   Providers: compact search and navigation instead of full-width strips.
   --------------------------------------------------------- */

body.ctr-page-providers .page-hero {
  min-height: 0 !important;
  padding-bottom: 42px !important;
}

body.ctr-page-providers .cr-subnav-v98 {
  display: inline-flex !important;
  width: auto !important;
  max-width: 100% !important;
  gap: 6px !important;
  margin: 6px 0 0 !important;
  padding: 6px !important;
  overflow-x: auto !important;
  border: 1px solid var(--ctrv101-line) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .985) !important;
  box-shadow: 0 10px 26px rgba(15, 18, 22, .065) !important;
}

body.ctr-page-providers .cr-subnav-v98 a {
  flex: 0 0 auto !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  border: 1px solid transparent !important;
  background: #eef1f3 !important;
  color: #43515e !important;
  -webkit-text-fill-color: #43515e !important;
}

body.ctr-page-providers .cr-subnav-v98 a.active,
body.ctr-page-providers .cr-subnav-v98 a:hover {
  border-color: var(--ctrv101-blue) !important;
  background: var(--ctrv101-blue) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.ctr-page-providers .cr-subnav-v98 span {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

/* ---------------------------------------------------------
   Guides and Evidence Graph: reduce unnecessary vertical stretching.
   --------------------------------------------------------- */

body.ctr-page-guides .crg23c-panel {
  overflow: hidden !important;
  border-radius: 22px !important;
  box-shadow: 0 16px 42px rgba(15, 18, 22, .07) !important;
}

body.ctr-public-v2 .crv166m22-grid {
  align-items: start !important;
}

body.ctr-public-v2 .crv166m22-card {
  align-self: start !important;
  min-height: 0 !important;
  height: auto !important;
}

body.ctr-public-v2 .crv166m22-links {
  margin-top: 18px !important;
}

body.ctr-public-v2 .crv166m22-score {
  min-width: 280px !important;
}

body.ctr-public-v2 .crv166m22-mini {
  margin-top: 18px !important;
  padding: 20px !important;
}

/* ---------------------------------------------------------
   Betting AI: remove the box around status pills and refine radar state.
   --------------------------------------------------------- */

body.cr-betting-ai-page.ctr-public-v2 :is(
  .crbai-status-grid,
  .crbai-status-row
) {
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cr-betting-ai-page.ctr-public-v2 .crbai-status-grid {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.cr-betting-ai-page.ctr-public-v2 .radar.crbai-radar-section {
  border-radius: 22px !important;
  box-shadow: 0 16px 42px rgba(15, 18, 22, .075) !important;
}

body.cr-betting-ai-page.ctr-public-v2 .radar .status {
  display: inline-flex !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 0 12px !important;
  padding: 7px 11px !important;
  border: 1px solid #cbd6de !important;
  border-radius: 999px !important;
  background: #eef4f6 !important;
  color: #29404f !important;
  -webkit-text-fill-color: #29404f !important;
  line-height: 1.35 !important;
}

body.cr-betting-ai-page.ctr-public-v2 .radar .status.ok {
  border-color: #a9ce85 !important;
  background: #f0f8e8 !important;
  color: #2f5b23 !important;
  -webkit-text-fill-color: #2f5b23 !important;
}

body.cr-betting-ai-page.ctr-public-v2 .radar :is(.tabs, .chips) {
  gap: 8px !important;
}

body.cr-betting-ai-page.ctr-public-v2 .radar :is(.tabs, .chips) button {
  min-height: 44px !important;
  padding: 9px 14px !important;
  border-radius: 10px !important;
}

body.cr-betting-ai-page.ctr-public-v2 .radar :is(.tabs, .chips) button.active {
  border-color: var(--ctrv101-blue) !important;
  background: var(--ctrv101-blue) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* ---------------------------------------------------------
   Responsive console layouts
   --------------------------------------------------------- */

@media (max-width: 1120px) {
  body.ctr-page-slots .cr-slot-filter-v31,
  body.ctr-page-streamers .cr-streamer-filter-v43 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.ctr-page-slots .cr-slot-filter-v31::before,
  body.ctr-page-streamers .cr-streamer-filter-v43::before {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 720px) {
  body.ctr-page-slots .cr-slot-filter-v31,
  body.ctr-page-streamers .cr-streamer-filter-v43,
  body.ctr-page-providers .page-hero .filterbar {
    width: 100% !important;
    grid-template-columns: 1fr !important;
    padding: 14px !important;
  }

  body.ctr-page-slots .cr-slot-filter-v31::before,
  body.ctr-page-streamers .cr-streamer-filter-v43::before,
  body.ctr-page-providers .page-hero .filterbar::before {
    grid-column: 1 !important;
  }

  body.ctr-page-streamers .crs32-news-nav {
    width: calc(100% - 20px) !important;
    margin-top: 16px !important;
    padding: 20px !important;
    border-radius: 18px !important;
  }

  body.ctr-page-providers .cr-subnav-v98 {
    display: flex !important;
    width: 100% !important;
  }

  body.ctr-public-v2 .crv166m22-score {
    min-width: 0 !important;
  }
}
