.single-game-template {
  --single-bg: #f4f7fb;
  --single-card: #ffffff;
  --single-border: #d9e4f0;
  --single-ink: #163553;
  --single-muted: #5b7085;
}

.single-game-template__sticky-bar {
  align-items: center;
  backdrop-filter: blur(6px);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--single-border);
  border-radius: 12px;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  margin-bottom: 0.9rem;
  padding: 0.65rem 0.85rem;
  position: sticky;
  top: 0.5rem;
  z-index: 10;
}

.single-game-template__sticky-title {
  color: var(--single-ink);
  font-size: clamp(0.95rem, 2.2vw, 1.15rem);
  margin: 0;
}

.single-game-template__sticky-link {
  background: var(--primary, #1d5f95);
  border-radius: 999px;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 0.45rem 0.8rem;
  text-decoration: none;
  text-transform: uppercase;
}

.single-game-template__play-shell {
  background: var(--single-card);
  border: 1px solid var(--single-border);
  border-radius: 14px;
  overflow: hidden;
  padding: 0.75rem;
}

.single-game-template__body {
  display: flex;
  justify-content: center;
  align-items: center;
}

.single-game-template__status {
  color: var(--single-muted);
  font-size: 0.82rem;
  margin: 0.65rem 0 0;
  min-height: 1.1em;
}

.single-game-template__status[data-sas-game-status="loading"] {
  color: #466684;
}

.single-game-template__status[data-sas-game-status="error"] {
  color: #7d1f1f;
}

.single-game-template__related {
  margin-top: 1.3rem;
}

.single-game-template__section-title {
  color: var(--single-ink);
  font-size: 1.05rem;
  margin: 0 0 0.75rem;
}

.single-game-template__sidebar-card {
  background: var(--single-card);
  border: 1px solid var(--single-border);
  border-radius: 12px;
  margin-bottom: 1rem;
  padding: 0.85rem;
}

.single-game-template__sidebar-card h3 {
  color: var(--single-ink);
  font-size: 1rem;
  margin: 0 0 0.35rem;
}

.single-game-template__sidebar-card p {
  color: var(--single-muted);
  margin: 0;
}

.single-game-template__next-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.single-game-template__next-list li + li {
  margin-top: 0.45rem;
}

.single-game-template__next-list a {
  color: #214e73;
  font-size: 0.84rem;
  font-weight: 600;
  text-decoration: none;
}

.single-game-template__next-list a:hover,
.single-game-template__next-list a:focus-visible {
  text-decoration: underline;
}

.single-games .sas-game-puzzle-wrap,
.single-games [id^="puzzle-container"] {
  position: relative;
  width: 100%;
  min-height: 580px;
  background: linear-gradient(120deg, #f7f8fa 0%, #eef1f4 100%);
  border-radius: 14px;
  overflow: hidden;
}

.single-games .sas-game-puzzle-wrap iframe,
.single-games [id^="puzzle-container"] iframe {
  transition: opacity 200ms ease;
}

.single-games .sas-game-puzzle-wrap[data-sas-loaded="0"] iframe,
.single-games [id^="puzzle-container"][data-sas-loaded="0"] iframe {
  opacity: 0;
}

.single-games .sas-game-skeleton {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0)) 0 0 / 50% 100% no-repeat,
    linear-gradient(180deg, #f0f3f7 0%, #e7ecf2 100%);
  animation: sas-game-shimmer 1400ms ease-in-out infinite;
}

.single-games [data-sas-loaded="1"] .sas-game-skeleton {
  opacity: 0;
  visibility: hidden;
  transition: opacity 180ms ease;
}

@keyframes sas-game-shimmer {
  0% {
    background-position: -80% 0, 0 0;
  }

  100% {
    background-position: 160% 0, 0 0;
  }
}

@media (max-width: 991px) {
  .single-game-template__sticky-bar {
    top: 0.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .single-games .sas-game-skeleton {
    animation: none;
  }

  .single-game-template__sticky-bar {
    backdrop-filter: none;
  }
}
