:root {
  --compact-bg: #f4f5f7;
  --compact-surface: #ffffff;
  --compact-surface-2: #fafbfc;
  --compact-line: #e5e7eb;
  --compact-line-2: #dbe1e7;
  --compact-text: #111827;
  --compact-muted: #6b7280;
  --compact-heading: #1f2937;
  --compact-green: #008d6d;
  --compact-green-soft: #e9f7f3;
  --compact-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

html { font-size: 14px; }
body.public-site {
  background: var(--compact-bg) !important;
  color: var(--compact-text) !important;
  font-size: .96rem;
  line-height: 1.42;
}
body.public-site .container {
  max-width: 1060px !important;
}
body.public-site .container.py-4,
body.public-site .container.py-5,
body.public-site .container.mb-5,
body.public-site .container.mb-4,
body.public-site .container.mt-4,
body.public-site .container.mt-5 {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}
body.public-site h1,
body.public-site .h1 { font-size: 1.55rem !important; }
body.public-site h2,
body.public-site .h2 { font-size: 1.22rem !important; }
body.public-site h3,
body.public-site .h3 { font-size: 1.06rem !important; }
body.public-site h4,
body.public-site .h4,
body.public-site h5,
body.public-site .h5 { font-size: .98rem !important; }
body.public-site p { margin-bottom: .55rem; }
body.public-site .small,
body.public-site small { font-size: .78rem !important; }
body.public-site .fs-1 { font-size: 1.8rem !important; }
body.public-site .fs-2 { font-size: 1.5rem !important; }
body.public-site .fs-3 { font-size: 1.25rem !important; }
body.public-site .fs-4 { font-size: 1.08rem !important; }
body.public-site .fs-5 { font-size: .95rem !important; }
body.public-site .lead { font-size: .98rem !important; }

body.public-site .card,
body.public-site .home-card,
body.public-site .match-mini,
body.public-site .news-mini,
body.public-site .team-banner,
body.public-site .league-fixture-card,
body.public-site .league-news-card,
body.public-site .league-mini-card,
body.public-site .league-cta-card,
body.public-site .league-standings-card,
body.public-site .league-widget,
body.public-site .scorecard-page-card,
body.public-site .public-panel,
body.public-site .public-glass,
body.public-site .public-surface {
  border-radius: 10px !important;
  border: 1px solid var(--compact-line) !important;
  background: var(--compact-surface) !important;
  color: var(--compact-text) !important;
  box-shadow: var(--compact-shadow) !important;
}
body.public-site .home-card,
body.public-site .match-mini,
body.public-site .league-fixture-card,
body.public-site .league-news-card,
body.public-site .league-mini-card,
body.public-site .league-widget,
body.public-site .scorecard-page-card,
body.public-site .match-page-shell,
body.public-site .compact-shell {
  padding: 12px !important;
}
body.public-site .p-5 { padding: 1rem !important; }
body.public-site .p-4 { padding: .9rem !important; }
body.public-site .p-3 { padding: .72rem !important; }
body.public-site .px-4 { padding-left: .9rem !important; padding-right: .9rem !important; }
body.public-site .py-4 { padding-top: .9rem !important; padding-bottom: .9rem !important; }
body.public-site .py-3 { padding-top: .7rem !important; padding-bottom: .7rem !important; }
body.public-site .mb-5 { margin-bottom: 1.15rem !important; }
body.public-site .mb-4 { margin-bottom: .95rem !important; }
body.public-site .mb-3 { margin-bottom: .72rem !important; }
body.public-site .mt-5 { margin-top: 1.15rem !important; }
body.public-site .mt-4 { margin-top: .95rem !important; }
body.public-site .mt-3 { margin-top: .72rem !important; }
body.public-site .g-4,
body.public-site .gx-4,
body.public-site .gy-4 { --bs-gutter-x: 1rem; --bs-gutter-y: 1rem; }
body.public-site .g-3,
body.public-site .gx-3,
body.public-site .gy-3 { --bs-gutter-x: .8rem; --bs-gutter-y: .8rem; }

body.public-site .badge,
body.public-site .public-chip,
body.public-site .league-badge,
body.public-site .mini-status,
body.public-site .mc-pill,
body.public-site .league-link-btn,
body.public-site .league-chip-btn {
  border-radius: 999px !important;
  padding: .28rem .55rem !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}
body.public-site .btn,
body.public-site button {
  border-radius: 8px !important;
  font-size: .82rem !important;
  padding: .42rem .72rem !important;
}
body.public-site .form-control,
body.public-site .form-select,
body.public-site input,
body.public-site select,
body.public-site textarea {
  border-radius: 8px !important;
  font-size: .84rem !important;
  min-height: 36px !important;
}

.league-topbar {
  min-height: 34px !important;
  font-size: .72rem !important;
}
.league-topbar .container { min-height: 34px !important; }
.league-main-nav {
  min-height: 50px !important;
}
.league-main-nav .navbar-brand {
  min-height: 42px !important;
}
.league-main-nav .navbar-brand img {
  height: 34px !important;
}
.league-main-nav .nav-link {
  padding: .72rem .6rem !important;
  font-size: .84rem !important;
}
.league-main-nav .btn { padding: .38rem .75rem !important; }
.league-mobile-actions .btn,
.navbar-toggler {
  height: 34px;
  width: 34px;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

.top-score-strip { padding: 4px 0 !important; }
.top-score-strip-inner { gap: 6px !important; padding-top: 2px !important; }
.ticker-card {
  min-width: 168px !important;
  max-width: 186px !important;
  padding: 8px 9px !important;
  border-radius: 10px !important;
}
.ticker-card .teams {
  font-size: .79rem !important;
  line-height: 1.22 !important;
}
.ticker-card .meta { font-size: .68rem !important; }
.live-indicator { width: 7px !important; height: 7px !important; margin-right: 4px !important; }

body.public-site .text-white,
body.public-site .fw-bold.text-white,
body.public-site .fw-bolder.text-white,
body.public-site .text-center h1.text-white,
body.public-site .text-center h2.text-white,
body.public-site .text-center h3.text-white,
body.public-site .card .text-white,
body.public-site .home-card .text-white,
body.public-site .match-mini .text-white,
body.public-site .league-fixture-card .text-white,
body.public-site .league-news-card .text-white {
  color: var(--compact-text) !important;
}
body.public-site .text-white-50,
body.public-site .card .text-white-50,
body.public-site .home-card .text-white-50,
body.public-site .match-mini .text-white-50,
body.public-site .league-fixture-card .text-white-50,
body.public-site .league-news-card .text-white-50,
body.public-site .league-small-muted,
body.public-site .league-fixture-meta,
body.public-site .public-hero-subtitle,
body.public-site .mc-subtitle,
body.public-site .mc-label,
body.public-site .mc-note,
body.public-site .mc-footer-note,
body.public-site .mc-com-desc,
body.public-site .mc-team-note,
body.public-site .mc-team-over {
  color: var(--compact-muted) !important;
}

body.public-site .public-hero,
body.public-site .league-hero,
body.public-site .league-match-hero,
body.public-site .mc-hero,
body.public-site .page-points .text-center.mb-4,
body.public-site .page-series .text-center.mb-5,
body.public-site .page-fixtures .text-center.mb-5,
body.public-site .news-header {
  padding: 14px !important;
  border-radius: 10px !important;
  background: var(--compact-surface) !important;
  border: 1px solid var(--compact-line) !important;
  box-shadow: var(--compact-shadow) !important;
}
body.public-site .public-hero-title,
body.public-site .league-hero-title,
body.public-site .league-team-name,
body.public-site .mc-title,
body.public-site .mc-section-title,
body.public-site .mc-player-name,
body.public-site .mc-team-name,
body.public-site .section-title {
  font-size: 1rem !important;
  line-height: 1.25 !important;
  margin-bottom: .28rem !important;
}
body.public-site .public-section-title,
body.public-site .league-section-kicker,
body.public-site .public-metric-label {
  font-size: .66rem !important;
  letter-spacing: .08em !important;
}
body.public-site .public-metric,
body.public-site .mc-kpi,
body.public-site .mc-info-box,
body.public-site .mc-mini-card,
body.public-site .mc-list-item,
body.public-site .mc-note,
body.public-site .mc-player-card {
  min-width: 0 !important;
  padding: 9px 10px !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}
body.public-site .public-metric-value,
body.public-site .mc-kpi-value,
body.public-site .mc-team-score,
body.public-site .mc-innings-score,
body.public-site .mc-mini-value {
  font-size: .95rem !important;
}

body.public-site .league-team-logo,
body.public-site .mc-team-logo,
body.public-site .team-logo,
body.public-site .team-logo-sm,
body.public-site .team-logo-lg,
body.public-site .rounded-circle img {
  max-height: 42px !important;
}
body.public-site .league-vs,
body.public-site .league-rank {
  width: 24px !important;
  height: 24px !important;
  font-size: .7rem !important;
}

body.public-site .nav-scroll-container,
body.public-site .public-tab-bar,
body.public-site .custom-tabs {
  padding: 4px !important;
  border-radius: 10px !important;
  gap: 4px !important;
  box-shadow: none !important;
}
body.public-site .scorecard-tab,
body.public-site .custom-tabs .nav-link,
body.public-site .mc-tab,
body.public-site .nav-scroll-container a {
  min-height: 34px !important;
  padding: .42rem .7rem !important;
  border-radius: 8px !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
}

body.public-site .table {
  font-size: .82rem !important;
}
body.public-site .table thead th {
  font-size: .67rem !important;
  letter-spacing: .04em !important;
  padding-top: .52rem !important;
  padding-bottom: .52rem !important;
}
body.public-site .table > :not(caption) > * > * {
  padding: .52rem .55rem !important;
  vertical-align: middle !important;
}
body.public-site .table .badge { transform: scale(.94); }

body.public-site .page-index .col-span-4,
body.public-site .page-index .col-span-12 {
  min-width: 0;
}
body.public-site .page-index .league-fixture-card .fw-bold,
body.public-site .page-liveScores .fw-bold,
body.public-site .page-series .fw-bold,
body.public-site .page-fixtures .fw-bold,
body.public-site .page-venue .fw-bold,
body.public-site .page-teams .fw-bold,
body.public-site .page-posts .fw-bold,
body.public-site .page-stats .fw-bold {
  line-height: 1.22 !important;
}
body.public-site .page-index .league-fixture-card .fs-5,
body.public-site .page-liveScores .fs-5,
body.public-site .page-series .fs-5,
body.public-site .page-fixtures .fs-5,
body.public-site .page-venue .fs-5 {
  font-size: .88rem !important;
}
body.public-site .page-index .league-scoreline,
body.public-site .page-liveScores .league-scoreline,
body.public-site .page-series .league-scoreline,
body.public-site .page-fixtures .league-scoreline {
  padding: 8px 9px !important;
  border-radius: 8px !important;
}
body.public-site .page-index .league-news-title,
body.public-site .page-posts .card-title,
body.public-site .page-post_details h1,
body.public-site .page-page h1 {
  font-size: .98rem !important;
  line-height: 1.32 !important;
}
body.public-site .page-teams .team-banner,
body.public-site .page-team_profile .team-banner,
body.public-site .page-player_profile .team-banner,
body.public-site .page-venue .home-card,
body.public-site .page-stats .home-card {
  overflow: hidden;
}
body.public-site .page-player_profile img,
body.public-site .page-team_profile img,
body.public-site .page-teams img,
body.public-site .page-index img,
body.public-site .page-posts img,
body.public-site .page-series img {
  border-radius: 8px !important;
}
body.public-site .page-post_details .card-body,
body.public-site .page-page .card-body { padding: 1rem !important; }
body.public-site .page-post_details .card-body p,
body.public-site .page-page .card-body p { line-height: 1.6; }

body.public-site .page-current .mc-page,
body.public-site .page-scorecard .mc-page,
body.public-site .page-bc .mc-page,
body.public-site .page-match-center .mc-page,
body.public-site .page-details .mc-page,
body.public-site .page-live .mc-page {
  font-size: .92rem;
}
body.public-site .page-current .mc-team-box,
body.public-site .page-scorecard .mc-team-box,
body.public-site .page-bc .mc-team-box,
body.public-site .page-match-center .mc-team-box,
body.public-site .page-details .mc-team-box,
body.public-site .page-live .mc-team-box,
body.public-site .page-current .mc-center-box,
body.public-site .page-scorecard .mc-center-box,
body.public-site .page-bc .mc-center-box,
body.public-site .page-match-center .mc-center-box,
body.public-site .page-details .mc-center-box,
body.public-site .page-live .mc-center-box,
body.public-site .page-current .mc-panel,
body.public-site .page-scorecard .mc-panel,
body.public-site .page-bc .mc-panel,
body.public-site .page-match-center .mc-panel,
body.public-site .page-details .mc-panel,
body.public-site .page-live .mc-panel,
body.public-site .page-current .mc-innings-card,
body.public-site .page-scorecard .mc-innings-card,
body.public-site .page-bc .mc-innings-card,
body.public-site .page-match-center .mc-innings-card,
body.public-site .page-details .mc-innings-card,
body.public-site .page-live .mc-innings-card {
  padding: 10px !important;
  border-radius: 10px !important;
}
body.public-site .page-current .mc-com-item,
body.public-site .page-bc .mc-com-item,
body.public-site .page-match-center .mc-com-item {
  padding: 8px 9px !important;
  border-radius: 8px !important;
}
body.public-site .page-current .mc-over-ball,
body.public-site .page-bc .mc-over-ball,
body.public-site .page-match-center .mc-over-ball,
body.public-site .page-current .mc-ball-badge,
body.public-site .page-bc .mc-ball-badge,
body.public-site .page-match-center .mc-ball-badge {
  width: 22px !important;
  height: 22px !important;
  font-size: .68rem !important;
}
body.public-site .page-current .mc-com-title,
body.public-site .page-bc .mc-com-title,
body.public-site .page-match-center .mc-com-title {
  font-size: .78rem !important;
}
body.public-site .page-current .mc-com-desc,
body.public-site .page-bc .mc-com-desc,
body.public-site .page-match-center .mc-com-desc {
  font-size: .76rem !important;
}

.fantasy-app-shell {
  font-size: .92rem;
}
.fantasy-top-shortcuts {
  gap: 6px !important;
  margin-bottom: 10px !important;
}
.fantasy-top-shortcuts a {
  padding: 8px 10px !important;
  border-radius: 10px !important;
  font-size: .78rem !important;
}
.fantasy-mobile-page .card,
.fantasy-mobile-page .fantasy-panel,
.fantasy-mobile-page .fantasy-surface {
  border-radius: 10px !important;
  box-shadow: var(--compact-shadow) !important;
}

.league-footer {
  background: #fff !important;
  border-top: 1px solid var(--compact-line) !important;
  padding-top: 20px !important;
  padding-bottom: 18px !important;
}
.league-footer .small,
.league-footer p,
.league-footer a,
.league-footer div {
  color: var(--compact-muted) !important;
}
.league-footer .league-section-kicker,
.league-footer .fw-bolder,
.league-footer strong {
  color: var(--compact-heading) !important;
}
.league-footer .league-link-btn {
  background: var(--compact-surface-2) !important;
  color: var(--compact-heading) !important;
  border: 1px solid var(--compact-line) !important;
}

@media (max-width: 991.98px) {
  html { font-size: 13.5px; }
  body.public-site .container { max-width: 100% !important; }
  .league-main-nav .nav-link { padding: .62rem .3rem !important; }
  .ticker-card { min-width: 156px !important; max-width: 176px !important; }
}

@media (max-width: 575.98px) {
  html { font-size: 13px; }
  body.public-site .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  body.public-site h1,
  body.public-site .h1 { font-size: 1.35rem !important; }
  body.public-site h2,
  body.public-site .h2 { font-size: 1.08rem !important; }
  body.public-site .p-4 { padding: .75rem !important; }
  body.public-site .p-3 { padding: .6rem !important; }
  .league-main-nav .navbar-brand img { height: 30px !important; }
  .league-topbar { min-height: 30px !important; }
  .ticker-card {
    min-width: 150px !important;
    max-width: 168px !important;
    padding: 7px 8px !important;
  }
  .ticker-card .teams { font-size: .75rem !important; }
  body.public-site .table { font-size: .78rem !important; }
  body.public-site .table > :not(caption) > * > * { padding: .46rem .42rem !important; }
}
