/* Shared public UI contract. Game geometry and rarity colours belong to their pages. */

:root {

  --ui-radius-control: 10px;

  --ui-radius-card: 14px;

  --ui-radius-dialog: 18px;

  --ui-control-height: 44px;

  --ui-surface: #20201c;

  --ui-surface-hover: #2b2b25;

  --ui-input: #151513;

  --ui-border: #34342d;

  --ui-muted: #a2a299;

  --ui-text: #f5f5ef;

}



/* A hidden tab, menu or dialog must stay hidden regardless of layout styles. */

body:where(.home-page,.case-page,.upgrade-page,.crash-page,.double-page,.jackpot-page,.case-race-page,.profile-page,.news-page,.news-article-page,.slot-game-page) [hidden] { display: none !important; }

body:where(.home-page,.case-page,.upgrade-page,.crash-page,.double-page,.jackpot-page,.case-race-page,.profile-page,.news-page,.news-article-page,.slot-game-page) :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible {

  outline: 2px solid var(--gb-accent) !important;

  outline-offset: 3px;

}

body:where(.home-page,.case-page,.upgrade-page,.crash-page,.double-page,.jackpot-page,.case-race-page,.profile-page,.news-page,.news-article-page,.slot-game-page) ::selection { background: color-mix(in srgb,var(--gb-accent) 25%,transparent); color: var(--ui-text); }



body :is(.ui-button,.hero-action,.start,.crash-button,.double-button,.jackpot-button,.race-button,.spin-button,.profile-action,.profile-action-link,.inventory-card__action,.tool-button,.pagination button,#upgrade-btn) {

  border-radius: var(--ui-radius-control) !important;

  font-family: var(--gb-font);

  font-size: 13px;

  font-weight: 700;

  line-height: 1.4;

  letter-spacing: 0;

  text-decoration: none;

  box-shadow: none !important;

  transition: background-color 160ms ease, border-color 160ms ease, opacity 160ms ease;

}

.ui-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: var(--ui-control-height); padding: 10px 18px; border: 1px solid transparent; cursor: pointer; }

body :is(.ui-button--primary,.hero-action--primary,.start:not(.start--secondary):not(.start--ghost),.crash-button--primary,.double-button--primary,.jackpot-button--primary,.race-button--primary,.spin-button,.profile-action--primary,#upgrade-btn) {

  background: var(--gb-accent) !important;

  border-color: transparent !important;

  color: var(--brand-on-accent,#111110) !important;

}

body :is(.ui-button--secondary,.hero-action:not(.hero-action--primary),.start--secondary,.crash-button--secondary,.double-button--secondary,.jackpot-button--secondary,.race-button--secondary,.profile-action-link,.tool-button,.pagination button) {

  background: var(--ui-surface) !important;

  border: 1px solid var(--ui-border) !important;

  color: var(--ui-text) !important;

}

body :is(.ui-button--ghost,.start--ghost,.double-button--ghost,.jackpot-button--ghost,.race-button--ghost) { background: transparent !important; border: 1px solid var(--ui-border) !important; color: var(--ui-text) !important; }

body :is(.ui-button,.hero-action,.start,.crash-button,.double-button,.jackpot-button,.race-button,.spin-button,.profile-action,.profile-action-link,.inventory-card__action,.tool-button,.pagination button,#upgrade-btn):not(:disabled):hover { transform: none !important; filter: brightness(1.08); }

body :is(.ui-button,.hero-action,.start,.crash-button,.double-button,.jackpot-button,.race-button,.spin-button,.profile-action,.inventory-card__action,.tool-button,.pagination button,#upgrade-btn):active { filter: brightness(.94); }

body :is(.ui-button,.start,.crash-button,.double-button,.jackpot-button,.race-button,.spin-button,.profile-action,.inventory-card__action,.tool-button,.pagination button,#upgrade-btn):disabled { cursor: not-allowed; filter: none; opacity: .48 !important; }



/* Search and sort controls share a surface, outline and type scale. */

body :is(.ui-field,.case-catalog-tools input,.case-catalog-tools select,.upgrade-page .filters input,.upgrade-page .filters select,.profile-page .search-control input,.profile-page #sort-select,.slot-controls select,.jackpot-custom-amount input,.race-modal input,.race-modal select) {

  border-radius: var(--ui-radius-control) !important;

  border: 1px solid var(--ui-border) !important;

  background: var(--ui-input) !important;

  color: var(--ui-text) !important;

  font-family: var(--gb-font);

  font-size: 13px;

  line-height: 1.4;

  box-shadow: none !important;

}

.ui-field { min-height: var(--ui-control-height); padding: 10px 12px; width: 100%; }

body :is(.catalog-search,.sort-dropdown__trigger) { border-radius: var(--ui-radius-control) !important; border-color: var(--ui-border) !important; background: var(--ui-input) !important; }

body :is(.catalog-search,.search-control):focus-within { outline: 2px solid var(--gb-accent); outline-offset: 3px; }

body :is(.catalog-search,.search-control) input:focus-visible { outline: none !important; }

body :is(.ui-field,.case-catalog-tools input,.upgrade-page .filters input,.profile-page .search-control input)::placeholder { color: var(--ui-muted); opacity: 1; }

body :is(.filter-pills button,.modes button,.status-filter,.jackpot-modal__tab,.segment-group button) { border-radius: 8px !important; font-weight: 700; letter-spacing: 0; }

body :is(.filter-pills button,.status-filter,.jackpot-modal__tab,.segment-group button):is(.is-active,[aria-selected=true],[aria-pressed=true]) { background: color-mix(in srgb,var(--gb-accent) 13%,var(--ui-surface)) !important; border-color: color-mix(in srgb,var(--gb-accent) 35%,var(--ui-border)) !important; color: var(--gb-accent) !important; }



body :is(.case-item-card,.inventory-card,.target-card,.pool-item,.seo-news-card) { border-radius: var(--ui-radius-card) !important; }

body :is(.topup-modal__dialog,.jackpot-modal__dialog,.race-modal__dialog,.profile-dialog) { border-radius: var(--ui-radius-dialog) !important; border: 1px solid var(--ui-border) !important; background: #191917 !important; }

body :is(.topup-modal__close,.jackpot-modal__close,.race-modal__close,.profile-dialog__close,.sound-toggle) { width: 40px; min-width: 40px; height: 40px; min-height: 40px; padding: 0; display: inline-grid; place-items: center; border: 1px solid var(--ui-border) !important; border-radius: var(--ui-radius-control) !important; background: var(--ui-surface) !important; color: var(--ui-text); box-shadow: none !important; }

body :is(.topup-modal__close,.jackpot-modal__close,.race-modal__close,.profile-dialog__close,.sound-toggle):hover { background: var(--ui-surface-hover) !important; }

body :is(.empty-state,.case-filter-empty) { color: var(--ui-muted); line-height: 1.6; }

body :is(.empty-state) strong { color: var(--ui-text); }

body .main-header .language-switcher__option { border-radius: var(--ui-radius-control); }

body :is(.seo-news-card__link,.seo-news-hub__rss) { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 9px 14px; border-radius: var(--ui-radius-control); border: 1px solid var(--ui-border); background: var(--ui-surface); color: var(--ui-text); font-size: 13px; font-weight: 700; text-decoration: none; }

body :is(.seo-news-card__link,.seo-news-hub__rss):hover { border-color: color-mix(in srgb,var(--gb-accent) 45%,var(--ui-border)); background: var(--ui-surface-hover); }



@media(max-width:760px) {

  body :is(.ui-button,.start,.crash-button,.double-button,.jackpot-button,.race-button,.spin-button,.profile-action,.inventory-card__action,.pagination button,#upgrade-btn) { min-height: var(--ui-control-height); }

  body :is(.ui-field,.case-catalog-tools input,.case-catalog-tools select,.upgrade-page .filters input,.upgrade-page .filters select,.profile-page .search-control input,.profile-page #sort-select,.slot-controls select) { min-height: var(--ui-control-height); }

  body :is(.modes button,.tool-button,.filter-pills button,.status-filter,.seo-news-card__link,.seo-news-hub__rss,.sort-dropdown__trigger,.catalog-search) { min-height: var(--ui-control-height); }

  body.home-page :is(.filter-pills button,.sort-dropdown__trigger,.catalog-search),body.upgrade-page :is(.modes button,.tool-button) { min-height: var(--ui-control-height) !important; }

}

@media(prefers-reduced-motion:reduce) {

  body :is(.ui-button,.hero-action,.start,.crash-button,.double-button,.jackpot-button,.race-button,.spin-button,.profile-action,.inventory-card__action,.tool-button,.pagination button,#upgrade-btn) { transition: none; }

}

/* Tablet and touch ergonomics for the shared game shell. */
@media (max-width: 900px), (pointer: coarse) {
  body :is(.header-menu-toggle,.live-drops__control,.mode-intro-help,.mode-intro__close,.topup-modal__close,.profile-dialog__close,#add-funds) {
    min-width: 44px !important;
    min-height: 44px !important;
  }
  body :is(.game-back,.case-contents-link,.selection-link) {
    min-height: 44px;
    touch-action: manipulation;
  }
}
