/* Kids play skin — toy-board look, cream pasture, big taps.
   Game pages (body.kids-mini-game) keep motion; other kids pages stay still. */

@keyframes kg-shake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-6px); }
  40% { transform: translateX(6px); }
  60% { transform: translateX(-4px); }
  80% { transform: translateX(4px); }
}
@keyframes kg-pop {
  0% { transform: scale(1); }
  40% { transform: scale(1.06); }
  100% { transform: scale(1); }
}
@keyframes kg-flip-in {
  0% { transform: rotateY(90deg); }
  100% { transform: rotateY(0); }
}
@keyframes kg-found {
  0% { transform: scale(0.7); }
  55% { transform: scale(1.12); }
  100% { transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  body.kids-mini-game * {
    animation: none !important;
  }
}

body.kids-mini-game .match-btn.match-wrong,
body.kids-mini-game .mf-card.mf-wrong,
body.kids-mini-game .sp-stone.wrong {
  animation: kg-shake 0.45s ease !important;
}
body.kids-mini-game .match-btn.matched,
body.kids-mini-game .mf-card.mf-match {
  animation: kg-pop 0.4s ease !important;
}
body.kids-mini-game .mf-card[aria-pressed="true"] {
  animation: none !important;
}
body.kids-mini-game .ls-tile.reveal {
  animation: kg-found 0.4s ease !important;
}
body.kids-mini-game .sp-stone.is-done {
  animation: kg-pop 0.35s ease !important;
}

body.kids-mini-game .tdb-site-humility,
body.kids-kiss-play-home .tdb-site-humility {
  display: none !important;
}

.kg-sizes {
  display: none;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin: 0;
}
.match-hud .kg-sizes,
.mf-hud .kg-sizes,
.ls-hud .kg-sizes,
.sp-hud .kg-sizes,
.kg-how .kg-sizes {
  display: flex;
}
.kg-sizes button {
  min-height: 40px !important;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  border: 3px solid #d97706;
  background: #fffef8;
  color: #0f172a !important;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  font-size: 0.88rem !important;
  cursor: pointer;
}
.kg-sizes button[aria-pressed="true"] {
  background: #0f172a;
  color: #f2dc98 !important;
  border-color: #f2dc98;
}
.kg-seal,
.kg-seal.on {
  display: none !important;
}
.kg-mix,
.match-score-pill,
.match-daily,
.match-best,
#ls-best,
#sp-best-label,
#mf-hud-right,
.kg-family-row,
.kg-timer-row,
.kg-timer-row.show {
  display: none !important;
}
.kg-buddy {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0.65rem 0 0.35rem;
  padding: 0.4rem 0.55rem;
  border-radius: 16px;
  background: #fffef8;
  border: 3px solid rgba(217, 119, 6, 0.45);
}
.kg-buddy .kids-mascot-tap {
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  min-height: 0 !important;
}
.kg-buddy .kids-shepherd-hero-img {
  width: 64px;
  height: auto;
  display: block;
}
.kg-buddy-line {
  margin: 0;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 700;
  font-size: 0.92rem;
  line-height: 1.35;
  color: #0f172a !important;
}
.kg-how {
  margin: 0.85rem 0 0;
  border-radius: 14px;
  background: #fffef8;
  border: 2px dashed rgba(217, 119, 6, 0.4);
  padding: 0.35rem 0.7rem;
}
.kg-how summary {
  cursor: pointer;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  color: #0f172a;
  min-height: 40px;
  display: flex;
  align-items: center;
}
.kg-verse-friends {
  display: none;
  margin: 0.75rem 0 0;
  padding: 0.65rem 0.75rem;
  border-radius: 16px;
  background: #fffef8;
  border: 3px solid #d97706;
}
.kg-verse-friends.show { display: block; }
.kg-verse-friends h3 {
  margin: 0 0 0.4rem;
  font-size: 0.95rem;
  color: #0f172a !important;
}
.kg-verse-friends li {
  list-style: none;
  margin: 0 0 0.35rem;
  padding: 0;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  color: #0f172a;
}
.kg-carry {
  display: none;
  text-align: center;
  margin: 0.75rem 0;
  padding: 0.75rem;
  border-radius: 18px;
  background: linear-gradient(180deg, #ecfdf5, #bbf7d0);
  border: 3px solid #16a34a;
}
.kg-carry.show { display: block; animation: kg-found 0.45s ease; }
.kg-carry-art {
  font-size: 2.4rem;
  line-height: 1;
  margin: 0 0 0.35rem;
}
.kg-carry-art img {
  width: 88px;
  height: auto;
  display: block;
  margin: 0 auto;
}
.kg-carry p {
  margin: 0;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  color: #14532d !important;
}
.kg-carry .ls-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
.kg-carry .ls-actions button:not([hidden]) {
  display: inline-block;
  min-height: 48px;
  padding: 0.55rem 1.1rem;
}
.sp-path.is-trail {
  box-shadow: 0 0 0 4px #f2dc98, 4px 4px 0 rgba(15, 23, 42, 0.12);
}
.kg-timer-row {
  display: none;
  justify-content: center;
  gap: 0.4rem;
  margin: 0 0 0.45rem;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 700;
  color: #0f172a !important;
}
.kg-timer-row.show { display: flex; align-items: center; }
.kg-next-doors {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  margin: 0.65rem 0 0;
}
.kg-next-prompt {
  flex: 1 0 100%;
  margin: 0 0 0.15rem;
  text-align: center;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  color: #14532d !important;
}
body.kids-mini-game.is-won .kg-how,
body.kids-mini-game.is-won .kg-timer-row,
body.kids-mini-game.is-won .kg-family-row,
body.kids-mini-game.is-won .kg-more,
body.kids-mini-game.is-won .mf-board,
body.kids-mini-game.is-won .mf-teach,
body.mf-focus .mf-hero,
body.mf-focus .kg-buddy {
  display: none !important;
}
.kg-next-doors a,
a.kg-next-story,
a.kg-next-color {
  min-height: 52px;
  min-width: 10.5rem;
  padding: 0.6rem 1.1rem;
  border-radius: 14px;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  text-decoration: none;
  border: 3px solid #d97706;
  background: linear-gradient(180deg, #fde68a, #fbbf24);
  color: #422006 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
a.kg-next-color {
  background: linear-gradient(180deg, #dbeafe, #93c5fd);
  border-color: #2563eb;
  color: #1e3a8a !important;
}
a.kg-next-game {
  background: linear-gradient(180deg, #dcfce7, #86efac);
  border-color: #16a34a;
  color: #14532d !important;
}
.kg-hear-pair {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.55rem;
  min-height: 44px;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  border: 2px solid #f2dc98;
  background: #0f172a;
  color: #f2dc98 !important;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  font-size: 0.88rem;
  cursor: pointer;
}
.kg-family-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  margin: 0.35rem 0 0.55rem;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 700;
  font-size: 0.92rem;
  color: #0f172a !important;
}
.kg-today-mix {
  margin: 0 0 0.85rem;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  font-size: 1.05rem;
  color: #0f172a !important;
}
.kids-easy-game.is-today {
  box-shadow: 0 0 0 4px #f2dc98, 3px 3px 0 rgba(15, 23, 42, 0.12);
  transform: translateY(-2px);
}
.kids-easy-game.is-today small::after {
  content: ' · today';
  color: #b45309;
  font-weight: 800;
}
body.kids-mini-game.is-little .match-btn {
  min-height: 88px !important;
  font-size: 1.15rem !important;
}
body.kids-mini-game.is-little .match-avatar {
  width: 5rem;
  height: 5rem;
  flex-basis: 5rem;
}
body.kids-mini-game.is-little .match-who { display: none; }
body.kids-mini-game.is-bigger .match-who { display: none; }
body.kids-mini-game.is-little .mf-board {
  grid-template-columns: 1fr 1fr !important;
  max-width: 22rem;
}
body.kids-mini-game.is-little .mf-card {
  min-height: 118px !important;
}
body.kids-mini-game.is-little .mf-card[aria-pressed="true"],
body.kids-mini-game.is-little .mf-card.is-peek {
  font-size: 1.08rem !important;
  text-align: center;
}
@keyframes kgLook {
  0%, 100% { transform: scale(1); }
  40% { transform: scale(1.05); }
}
body.kids-mini-game .match-btn.kg-look,
body.kids-mini-game .mf-card.kg-look {
  animation: kgLook 0.4s ease 2 !important;
}
body.kids-mini-game .kids-site-porch,
body.kids-world-surface.kids-mini-game .match-hero,
body.kids-world-surface.kids-mini-game .mini-game-hero,
body.kids-world-surface.kids-mini-game .ls-hero,
body.kids-world-surface.kids-mini-game .mf-hero,
body.kids-world-surface.kids-mini-game .sp-hero,
body.kids-mini-game .match-hero,
body.kids-mini-game .ls-hero,
body.kids-mini-game .mf-hero,
body.kids-mini-game .sp-hero,
body.kids-mini-game .kg-buddy {
  display: none !important;
}

body.kids-mini-game,
body.kids-kiss-play-home {
  --kg-ink: #0f172a;
  --kg-gold: #f2dc98;
  --kg-gold-deep: #d97706;
  --kg-navy: #0f172a;
  --kg-cream: #fff9eb;
  --kg-paper: #fffef8;
  --kg-grass: #86efac;
  --kg-sky: #93c5fd;
}

body.kids-mini-game .content-inner {
  max-width: 52rem;
}

body.kids-mini-game .kids-site-porch {
  text-align: center;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 700;
  color: #1e293b !important;
  margin: 0 0 0.75rem;
}

/* —— Stage / HUD / hero —— */
.kg-hud,
.match-hud,
.mf-hud,
.ls-hud,
.sp-hud {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
  margin: 0 0 0.5rem;
  padding: 0.45rem 0.7rem;
  border-radius: 18px;
  background: #0f172a !important;
  border: 3px solid #d97706 !important;
  color: #f2dc98 !important;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  font-size: 0.88rem;
  box-shadow: 3px 3px 0 rgba(15, 23, 42, 0.18);
}

.match-hud-round,
.match-score-pill,
.mf-hud span,
.ls-hud span,
.sp-hud span {
  color: #f2dc98 !important;
  background: transparent !important;
  border: 0 !important;
}

.match-score-pill {
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: rgba(242, 220, 152, 0.16) !important;
}

.match-stars { display: flex; gap: 0.15rem; font-size: 1.15rem; }
.match-star { opacity: 0.28; filter: grayscale(0.4); }
.match-star.on { opacity: 1; filter: none; }

body.kids-world-surface.kids-mini-game .match-hero,
body.kids-world-surface.kids-mini-game .mini-game-hero,
body.kids-world-surface.kids-mini-game .ls-hero,
body.kids-world-surface.kids-mini-game .mf-hero,
body.kids-world-surface.kids-mini-game .sp-hero,
.match-hero,
.ls-hero,
.mf-hero,
.sp-hero {
  position: relative;
  padding: 1rem 1.05rem 1.05rem 4.6rem;
  margin: 0 0 0.75rem;
  border-radius: 20px;
  hyphens: none;
  -webkit-hyphens: none;
  overflow: visible;
  background: linear-gradient(165deg, #fffef8 0%, #fef3c7 62%, #ecfccb 100%) !important;
  border: 3px solid #d97706 !important;
  box-shadow: 4px 4px 0 rgba(15, 23, 42, 0.12);
  color: #0f172a !important;
}

.match-hero::before,
.ls-hero::before,
.mf-hero::before,
.sp-hero::before {
  content: attr(data-kg-ico);
  position: absolute;
  left: 0.7rem;
  top: 50%;
  transform: translateY(-50%);
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  background: #0f172a;
  border: 3px solid #f2dc98;
  box-shadow: 2px 2px 0 rgba(15, 23, 42, 0.16);
}

body.kids-world-surface.kids-mini-game .match-hero h1,
body.kids-world-surface.kids-mini-game .mini-game-hero h1,
.match-hero h1,
.ls-hero h1,
.mf-hero h1,
.sp-hero h1 {
  font-family: Bangers, Nunito, system-ui, sans-serif;
  font-size: clamp(1.65rem, 5.4vw, 2.05rem);
  letter-spacing: 0.02em;
  margin: 0 0 0.28rem;
  color: #0f172a !important;
  line-height: 1.05;
}

body.kids-world-surface.kids-mini-game .match-hero p,
.match-hero p,
.ls-hero p,
.mf-hero p,
.sp-hero p {
  margin: 0;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.45;
  color: #1e293b !important;
}

.match-daily,
.match-best,
.ls-kjv,
.sp-kjv {
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 700;
  color: #0f172a !important;
  background: #fff !important;
  border: 2px solid rgba(217, 119, 6, 0.35) !important;
  border-radius: 14px;
  padding: 0.7rem 0.85rem;
}

.match-status,
.mf-st,
.ls-status,
.sp-status {
  min-height: 1.55rem;
  text-align: center;
  margin: 0.35rem 0 0.7rem;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  font-size: 1.05rem;
  color: #0f172a !important;
}

.match-status.good,
.ls-win { color: #047857 !important; }
.match-status.try { color: #b45309 !important; }

.match-teach,
.mf-teach {
  display: none;
  margin: 0 0 0.75rem;
  padding: 0.75rem 0.9rem;
  border-radius: 14px;
  background: #0f172a !important;
  border: 3px solid #f2dc98 !important;
  color: #f2dc98 !important;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.45;
}
.match-teach.show,
.mf-teach.show { display: block; }
.match-teach strong,
.mf-teach strong { color: #fff8dc !important; }
.match-teach cite { display: block; margin-top: 0.3rem; font-style: normal; color: #fde68a; }

/* —— Shared action chips / more games —— */
.kg-more,
.match-actions,
.sp-actions,
.ls-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  margin-top: 0.85rem;
}

.kg-more a,
.match-actions a,
.match-actions button,
.sp-actions a,
.sp-actions button,
.ls-actions button,
.mf-again {
  min-height: 48px;
  padding: 0.55rem 1rem;
  border-radius: 14px;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  font-size: 0.95rem;
  text-decoration: none;
  border: 3px solid #d97706;
  background: #fffef8;
  color: #0f172a !important;
  cursor: pointer;
  box-shadow: 2px 2px 0 rgba(15, 23, 42, 0.12);
}

.mf-again { display: none; }
.match-win.show .match-actions button,
.ls-actions button:not([hidden]),
.mf-again.show {
  display: inline-block;
  background: linear-gradient(180deg, #fde68a, #fbbf24);
  color: #422006 !important;
}

.kg-more {
  margin: 1.15rem 0 0;
  padding: 0.75rem;
  border-radius: 16px;
  background: rgba(255, 254, 248, 0.9);
  border: 2px dashed rgba(217, 119, 6, 0.4);
}
.kg-more p { margin: 0; text-align: center; }
.kg-more-label {
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  font-size: 1.05rem;
  color: #0f172a !important;
  margin: 0 0 0.55rem !important;
}
.kg-more .kids-easy-game-grid {
  margin: 0;
}
.kg-more .kids-easy-game {
  min-height: 96px;
  padding: 0.55rem 0.4rem 0.5rem;
  font-size: 0.95rem;
}
.kg-home {
  display: block;
  text-align: center;
  margin: 0.9rem 0 0;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  color: #0f172a !important;
}

.match-sound-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  margin: 0 0 0.55rem;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 700;
  color: #334155 !important;
}

.match-win { display: none; }
.match-win.show { display: block; }
.sp-win { display: none; }
.sp-win.show { display: block; }
.match-win,
.sp-win,
#mf-win {
  text-align: center;
  padding: 1rem;
  margin-top: 0.75rem;
  border-radius: 18px;
  border: 3px solid #16a34a;
  background: linear-gradient(180deg, #ecfdf5, #bbf7d0);
  color: #14532d !important;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
}

/* —— Match the Verse —— */
.match-page { max-width: 52rem; margin: 0 auto; padding: 0.35rem 0.75rem 2rem; }
.match-board {
  display: grid;
  gap: 0.85rem;
}
@media (min-width: 560px) {
  .match-board { grid-template-columns: 1fr 1fr; }
}
body.kids-world-surface.kids-mini-game .match-col h2,
.match-col h2 {
  font-family: Nunito, sans-serif;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #0f172a !important;
  margin: 0 0 0.5rem;
  font-weight: 800;
}
.match-col {
  padding: 0.65rem 0.6rem 0.45rem;
  border-radius: 18px;
  background: #fffef8;
  border: 3px solid rgba(217, 119, 6, 0.4);
}
.match-col:first-child { border-color: #f59e0b; background: #fffbeb; }
.match-col:last-child { border-color: #3b82f6; background: #eff6ff; }

body.kids-mini-game button.match-btn,
.match-btn {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  width: 100%;
  min-height: 76px !important;
  padding: 0.65rem 0.7rem;
  margin-bottom: 0.5rem;
  border-radius: 16px;
  border: 3px solid #f59e0b;
  background: #ffffff !important;
  color: #0f172a !important;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  font-size: 0.98rem !important;
  text-align: left;
  cursor: pointer;
  line-height: 1.35;
  white-space: normal;
  overflow: visible;
  box-shadow: 3px 3px 0 rgba(15, 23, 42, 0.12);
}
.match-btn-body {
  min-width: 0;
  flex: 1 1 auto;
  overflow: visible;
  overflow-wrap: anywhere;
}
.match-btn.match-kjv {
  border-color: #2563eb;
  background: #ffffff !important;
}
.match-btn:hover,
.match-btn:focus-visible {
  transform: translateY(-2px);
  outline: none;
  border-color: #b45309;
}
.match-btn[aria-pressed="true"] {
  background: #fde68a !important;
  border-color: #d97706;
  box-shadow: 0 0 0 3px rgba(242, 220, 152, 0.7);
}
.match-btn.matched {
  opacity: 0.72;
  pointer-events: none;
  border-color: #16a34a;
  background: #dcfce7 !important;
}
.match-btn.match-wrong {
  border-color: #dc2626;
  background: #fee2e2 !important;
}
.match-avatar {
  flex: 0 0 4.5rem;
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 0;
  background: #fffef8;
  border: 3px solid #0f172a;
}
.match-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.match-avatar.is-mascot img {
  object-fit: contain;
  padding: 0.12rem;
}
.match-btn.match-kjv .match-avatar {
  display: none;
}
.match-who {
  display: block;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #b45309;
  margin-bottom: 0.12rem;
}
.match-btn.match-kjv .match-who { color: #1d4ed8; }

/* —— Memory flock —— */
.mf-page { max-width: 28rem; margin: 0 auto; padding: 0.35rem 0.75rem 2rem; }
.mf-board {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
  max-width: 22rem;
  margin: 0.5rem auto 0.85rem;
}
.mf-peek {
  min-height: 36px;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  border: 2px solid #f2dc98;
  background: transparent;
  color: #f2dc98 !important;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  font-size: 0.8rem;
  cursor: pointer;
}
.mf-peek:disabled {
  opacity: 0.45;
  cursor: default;
}
body.kids-mini-game button.mf-card,
.mf-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  min-height: 118px !important;
  border-radius: 16px;
  border: 3px solid #4f46e5;
  background: linear-gradient(180deg, #818cf8, #4f46e5);
  color: #0f172a !important;
  font-size: 1.05rem !important;
  font-weight: 800;
  padding: 0.5rem 0.55rem;
  cursor: pointer;
  line-height: 1.3;
  font-family: Nunito, system-ui, sans-serif;
  white-space: normal;
  overflow: visible;
  box-shadow: 3px 3px 0 rgba(49, 46, 129, 0.35);
}
.mf-card.mf-pic[aria-pressed="false"] {
  background: linear-gradient(180deg, #fde68a, #f59e0b);
  border-color: #b45309;
  color: #422006 !important;
}
.mf-card.mf-kjv[aria-pressed="false"] {
  background: linear-gradient(180deg, #93c5fd, #2563eb);
  border-color: #1e3a8a;
  color: #eff6ff !important;
}
.mf-card[aria-pressed="true"],
.mf-card.is-peek {
  background: #fffef8 !important;
  border-color: #d97706;
  color: #0f172a !important;
  text-align: center;
  font-size: 1.12rem !important;
}
.mf-card.mf-match {
  opacity: 0.85;
  pointer-events: none;
  border-color: #16a34a;
  background: #dcfce7 !important;
  color: #14532d !important;
}
.mf-card-art {
  width: 56px;
  height: 56px;
  object-fit: cover;
  object-position: center 22%;
  border-radius: 10px;
  border: 2px solid #f2dc98;
  display: block;
}
.mf-card-art.is-mascot {
  object-fit: contain;
  background: #fff8e7;
}
.mf-card-words {
  display: block;
}
.mf-sheet {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 80;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(15, 23, 42, 0.62);
}
.mf-sheet.show {
  display: flex;
}
.mf-sheet-card {
  width: min(26rem, 100%);
  max-height: calc(100vh - 2rem);
  overflow: auto;
  padding: 1rem 1.05rem 1.1rem;
  border-radius: 20px;
  background: #fffef8;
  border: 4px solid #d97706;
  box-shadow: 6px 6px 0 rgba(15, 23, 42, 0.18);
}
.mf-sheet-card img {
  width: 88px;
  height: 88px;
  object-fit: cover;
  border-radius: 14px;
  border: 3px solid #0f172a;
  display: block;
  margin: 0 auto 0.65rem;
  background: #fff;
}
.mf-sheet-card img.is-mascot { object-fit: contain; }
.mf-sheet-kid {
  margin: 0 0 0.45rem;
  text-align: center;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  color: #0f172a !important;
}
.mf-sheet-card .kg-full-kjv {
  color: #0f172a !important;
  font-size: 1.05rem;
  text-align: center;
}
.mf-sheet-card cite {
  display: block;
  text-align: center;
  font-style: normal;
  font-weight: 800;
  color: #b45309;
  margin: 0.25rem 0 0.55rem;
}
.mf-sheet-teach {
  margin: 0 0 0.85rem;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 700;
  color: #1e293b !important;
  text-align: center;
}
.mf-sheet-go {
  display: block;
  width: 100%;
  min-height: 52px;
  border-radius: 14px;
  border: 3px solid #d97706;
  background: linear-gradient(180deg, #fde68a, #fbbf24);
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  font-size: 1.05rem;
  color: #422006 !important;
  cursor: pointer;
}

/* —— Find the sheep —— */
.ls-page { max-width: 34rem; margin: 0 auto; padding: 0.5rem 0.75rem 2rem; }
.ls-grid {
  display: grid;
  gap: 0.5rem;
  max-width: 20rem;
  margin: 0.85rem auto;
  padding: 0.7rem;
  border-radius: 22px;
  background: linear-gradient(180deg, #86efac 0%, #4ade80 55%, #22c55e 100%);
  border: 4px solid #166534;
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.18), 4px 4px 0 rgba(15, 23, 42, 0.14);
}
.ls-grid.cols3 { grid-template-columns: repeat(3, 1fr); }
.ls-grid.cols4 { grid-template-columns: repeat(4, 1fr); max-width: 22rem; }
.ls-grid.cols5 { grid-template-columns: repeat(5, 1fr); max-width: 24rem; }
body.kids-mini-game button.ls-tile,
.ls-tile {
  min-height: 68px !important;
  border-radius: 16px;
  border: 3px solid #166534;
  background:
    radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.35), transparent 42%),
    linear-gradient(180deg, #bbf7d0, #4ade80);
  font-size: 1.7rem !important;
  cursor: pointer;
  box-shadow: 0 3px 0 #166534;
}
.ls-tile::after {
  content: "🌿";
  display: block;
  font-size: 1.45rem;
  line-height: 1;
  filter: grayscale(0.15);
}
.ls-tile.reveal::after { display: none; }
.ls-tile.is-miss {
  opacity: 0.45;
  pointer-events: none;
  background: linear-gradient(180deg, #86efac, #22c55e);
}
.ls-tile.is-found {
  background: linear-gradient(180deg, #fef9c3, #fbbf24);
  border-color: #b45309;
}
.ls-tile.is-found img {
  width: 44px;
  height: auto;
  display: block;
  margin: 0 auto;
  pointer-events: none;
}
.ls-found-teach {
  margin: 0.55rem 0 0;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  font-size: 1rem;
  color: #14532d !important;
}
.ls-flock {
  margin: 0.35rem 0 0.7rem;
  padding: 0.55rem 0.7rem 0.65rem;
  border-radius: 18px;
  background: #fffef8;
  border: 3px solid #16a34a;
  text-align: center;
}
.ls-flock-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  gap: 0.25rem 0.35rem;
  margin: 0 0 0.35rem;
}
.ls-flock-row img {
  width: 28px;
  height: auto;
  display: block;
}
.ls-flock-gap {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: 2px dashed #b45309;
  background: rgba(254, 243, 199, 0.7);
}
.ls-flock.is-found .ls-flock-gap {
  border-style: solid;
  border-color: #16a34a;
  background: #dcfce7;
}
.ls-flock-line {
  margin: 0;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  font-size: 0.95rem;
  color: #14532d !important;
}
.ls-found-kjv {
  display: none;
  margin: 0.65rem 0 0;
  padding: 0.55rem 0.85rem 0.75rem;
  border-radius: 16px;
  background: #fffef8;
  border: 3px solid #d97706;
  font-family: Nunito, system-ui, sans-serif;
  color: #0f172a !important;
}
.ls-found-kjv.show { display: block; }
.ls-found-kjv cite {
  display: block;
  font-style: normal;
  font-weight: 800;
  margin: 0 0 0.45rem;
  color: #b45309 !important;
}
.ls-found-kjv p {
  margin: 0;
  font-weight: 700;
  line-height: 1.5;
  font-size: 1.02rem;
}
.ls-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin: 0.75rem 0 0.35rem;
}

/* —— Shepherd's Path —— */
.sp-page { max-width: 28rem; margin: 0 auto; padding: 0.5rem 0.75rem 2rem; }
.sp-trail {
  position: relative;
  margin: 1rem 0;
  padding: 2.2rem 0.65rem 1.1rem;
  border-radius: 28px;
  overflow: visible;
  background:
    linear-gradient(180deg, #93c5fd 0%, #bfdbfe 26%, #fde68a 52%, #86efac 100%);
  border: 4px solid #d97706;
  box-shadow: 4px 4px 0 rgba(15, 23, 42, 0.12);
}
.sp-start {
  position: relative;
  width: 2.2rem;
  height: 2.2rem;
  margin: 0 auto 0.55rem;
}
.sp-path {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.7rem 0.75rem;
  margin: 0;
  padding: 0.35rem 0.2rem 0.5rem;
  background: transparent;
  border: 0;
  box-shadow: none;
}
body.kids-mini-game button.sp-stone,
.sp-stone {
  position: relative;
  overflow: visible;
  min-width: 76px;
  min-height: 52px !important;
  padding: 0.35rem 0.6rem;
  border-radius: 18px;
  border: 3px solid #78350f;
  background: linear-gradient(180deg, #fef9c3, #d97706);
  font-size: 0.95rem !important;
  font-weight: 800;
  font-family: Nunito, sans-serif;
  color: #1c1917 !important;
  cursor: pointer;
  box-shadow: 0 4px 0 #78350f;
  line-height: 1.15;
}
.sp-stone:nth-child(even) { transform: translateY(8px); }
.sp-stone:nth-child(3n) { transform: translateY(-4px); }
.sp-stone.is-done {
  opacity: 0.85;
  pointer-events: none;
  border-color: #166534;
  background: #bbf7d0;
  box-shadow: none;
  transform: none;
}
.sp-stone.is-next {
  box-shadow: 0 0 0 4px #f2dc98, 0 4px 0 #78350f;
  transform: translateY(-6px) scale(1.05);
}
.sp-walker {
  position: absolute;
  left: 50%;
  top: -34px;
  width: 40px;
  height: auto;
  transform: translateX(-50%);
  pointer-events: none;
  z-index: 2;
  filter: drop-shadow(1px 2px 0 rgba(15, 23, 42, 0.25));
}
.sp-teach { font-size: 0.9rem; font-weight: 600; color: #334155; margin: 0.35rem 0 0; }
.sp-w {
  opacity: 0.38;
  color: #0f172a;
}
.sp-w.is-now {
  opacity: 1;
  color: #b45309;
  box-shadow: 0 2px 0 #f2dc98;
}
.sp-w.is-walked {
  opacity: 1;
  color: #14532d;
  font-weight: 800;
}
.kg-full-kjv,
.kg-kept-item blockquote {
  margin: 0 0 0.35rem;
  padding: 0;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  font-size: 1.02rem;
  line-height: 1.45;
  color: #fff8dc !important;
}
.kg-kept-item {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 0.55rem 0.7rem;
  align-items: start;
  margin: 0 0 0.65rem;
  padding: 0.55rem 0 0.55rem;
  border-bottom: 2px dashed rgba(217, 119, 6, 0.35);
}
.kg-kept-item:last-child { border-bottom: 0; margin-bottom: 0; }
.kg-kept-item img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 12px;
  border: 3px solid #0f172a;
  background: #fffef8;
}
.kg-kept-item.is-mascot img { object-fit: contain; }
.kg-kept-item blockquote {
  grid-column: 2;
  color: #0f172a !important;
  font-size: 0.95rem;
}
.kg-kept-item cite {
  grid-column: 2;
  font-style: normal;
  font-weight: 800;
  color: #b45309;
  font-size: 0.82rem;
}
.match-teach .kg-full-kjv,
.mf-teach .kg-full-kjv {
  color: #fff8dc !important;
}
.match-teach cite,
.mf-teach cite {
  display: block;
  margin: 0.2rem 0 0.45rem;
  font-style: normal;
  color: #fde68a;
}
.ls-home {
  display: none;
  margin: 0.75rem 0 0;
  padding: 0.75rem 0.8rem;
  border-radius: 18px;
  background: #fffef8;
  border: 3px solid #d97706;
  text-align: center;
}
.ls-home.show { display: block; }
.ls-home-prompt {
  margin: 0 0 0.55rem;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  color: #0f172a !important;
}
.ls-friends {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
}
.ls-friend {
  min-height: 52px;
  min-width: 6.5rem;
  padding: 0.4rem 0.7rem;
  border-radius: 14px;
  border: 3px solid #d97706;
  background: #fffbeb;
  font-family: Nunito, system-ui, sans-serif;
  font-weight: 800;
  color: #0f172a !important;
  cursor: pointer;
}
.ls-friend.is-in {
  border-color: #16a34a;
  background: #dcfce7;
  pointer-events: none;
}
body.kids-mini-game.is-won .ls-grid,
body.kids-mini-game.is-won .ls-flock {
  display: none !important;
}

/* —— Kids home Play cards —— */
.kids-easy-games h2 {
  font-family: Nunito, system-ui, sans-serif;
  font-size: 1.35rem !important;
  color: #0f172a !important;
}
.kids-easy-game-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.kids-easy-game {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  text-decoration: none;
  border-radius: 1.15rem;
  padding: 0.95rem 0.65rem 0.85rem;
  font-weight: 800;
  font-size: 1.02rem;
  line-height: 1.2;
  color: #0f172a !important;
  text-align: center;
  border: 3px solid #d97706;
  box-shadow: 3px 3px 0 rgba(15, 23, 42, 0.12);
  min-height: 118px;
  background: #fffef8;
}
.kids-easy-game-ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.35rem;
  height: 3.35rem;
  border-radius: 14px;
  font-size: 1.45rem;
  background: #fff8e7;
  border: 3px solid #f2dc98;
  margin-bottom: 0.25rem;
  overflow: hidden;
  padding: 0;
}
.kids-easy-game-ico img {
  width: 3.6rem;
  height: 3.6rem;
  object-fit: cover;
  object-position: center 22%;
  display: block;
}
.kids-easy-game small {
  display: block;
  font-weight: 700;
  font-size: 0.78rem;
  margin-top: 0.1rem;
  color: #334155;
}
.kids-easy-game--match { background: linear-gradient(165deg, #fffbeb, #fde68a); border-color: #d97706; }
.kids-easy-game--sheep { background: linear-gradient(165deg, #ecfdf5, #86efac); border-color: #16a34a; }
.kids-easy-game--memory { background: linear-gradient(165deg, #eef2ff, #a5b4fc); border-color: #4f46e5; }
.kids-easy-game--path { background: linear-gradient(165deg, #fff7ed, #fdba74); border-color: #ea580c; }
.kids-easy-game:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
