/* SD Game Pikachu: stronger isolation against theme CSS */
.sd-pikachu-game,
.sd-pikachu-game * {
  box-sizing: border-box;
}

.sd-pikachu-game {
  --sd-pikachu-tile-size: clamp(48px, 3.9vw, 64px);
  --sd-pikachu-board-width: min(100%, calc(var(--sd-pikachu-cols, 16) * var(--sd-pikachu-tile-size)));
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: left !important;
  line-height: normal;
}

.sd-pikachu-game .sd-pikachu-wrapper {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 18px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #f3f9ff, #e4f5ff) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  overflow: visible !important;
  max-width: 100% !important;
}

.sd-pikachu-game .sd-pikachu-layout {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

.sd-pikachu-game .sd-pikachu-info {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  max-width: var(--sd-pikachu-board-width) !important;
  margin: 0 auto 14px !important;
}

.sd-pikachu-game .sd-pikachu-stats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
  width: 100% !important;
}

.sd-pikachu-game .sd-pikachu-time-row {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: var(--sd-pikachu-board-width) !important;
  margin: 12px auto 0 !important;
}

.sd-pikachu-game .sd-pikachu-level,
.sd-pikachu-game .sd-pikachu-time,
.sd-pikachu-game .sd-pikachu-score,
.sd-pikachu-game .sd-pikachu-remaining,
.sd-pikachu-game .sd-pikachu-shuffle-count {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 8px 12px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.78) !important;
  color: #22324a !important;
  border: 0 !important;
  box-shadow: none !important;
}

.sd-pikachu-game .sd-pikachu-time-bar {
  display: block !important;
  width: 100% !important;
  height: 10px !important;
  min-width: 0 !important;
  margin-top: 0 !important;
  border-radius: 999px !important;
  background: rgba(0, 0, 0, 0.08) !important;
  overflow: hidden !important;
}

.sd-pikachu-game .sd-pikachu-time-bar-inner {
  display: block !important;
  height: 100% !important;
  width: 100%;
  background: linear-gradient(90deg, #4caf50, #ffeb3b, #f44336) !important;
  transform-origin: left center !important;
  transition: width 0.9s linear, background 0.2s ease !important;
}

.sd-pikachu-game .sd-pikachu-controls {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  justify-content: center !important;
  margin: 14px auto 0 !important;
  width: 100% !important;
  max-width: var(--sd-pikachu-board-width) !important;
}

.sd-pikachu-game .sd-pikachu-options {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: var(--sd-pikachu-board-width) !important;
  margin: 12px auto 0 !important;
}

.sd-pikachu-game .sd-pikachu-options.is-collapsed {
  display: none !important;
}


.sd-pikachu-game .sd-pikachu-option-field {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 0 !important;
  width: 100% !important;
}

.sd-pikachu-game .sd-pikachu-option-label {
  display: none !important;
}

.sd-pikachu-game .sd-pikachu-settings-item {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.82) !important;
  color: #23354d !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-align: center !important;
}

.sd-pikachu-game .sd-pikachu-select {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  min-height: 42px !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 10px 14px !important;
  background: rgba(255,255,255,0.92) !important;
  color: #23354d !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08) !important;
}

.sd-pikachu-game .sd-pikachu-continue {
  background: #66bb6a !important;
  color: #fff !important;
  width: 100% !important;
}

.sd-pikachu-game .sd-pikachu-btn {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 10px 16px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #ffca28 !important;
  color: #4e342e !important;
  cursor: pointer !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2) !important;
  text-decoration: none !important;
}

.sd-pikachu-game .sd-pikachu-btn:hover {
  filter: brightness(1.05) !important;
}

.sd-pikachu-game .sd-pikachu-btn:active {
  transform: translateY(1px) !important;
  box-shadow: none !important;
}

.sd-pikachu-game .sd-pikachu-hint {
  background: #4caf50 !important;
  color: #fff !important;
}

.sd-pikachu-game .sd-pikachu-shuffle {
  background: #29b6f6 !important;
  color: #fff !important;
}

.sd-pikachu-game .sd-pikachu-reset {
  background: #ef5350 !important;
  color: #fff !important;
}

.sd-pikachu-game .sd-pikachu-message {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 8 !important;
  min-width: 180px !important;
  max-width: min(calc(100% - 24px), 320px) !important;
  padding: 12px 20px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, rgba(255,248,225,0.96), rgba(255,236,179,0.96)) !important;
  color: #5d4037 !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.32) !important;
  border: 1px solid rgba(255,193,7,0.45) !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  pointer-events: none !important;
  opacity: 0 !important;
  transform: translate(-50%, -50%) scale(0.92) !important;
  transition: opacity 0.12s ease, transform 0.12s ease !important;
  }

.sd-pikachu-game .sd-pikachu-message--show {
  opacity: 1 !important;
  transform: translate(-50%, -50%) scale(1) !important;
}


.sd-pikachu-game .sd-pikachu-board-wrap {
  position: relative !important;
  width: var(--sd-pikachu-board-width) !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

.sd-pikachu-game .sd-pikachu-pause {
  background: #7e57c2 !important;
  color: #fff !important;
}

.sd-pikachu-game .sd-pikachu-fullscreen {
  background: #ffa726 !important;
  color: #fff !important;
}

.sd-pikachu-game .sd-pikachu-settings-toggle {
  background: #78909c !important;
  color: #fff !important;
}

.sd-pikachu-game .sd-pikachu-pause-overlay {
  position: absolute !important;
  inset: 4px !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
  background: rgba(5, 10, 18, 0.88) !important;
  backdrop-filter: blur(4px) saturate(0.85) !important;
  -webkit-backdrop-filter: blur(4px) saturate(0.85) !important;
    z-index: 9 !important;
  border-radius: 8px !important;
}

.sd-pikachu-game .sd-pikachu-pause-overlay.is-visible {
  display: flex !important;
}

.sd-pikachu-game .sd-pikachu-pause-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: min(100%, 340px) !important;
  padding: 20px 18px !important;
  border-radius: 20px !important;
  background: rgba(11, 20, 34, 0.92) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,0.38) !important;
  text-align: center !important;
  color: #fff !important;
}

.sd-pikachu-game .sd-pikachu-pause-image {
  display: block !important;
  width: min(55vw, 180px) !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,0.35)) !important;
}

.sd-pikachu-game .sd-pikachu-pause-title {
  font-size: 26px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

.sd-pikachu-game .sd-pikachu-pause-subtitle {
  font-size: 14px !important;
  line-height: 1.4 !important;
  opacity: 1 !important;
}

.sd-pikachu-game .sd-pikachu-resume {
  min-width: 150px !important;
}

.sd-pikachu-game .sd-pikachu-board {
  --tile-gap: 0px;
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(var(--sd-pikachu-cols), minmax(0, 1fr)) !important;
  grid-auto-rows: auto !important;
  gap: var(--tile-gap) !important;
  justify-content: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  align-self: stretch !important;
  padding: 4px !important;
  border-radius: 8px !important;
  background: #2e7d32 !important;
  background-image: linear-gradient(
    45deg,
    rgba(255, 255, 255, 0.08) 25%,
    transparent 25%,
    transparent 50%,
    rgba(255, 255, 255, 0.08) 50%,
    rgba(255, 255, 255, 0.08) 75%,
    transparent 75%,
    transparent
  ) !important;
  background-size: 16px 16px !important;
  background-position: 0 0 !important;
  overflow: hidden !important;
}

.sd-pikachu-game.sd-pikachu-theme--energy .sd-pikachu-board {
  background: #f4d447 url('../img/board-bg-energy.png') center center / cover no-repeat !important;
}

.sd-pikachu-game.sd-pikachu-theme--classic .sd-pikachu-board {
  background: #2e7d32 !important;
  background-image: linear-gradient(
    45deg,
    rgba(255, 255, 255, 0.08) 25%,
    transparent 25%,
    transparent 50%,
    rgba(255, 255, 255, 0.08) 50%,
    rgba(255, 255, 255, 0.08) 75%,
    transparent 75%,
    transparent
  ) !important;
  background-size: 16px 16px !important;
  background-position: 0 0 !important;
}

.sd-pikachu-game .sd-pikachu-path-canvas {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
  z-index: 5 !important;
}

.sd-pikachu-game .sd-pikachu-tile {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 4 / 5 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  display: block !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  line-height: 0 !important;
  transition: transform 0.08s !important;
}

.sd-pikachu-game .sd-pikachu-tile img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: fill !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.sd-pikachu-game .sd-pikachu-tile--first img {
  filter: grayscale(100%) !important;
  opacity: 0.6 !important;
}

.sd-pikachu-game .sd-pikachu-tile--second {
  outline: 2px solid #ff0000 !important;
  outline-offset: -1px !important;
}

.sd-pikachu-game .sd-pikachu-tile:hover {
  transform: translateY(-1px) !important;
}

.sd-pikachu-game .sd-pikachu-tile--hint {
  outline: 2px solid #29b6f6 !important;
  outline-offset: -1px !important;
  animation: sd-pikachu-hint-blink 0.4s alternate 3 !important;
}

.sd-pikachu-game .sd-pikachu-tile--removed,
.sd-pikachu-game .sd-pikachu-tile--empty {
  visibility: hidden !important;
}

@keyframes sd-pikachu-hint-blink {
  from { transform: translateY(0); }
  to   { transform: translateY(-2px); }
}

@media (max-width: 1024px) {
  .sd-pikachu-game {
    --sd-pikachu-tile-size: clamp(44px, 6vw, 58px);
  }

  .sd-pikachu-game .sd-pikachu-wrapper {
    padding: 16px !important;
  }
}

@media (max-width: 600px) {
  .sd-pikachu-game .sd-pikachu-wrapper {
    padding: 10px !important;
    border-radius: 12px !important;
  }

  .sd-pikachu-game .sd-pikachu-stats,
  .sd-pikachu-game .sd-pikachu-controls {
    gap: 8px !important;
  }

  .sd-pikachu-game .sd-pikachu-level,
  .sd-pikachu-game .sd-pikachu-time,
  .sd-pikachu-game .sd-pikachu-score,
  .sd-pikachu-game .sd-pikachu-remaining,
  .sd-pikachu-game .sd-pikachu-shuffle-count {
    padding: 8px 10px !important;
    font-size: 13px !important;
  }

  .sd-pikachu-game .sd-pikachu-controls {
    justify-content: center !important;
  }
}


@media (max-width: 600px) {
  .sd-pikachu-game .sd-pikachu-wrapper {
    padding: 12px !important;
  }

  .sd-pikachu-game .sd-pikachu-stats {
    gap: 8px !important;
  }

  .sd-pikachu-game .sd-pikachu-level,
  .sd-pikachu-game .sd-pikachu-time,
  .sd-pikachu-game .sd-pikachu-score,
  .sd-pikachu-game .sd-pikachu-remaining,
  .sd-pikachu-game .sd-pikachu-shuffle-count {
    font-size: 13px !important;
    padding: 8px 10px !important;
  }

  .sd-pikachu-game .sd-pikachu-btn {
    min-height: 40px !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
  }

  .sd-pikachu-game .sd-pikachu-board {
    padding: 2px !important;
  }

  .sd-pikachu-game .sd-pikachu-pause-card {
    padding: 16px 14px !important;
    border-radius: 16px !important;
  }

  .sd-pikachu-game .sd-pikachu-pause-title {
    font-size: 22px !important;
  }
}

@media (max-width: 767px) {
  .sd-pikachu-game .sd-pikachu-message {
    min-width: 0 !important;
    width: calc(100% - 28px) !important;
    max-width: 300px !important;
    padding: 11px 16px !important;
    font-size: 13px !important;
  }
}


.sd-pikachu-game .sd-pikachu-hint-count {
  display: inline-flex !important;
}

.sd-pikachu-game .sd-pikachu-sound {
  background: #ff9800 !important;
  color: #fff !important;
}

.sd-pikachu-game .sd-pikachu-transition-overlay,
.sd-pikachu-game .sd-pikachu-win-overlay {
  position: absolute !important;
  inset: 4px !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
  background: rgba(13, 27, 42, 0.52) !important;
    z-index: 10 !important;
  border-radius: 8px !important;
}

.sd-pikachu-game .sd-pikachu-transition-overlay.is-visible,
.sd-pikachu-game .sd-pikachu-win-overlay.is-visible {
  display: flex !important;
}

.sd-pikachu-game .sd-pikachu-transition-card,
.sd-pikachu-game .sd-pikachu-win-card {
  width: min(100%, 360px) !important;
  padding: 22px 20px !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.95), rgba(255,248,225,0.98)) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,0.22) !important;
  text-align: center !important;
}

.sd-pikachu-game .sd-pikachu-transition-kicker,
.sd-pikachu-game .sd-pikachu-win-kicker {
  margin-bottom: 6px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: #7e57c2 !important;
}

.sd-pikachu-game .sd-pikachu-transition-title,
.sd-pikachu-game .sd-pikachu-win-title {
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  color: #5d4037 !important;
}

.sd-pikachu-game .sd-pikachu-transition-subtitle,
.sd-pikachu-game .sd-pikachu-win-subtitle {
  margin-top: 8px !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  color: #6d4c41 !important;
}

.sd-pikachu-game .sd-pikachu-win-restart {
  margin-top: 16px !important;
}

.sd-pikachu-game .sd-pikachu-board--shuffling {
  animation: sd-pikachu-board-shuffle 0.14s ease !important;
}

@keyframes sd-pikachu-board-shuffle {
  0% { transform: scale(1) rotate(0deg); }
  25% { transform: scale(0.985) rotate(-0.4deg); }
  50% { transform: scale(0.99) rotate(0.4deg); }
  100% { transform: scale(1) rotate(0deg); }
}

@media (max-width: 600px) {
  .sd-pikachu-game .sd-pikachu-transition-card,
  .sd-pikachu-game .sd-pikachu-win-card {
    padding: 18px 14px !important;
    border-radius: 18px !important;
  }

  .sd-pikachu-game .sd-pikachu-transition-title,
  .sd-pikachu-game .sd-pikachu-win-title {
    font-size: 22px !important;
  }
}


.sd-pikachu-game.sd-pikachu-theme--energy .sd-pikachu-wrapper {
  background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,0.88) 0, rgba(255,255,255,0.28) 12%, transparent 26%),
    radial-gradient(circle at 88% 20%, rgba(255,235,59,0.45) 0, rgba(255,193,7,0.18) 16%, transparent 34%),
    radial-gradient(circle at 50% 78%, rgba(255,179,0,0.28) 0, rgba(255,213,79,0.08) 18%, transparent 42%),
    linear-gradient(135deg, #fff8c6 0%, #ffe082 38%, #ffd54f 70%, #ffecb3 100%) !important;
}

.sd-pikachu-game.sd-pikachu-theme--classic .sd-pikachu-wrapper {
  background: linear-gradient(135deg, #f3f9ff, #e4f5ff) !important;
}

  20% { transform: translate(-10px,-8px) scale(1.06) rotate(-3deg); }
  45% { transform: translate(12px,10px) scale(0.97) rotate(3deg); }
  70% { transform: translate(-6px,8px) scale(1.03) rotate(-2deg); }
  100% { transform: translate(0,0) scale(1) rotate(0deg); }
}

.sd-pikachu-game.sd-pikachu-game--fullscreen {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #dcefff !important;
  padding: 12px !important;
  overflow: hidden !important;
}

.sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-wrapper {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 auto !important;
  padding: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-layout {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: max-content !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 auto !important;
}

.sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-info,
.sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-controls,
.sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-board-wrap {
  width: var(--sd-pikachu-board-width) !important;
  max-width: min(100%, var(--sd-pikachu-board-width)) !important;
}

.sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-board {
  width: var(--sd-pikachu-board-width) !important;
  max-width: 100% !important;
}

.sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-board-wrap {
  flex: 0 0 auto !important;
}

@media (max-width: 768px) {
  .sd-pikachu-game .sd-pikachu-option-label {
    font-size: 10px !important;
  }


  .sd-pikachu-game {
    --sd-pikachu-tile-size: clamp(38px, 11.4vw, 48px);
  }

  .sd-pikachu-game .sd-pikachu-wrapper {
    padding: 12px !important;
  }

  .sd-pikachu-game .sd-pikachu-layout {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .sd-pikachu-game .sd-pikachu-wrapper {
    padding: 10px 6px 12px !important;
    border-radius: 12px !important;
  }

  .sd-pikachu-game .sd-pikachu-board {
    padding: 2px !important;
  }

  .sd-pikachu-game .sd-pikachu-info,
  .sd-pikachu-game .sd-pikachu-controls,
  .sd-pikachu-game .sd-pikachu-board-wrap {
    width: 100% !important;
    max-width: var(--sd-pikachu-board-width) !important;
  }

  .sd-pikachu-game .sd-pikachu-stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: var(--sd-pikachu-board-width) !important;
  }

  .sd-pikachu-game .sd-pikachu-level,
  .sd-pikachu-game .sd-pikachu-time,
  .sd-pikachu-game .sd-pikachu-score,
  .sd-pikachu-game .sd-pikachu-remaining,
  .sd-pikachu-game .sd-pikachu-shuffle-count {
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    font-size: 12px !important;
    padding: 8px 8px !important;
  }

  .sd-pikachu-game .sd-pikachu-time-row {
    margin-top: 10px !important;
    max-width: var(--sd-pikachu-board-width) !important;
  }

  .sd-pikachu-game .sd-pikachu-time-bar {
    width: 100% !important;
  }

  .sd-pikachu-game .sd-pikachu-options {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .sd-pikachu-game .sd-pikachu-settings-meta {
    grid-template-columns: 1fr !important;
  }

  .sd-pikachu-game .sd-pikachu-controls {
    order: 2 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: var(--sd-pikachu-board-width) !important;
    margin: 0 auto 12px !important;
  }

  .sd-pikachu-game .sd-pikachu-info {
    order: 1 !important;
    margin-bottom: 12px !important;
  }

  .sd-pikachu-game .sd-pikachu-board-wrap {
    order: 3 !important;
  }

  .sd-pikachu-game .sd-pikachu-btn,
  .sd-pikachu-game .sd-pikachu-select {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 38px !important;
    font-size: 12px !important;
    padding: 9px 8px !important;
  }

  .sd-pikachu-game.sd-pikachu-game--fullscreen {
    padding: 2px !important;
    overflow: auto !important;
    align-items: flex-start !important;
  }

  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-wrapper {
    max-height: none !important;
    width: 100% !important;
    height: auto !important;
    padding: 4px 4px 10px !important;
    border-radius: 10px !important;
  }

  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-layout {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: flex-start !important;
  }

  /* Mobile fullscreen: dùng chung bề ngang của board cho menu trên, menu dưới và khu chơi */
  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-info,
  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-controls,
  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-board-wrap {
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-board {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }

  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-stats,
  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-time-row,
  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-options {
    width: 100% !important;
    max-width: 100% !important;
  }

  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-controls {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}


.sd-pikachu-game .sd-pikachu-message--emoji {
  min-width: 0 !important;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  font-size: 22px !important;
  text-transform: none !important;
  background: linear-gradient(180deg, rgba(255,248,225,0.98), rgba(255,213,79,0.98)) !important;
  color: #5d4037 !important;
  box-shadow: 0 10px 22px rgba(0,0,0,0.18) !important;
  border: 1px solid rgba(255,193,7,0.45) !important;
}

.sd-pikachu-game .sd-pikachu-board--chaos-fall .sd-pikachu-tile {
  animation: sd-pikachu-chaos-fall 0.31s cubic-bezier(.18,.82,.22,1) forwards !important;
  animation-delay: calc(var(--sd-chaos-delay, 0ms) + var(--sd-chaos-row-jitter, 0ms)) !important;
}
@keyframes sd-pikachu-chaos-fall {
  0% { transform: translateY(0) scale(1) rotate(0deg); opacity: 1; }
  14% { transform: translateY(-10px) scale(1.02) rotate(-1deg); opacity: 1; }
  55% { transform: translateY(92px) scale(0.98) rotate(1.5deg); opacity: 0.82; }
  100% { transform: translateY(190px) scale(0.9) rotate(-2deg); opacity: 0; }
}
  20% { transform: translateY(-6px) scale(1.02); opacity: 1; }
  100% { transform: translateY(140px) scale(0.94); opacity: 0; }
}


.sd-pikachu-game .sd-pikachu-settings-highscore {
  width: 100% !important;
}

@media (max-width: 768px) {
  .sd-pikachu-game .sd-pikachu-options {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .sd-pikachu-game .sd-pikachu-settings-item,
  .sd-pikachu-game .sd-pikachu-select {
    min-height: 38px !important;
    padding: 8px 8px !important;
    font-size: 12px !important;
  }

  .sd-pikachu-game .sd-pikachu-option-label {
    font-size: 10px !important;
  }
}

.sd-pikachu-game .sd-pikachu-select,
.sd-pikachu-game .sd-pikachu-settings-item {
  text-align: center !important;
  justify-content: center !important;
}

.sd-pikachu-game .sd-pikachu-select {
  text-align-last: center !important;
  background-position: right 14px center !important;
}

.sd-pikachu-game .sd-pikachu-select option {
  text-align: center !important;
}

@media (max-width: 768px) {
  .sd-pikachu-game .sd-pikachu-level {
    font-size: 11px !important;
    line-height: 1.15 !important;
  }

  .sd-pikachu-game .sd-pikachu-select.sd-pikachu-select-level {
    font-size: 11px !important;
  }
}



/* Mobile fullscreen: canh đều trái phải, board sát biên hơn nhưng không tràn */
@media (max-width: 768px) {
  .sd-pikachu-game.sd-pikachu-game--fullscreen {
    padding: 0 !important;
    margin: 0 !important;
    overflow-x: hidden !important;
  }

  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 6px 4px 10px !important;
    border-radius: 10px !important;
  }

  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-layout,
  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-info,
  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-controls,
  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-board-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .sd-pikachu-game.sd-pikachu-game--fullscreen {
    --sd-pikachu-tile-size: clamp(42px, 11.95vw, 46px);
  }

  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-board {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 2px !important;
  }
}


/* v16.6.8: unify mobile left/right edges for top menu, board, and bottom menu */
@media (max-width: 600px) {
  .sd-pikachu-game .sd-pikachu-wrapper {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .sd-pikachu-game .sd-pikachu-info,
  .sd-pikachu-game .sd-pikachu-options,
  .sd-pikachu-game .sd-pikachu-board-wrap,
  .sd-pikachu-game .sd-pikachu-controls {
    width: 100% !important;
    max-width: calc(100% - 4px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .sd-pikachu-game .sd-pikachu-board {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* v16.7.0: mobile fullscreen/menu-bottom and board inset to match top menu */
@media (max-width: 768px) {
  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-wrapper {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  /* Keep top info as-is, but pull board and bottom controls inward to match it */
  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-board-wrap,
  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-controls {
    width: calc(100% - 12px) !important;
    max-width: calc(100% - 12px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-board {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


@media (max-width: 768px) {
  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-info {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-stats,
  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-time-row,
  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-options,
  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-settings-meta {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* v16.7.2: mobile fullscreen inset top info slightly more to match board and bottom controls */
@media (max-width: 768px) {
  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-info {
    width: calc(100% - 12px) !important;
    max-width: calc(100% - 12px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-stats,
  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-time-row,
  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-options,
  .sd-pikachu-game.sd-pikachu-game--fullscreen .sd-pikachu-settings-meta {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* v16.7.3: iOS fake fullscreen fallback */
body.sd-pikachu-body--fake-fullscreen {
  overflow: hidden !important;
}

.sd-pikachu-game.sd-pikachu-game--fake-fullscreen {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  width: 100vw !important;
  height: 100dvh !important;
  overflow: auto !important;
  background: rgba(0, 0, 0, 0.88) !important;
  padding: 0 !important;
  margin: 0 !important;
}

.sd-pikachu-game.sd-pikachu-game--fake-fullscreen .sd-pikachu-wrapper {
  min-height: 100dvh !important;
}

@supports not (height: 100dvh) {
  .sd-pikachu-game.sd-pikachu-game--fake-fullscreen {
    height: 100vh !important;
  }

  .sd-pikachu-game.sd-pikachu-game--fake-fullscreen .sd-pikachu-wrapper {
    min-height: 100vh !important;
  }
}

@media (max-width: 768px) {
  .sd-pikachu-game.sd-pikachu-game--fake-fullscreen {
    align-items: flex-start !important;
  }

  .sd-pikachu-game.sd-pikachu-game--fake-fullscreen .sd-pikachu-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding: 6px 4px 10px !important;
    border-radius: 0 !important;
  }
}
