/* DCC accessible scale layer · v0.17.31
 * Loaded after every page-specific stylesheet so administrator font and icon
 * values remain authoritative without clipping fixed-height mobile cards. */
:root {
  --dcc-ui-base-font: 18px;
  --dcc-ui-title-font: 30px;
  --dcc-ui-body-font: 18px;
  --dcc-ui-button-font: 18px;
  --dcc-ui-menu-font: 14px;
  --dcc-ui-icon-size: 32px;
  --dcc-ui-bottom-icon-size: 44px;
  --dcc-ui-control-height: max(50px, calc(var(--dcc-ui-button-font) * 2.8));
  --dcc-ui-nav-height: calc(var(--dcc-ui-bottom-icon-size) + (var(--dcc-ui-menu-font) * 2.6) + 24px);
  --dcc-ui-space: clamp(12px, calc(var(--dcc-ui-body-font) * .85), 26px);
}

.dcc-app-root,
.dcc-app-root * { box-sizing: border-box; }

.dcc-app-root {
  font-size: var(--dcc-ui-base-font) !important;
  line-height: 1.55;
  overflow-wrap: anywhere;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.dcc-app-root h1,
.dcc-app-root h2,
.dcc-app-root [class*="title"] h1,
.dcc-app-root [class*="title"] h2 {
  font-size: var(--dcc-ui-title-font) !important;
  line-height: 1.2 !important;
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
}

.dcc-app-root h3,
.dcc-app-root h4 {
  font-size: max(var(--dcc-ui-base-font), calc(var(--dcc-ui-title-font) * .72)) !important;
  line-height: 1.3;
}

.dcc-app-root p,
.dcc-app-root li,
.dcc-app-root td,
.dcc-app-root label,
.dcc-app-root input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.dcc-app-root textarea,
.dcc-app-root select {
  font-size: var(--dcc-ui-body-font) !important;
  line-height: 1.55;
}

.dcc-app-root small,
.dcc-app-root [class*="help"],
.dcc-app-root [class*="description"],
.dcc-app-root [class*="meta"] span,
.dcc-app-root [class*="status"],
.dcc-app-root [class*="badge"] {
  font-size: max(12px, calc(var(--dcc-ui-body-font) * .72)) !important;
  line-height: 1.45 !important;
}

.dcc-app-root button,
.dcc-app-root input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.dcc-app-root select,
.dcc-app-root textarea,
.dcc-app-root a[class*="button"],
.dcc-app-root a[class*="action"] {
  min-height: var(--dcc-ui-control-height) !important;
}

.dcc-app-root button,
.dcc-app-root a[class*="button"],
.dcc-app-root a[class*="action"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: max(10px, calc(var(--dcc-ui-button-font) * .55)) max(16px, calc(var(--dcc-ui-button-font) * .9)) !important;
  font-size: var(--dcc-ui-button-font) !important;
  line-height: 1.28 !important;
  white-space: normal;
  text-align: center;
}

.dcc-app-root input,
.dcc-app-root select,
.dcc-app-root textarea {
  width: 100%;
  padding: max(10px, calc(var(--dcc-ui-body-font) * .55)) max(13px, calc(var(--dcc-ui-body-font) * .72)) !important;
}

.dcc-app-root textarea { min-height: calc(var(--dcc-ui-control-height) * 2.4) !important; }

.dcc-app-root :focus-visible {
  outline: 3px solid #087f6a;
  outline-offset: 3px;
}

.dcc-app-root [class*="icon"] svg,
.dcc-app-root [class*="icon"] img,
.dcc-app-root [class*="menu"] i:not(.dcc-bottom-nav i) {
  width: var(--dcc-ui-icon-size) !important;
  height: var(--dcc-ui-icon-size) !important;
  max-width: none;
  flex: 0 0 auto;
}

.dcc-home-content,
.dcc-match-content,
.dcc-v2-content,
.dcc-assets-content,
.dcc-ticket-content,
.dcc-my-page-content {
  padding-left: var(--dcc-ui-space) !important;
  padding-right: var(--dcc-ui-space) !important;
}

.dcc-soft-form-card,
.dcc-transfer-form,
.dcc-withdraw-form,
.dcc-card,
.dcc-panel,
.dcc-v2-round-card,
.dcc-v2-reward-section,
.dcc-notice-detail {
  height: auto !important;
  padding: clamp(16px, calc(var(--dcc-ui-body-font) * 1.05), 34px) !important;
}

.dcc-soft-form-card label,
.dcc-transfer-form label,
.dcc-withdraw-form label,
.dcc-admin-form-grid label { gap: max(8px, calc(var(--dcc-ui-body-font) * .42)) !important; }

/* Home: large text uses the full card width; illustrations become decoration. */
.dcc-game-page-home .dcc-home-match-focus {
  height: auto !important;
  min-height: max(238px, calc(var(--dcc-ui-title-font) * 7.1)) !important;
}

.dcc-game-page-home .dcc-home-match-copy h1 {
  max-width: min(78%, 330px) !important;
  font-size: var(--dcc-ui-title-font) !important;
}

.dcc-game-page-home .dcc-home-match-copy > p,
.dcc-game-page-home .dcc-home-match-copy > p b,
.dcc-game-page-home .dcc-home-match-action > span,
.dcc-game-page-home .dcc-home-match-status,
.dcc-game-page-home .dcc-home-match-kicker span,
.dcc-game-page-home .dcc-home-match-kicker em {
  font-size: max(12px, calc(var(--dcc-ui-body-font) * .72)) !important;
  line-height: 1.4 !important;
}

.dcc-game-page-home .dcc-home-match-status {
  min-height: calc(var(--dcc-ui-body-font) * 2.15) !important;
  padding: 5px max(10px, calc(var(--dcc-ui-body-font) * .58)) !important;
  white-space: normal;
}

.dcc-game-page-home .dcc-home-match-action strong {
  min-height: var(--dcc-ui-control-height) !important;
  padding: 10px max(14px, calc(var(--dcc-ui-button-font) * .8)) !important;
  font-size: var(--dcc-ui-button-font) !important;
  line-height: 1.25;
}

.dcc-game-page-home .dcc-home-match-timeline a {
  height: auto !important;
  min-height: calc(var(--dcc-ui-body-font) * 5.2) !important;
  padding: 10px 6px !important;
}

.dcc-game-page-home .dcc-home-match-timeline b { font-size: max(16px, var(--dcc-ui-base-font)) !important; }
.dcc-game-page-home .dcc-home-match-timeline span,
.dcc-game-page-home .dcc-home-match-timeline em,
.dcc-game-page-home .dcc-home-match-timeline i {
  font-size: max(11px, calc(var(--dcc-ui-body-font) * .68)) !important;
  line-height: 1.3;
}
.dcc-game-page-home .dcc-home-match-timeline i {
  height: auto !important;
  min-height: max(19px, calc(var(--dcc-ui-body-font) * 1.25)) !important;
  padding: 3px 5px !important;
}

.dcc-home-menu-panel { padding: clamp(16px, calc(var(--dcc-ui-body-font) * 1.05), 30px) !important; }
.dcc-home-menu-grid { gap: clamp(14px, var(--dcc-ui-space), 28px) 10px !important; }
.dcc-home-menu-item { min-height: calc(var(--dcc-ui-icon-size) + (var(--dcc-ui-menu-font) * 2.8) + 24px); gap: 10px !important; }
.dcc-home-menu-icon {
  width: calc(var(--dcc-ui-icon-size) + 22px) !important;
  height: calc(var(--dcc-ui-icon-size) + 22px) !important;
  padding: 10px !important;
}
.dcc-home-menu-item > strong {
  min-height: 0 !important;
  font-size: var(--dcc-ui-menu-font) !important;
  line-height: 1.35 !important;
}

.dcc-home-asset-item {
  height: auto !important;
  min-height: calc(var(--dcc-ui-body-font) * 5.6) !important;
  padding: clamp(14px, calc(var(--dcc-ui-body-font) * .9), 28px) !important;
  gap: max(6px, calc(var(--dcc-ui-body-font) * .32)) !important;
}
.dcc-home-asset-item span,
.dcc-home-asset-item em { font-size: max(12px, calc(var(--dcc-ui-body-font) * .72)) !important; }
.dcc-home-asset-item strong { font-size: max(22px, calc(var(--dcc-ui-title-font) * .82)) !important; line-height: 1.15 !important; }

.dcc-home-notice-link,
.dcc-home-profile-compact,
.dcc-home-logout-bottom,
.dcc-game-page-home .dcc-member-level-status,
.dcc-game-page-home .dcc-ledger-row {
  height: auto !important;
  min-height: calc(var(--dcc-ui-control-height) + 26px) !important;
  padding: max(13px, calc(var(--dcc-ui-body-font) * .72)) !important;
}

.dcc-home-notice-link strong,
.dcc-home-profile-compact strong,
.dcc-home-logout-bottom strong,
.dcc-game-page-home .dcc-ledger-row strong,
.dcc-game-page-home .dcc-ledger-row > b { font-size: var(--dcc-ui-body-font) !important; line-height: 1.35; }
.dcc-home-notice-link strong,
.dcc-home-profile-compact strong,
.dcc-home-profile-compact small,
.dcc-home-logout-bottom small { overflow: visible !important; white-space: normal !important; text-overflow: clip !important; }

/* Match, reward, wallet and history layouts expand instead of clipping. */
.dcc-v2-assets article,
.dcc-v2-round-tabs a,
.dcc-v2-day-round,
.dcc-v2-reward-round,
.dcc-v2-commission-person,
.dcc-v2-level-benefit-person,
.dcc-deposit-methods article,
.dcc-deposit-history article,
.dcc-withdraw-history-list article,
.dcc-wallet-search-result,
.dcc-level-list article,
.dcc-notice-list > a {
  height: auto !important;
  min-height: calc(var(--dcc-ui-control-height) + 22px) !important;
  padding: max(13px, calc(var(--dcc-ui-body-font) * .78)) !important;
}

.dcc-v2-section-head p,
.dcc-v2-section-head span,
.dcc-v2-round-tabs small,
.dcc-v2-assets span,
.dcc-v2-assets em,
.dcc-deposit-history span,
.dcc-withdraw-history-list span,
.dcc-withdraw-history-list small {
  font-size: max(12px, calc(var(--dcc-ui-body-font) * .72)) !important;
  line-height: 1.45 !important;
  white-space: normal !important;
}

/* Bottom navigation grows with both icon and menu text and reserves exactly
 * the same amount of document space, preventing the final card being hidden. */
.dcc-app-root.dcc-has-bottom-nav,
.dcc-has-bottom-nav {
  padding-bottom: calc(var(--dcc-ui-nav-height) + env(safe-area-inset-bottom) + 18px) !important;
}

.dcc-app-root.dcc-has-bottom-nav .dcc-bottom-nav,
.dcc-bottom-nav {
  min-height: var(--dcc-ui-nav-height) !important;
  padding: 8px 4px max(8px, env(safe-area-inset-bottom)) !important;
  align-items: stretch !important;
}

.dcc-bottom-nav a,
.dcc-bottom-nav > span {
  min-height: calc(var(--dcc-ui-nav-height) - 16px) !important;
  padding: 5px 1px !important;
  gap: 5px !important;
  justify-content: center !important;
}

.dcc-bottom-nav i,
.dcc-bottom-nav .dcc-nav-core i {
  width: calc(var(--dcc-ui-bottom-icon-size) + 6px) !important;
  height: calc(var(--dcc-ui-bottom-icon-size) + 6px) !important;
  padding: 3px !important;
  margin: 0 auto !important;
  border-width: 0 !important;
  border-radius: clamp(12px, calc(var(--dcc-ui-bottom-icon-size) * .34), 24px) !important;
}

.dcc-bottom-nav i svg,
.dcc-bottom-nav i img,
.dcc-bottom-nav .dcc-nav-core i svg,
.dcc-bottom-nav .dcc-nav-core i img {
  width: var(--dcc-ui-bottom-icon-size) !important;
  height: var(--dcc-ui-bottom-icon-size) !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

.dcc-bottom-nav .dcc-nav-core { align-self: stretch !important; margin-top: 0 !important; }
.dcc-bottom-nav a span,
.dcc-bottom-nav > span > span,
.dcc-bottom-nav .dcc-nav-core span {
  margin: 0 !important;
  font-size: var(--dcc-ui-menu-font) !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
  white-space: normal;
  overflow-wrap: normal;
  word-break: keep-all;
}

@media (max-width: 480px) {
  .dcc-home-menu-grid,
  .dcc-home-asset-summary,
  .dcc-game-page-home .dcc-home-match-timeline,
  .dcc-v2-day-schedule-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  .dcc-game-page-home .dcc-home-match-focus {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: clamp(18px, var(--dcc-ui-space), 30px) !important;
  }
  .dcc-game-page-home .dcc-home-match-visual {
    position: absolute !important;
    right: 10px;
    bottom: 12px;
    opacity: .54;
  }
  .dcc-game-page-home .dcc-home-match-copy { min-height: inherit; }
  .dcc-game-page-home .dcc-home-match-action { max-width: 82%; }
  .dcc-game-page-home .dcc-home-match-action > span { white-space: normal !important; }

  .dcc-v2-assets,
  .dcc-v2-round-tabs,
  .dcc-assets-actions,
  .dcc-ticket-product-grid { grid-template-columns: 1fr !important; }

  .dcc-level-list article,
  .dcc-deposit-methods article,
  .dcc-wallet-search-result,
  .dcc-withdraw-history-list article { grid-template-columns: 1fr !important; align-items: start !important; }

  .dcc-home-notice-link,
  .dcc-home-profile-compact,
  .dcc-home-logout-bottom { grid-template-columns: auto minmax(0, 1fr) auto !important; }
}

@media (max-width: 360px) {
  .dcc-bottom-nav i,
  .dcc-bottom-nav .dcc-nav-core i {
    width: var(--dcc-ui-bottom-icon-size) !important;
    height: var(--dcc-ui-bottom-icon-size) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dcc-app-root *,
  .dcc-app-root *::before,
  .dcc-app-root *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
