html[data-rtpx-first-paint-guard] {
  background: var(--theme-bg,#141415);
  color-scheme: dark;
}

html[data-rtpx-first-paint-guard] body:not(.admin-page) {
  opacity: 1;
  visibility: visible;
  transition: none;
}

:root {
  --theme-bg: #141415;
  --bg: #141415;
  --theme-bg-rgb: 20,20,21;
  --theme-footer-bg: #18181c;
  --footer-bg: #18181c;
  --theme-container-bg: #363737;
  --theme-container-bg-rgb: 54,55,55;
  --theme-surface: #363737;
  --theme-surface-rgb: 54,55,55;
  --theme-text: #f8f8fa;
  --text: #f8f8fa;
  --theme-line: rgba(255,255,255,.12);
  --line: rgba(255,255,255,.12);
  --layout-container-bg: rgba(54,55,55,.58);
  --layout-container-bg-soft: rgba(54,55,55,.42);
  --layout-container-bg-strong: rgba(54,55,55,.78);
  --layout-container-border: rgba(54,55,55,.88);
  --game-card-bg: rgba(54,55,55,.62);
  --game-card-bg-active: rgba(54,55,55,.86);
  --header-mobile-drawer-bg: rgba(54,55,55,.97);
  --toast-bg: rgba(54,55,55,.92);
  --rtpx-button-accent: #2eafff;
  --rtpx-progress-low: #1d4ed8;
  --rtpx-progress-stable: #2eafff;
  --rtpx-progress-medium: #3b82f6;
  --rtpx-progress-high: #60a5fa;
  color-scheme: dark;
}

html,body {
  background: #141415;
  background: var(--theme-bg);
  min-height: 100%;
}

body:not(.admin-page) {
  background-color: var(--theme-bg);
  color: var(--theme-text,#f8f8fa);
}

.global-header,.global-footer,.shell,.content-row,.catalog-control-panel {
  background-color: transparent;
}

.rtpx-shell-skeleton {
  display: block;
  contain: layout paint;
  min-height: 1px;
}

.rtpx-shell-skeleton-row {
  margin-block: clamp(14px,3vw,24px);
}

.rtpx-shell-skeleton-head {
  width: min(220px,54vw);
  height: 24px;
  border-radius: 999px;
  background: rgba(255,255,255,.075);
  margin-block-end: 14px;
}

.rtpx-shell-skeleton-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(136px,176px);
  gap: 12px;
  overflow: hidden;
}

.rtpx-shell-skeleton-card {
  aspect-ratio: 1/1.28;
  border-radius: 20px;
  background: linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
  border: 1px solid rgba(255,255,255,.07);
}

@media (max-width:820px) {
  .rtpx-shell-skeleton-rail {
    grid-auto-columns: 42vw;
  }
  .rtpx-shell-skeleton-card {
    border-radius: 16px;
  }
}
