/* V29: solid hierarchy, reliable wallet actions and clean, borderless game surfaces. */
:root {
  --v29-forest: #17493a;
  --v29-forest-deep: #10382d;
  --v29-sage: #dfe9e2;
  --v29-sage-strong: #cddfd3;
  --v29-sage-pale: #edf2ee;
  --v29-gold: #e8c45b;
  --v29-gold-soft: #f3e7b2;
  --v29-coral: #d87562;
  --v29-coral-soft: #f4dfda;
  --v29-paper: #f7f8f3;
  --v29-ink: #14251e;
}

.wallet {
  color: var(--v29-ink);
  background: var(--v29-sage) !important;
  border: 0 !important;
  box-shadow: none !important;
}

.wallet-redeem,
.wallet-help {
  border: 0 !important;
  box-shadow: none !important;
}

.wallet-redeem {
  color: var(--v29-ink);
  background: var(--v29-gold) !important;
}

.wallet-help {
  color: #f8faf6;
  background: var(--v29-forest) !important;
}

.wallet-redeem:hover,
.wallet-redeem:focus-visible,
.wallet-help:hover,
.wallet-help:focus-visible {
  color: #f8faf6;
  background: var(--v29-forest-deep) !important;
}

.choice,
.choice-speaker,
.previous-choice,
.hungry-save-button,
.continue-button,
.pack,
.treehouse-card,
.treehouse-upgrade {
  border: 0 !important;
  box-shadow: none !important;
}

.choice-wrap:nth-child(odd) .choice {
  background: var(--v29-sage-pale);
}

.choice-wrap:nth-child(even) .choice {
  background: var(--v29-gold-soft);
}

.choice:hover,
.choice:focus-visible {
  background: var(--v29-sage-strong);
}

.choice.is-correct,
.previous-choice.is-correct {
  color: var(--v29-forest-deep);
  background: #d9ebd6 !important;
}

.choice.is-wrong,
.previous-choice.is-wrong {
  color: #6f2f26;
  background: var(--v29-coral-soft) !important;
}

.choice-speaker {
  color: var(--v29-forest);
  background: rgba(23, 73, 58, .09) !important;
}

.choice-speaker:hover,
.choice-speaker:focus-visible,
.choice-speaker.is-speaking {
  color: #f8faf6;
  background: var(--v29-forest) !important;
}

.result-actions {
  align-items: stretch;
  grid-auto-rows: 1fr;
}

.result-actions > button {
  height: 100%;
  min-height: 48px;
}

.hungry-save-button,
.hungry-save-button.is-saved {
  color: var(--v29-ink);
  background: var(--v29-gold-soft) !important;
}

.hungry-save-icon svg,
.hungry-notes-mark {
  fill: none;
  stroke: currentColor;
}

.continue-button {
  color: #f8faf6;
  background: var(--v29-forest) !important;
}

.explanation-lock button {
  color: var(--v29-ink);
  background: var(--v29-gold) !important;
  border: 0 !important;
  box-shadow: none !important;
}

.treehouse-card {
  cursor: pointer;
}

.treehouse-card button {
  pointer-events: auto;
}

.treehouse-upgrade {
  color: #f8faf6;
  background: var(--v29-forest) !important;
  cursor: pointer;
}

.family-roost {
  justify-content: flex-start;
  width: min(92%, 230px);
  padding-left: 12px;
  overflow: visible;
}

.family-roost .family-sloth + .family-sloth {
  margin-left: -12px;
}

.family-roost .family-sloth:nth-child(3n + 2) {
  transform: translateY(5px) scale(.91);
}

.family-roost .family-sloth:nth-child(3n) {
  transform: translateY(9px) scale(.82);
}

.leaderboard li,
.summary-league li {
  border: 0 !important;
  outline: 0 !important;
  background: var(--v29-sage-pale);
  box-shadow: none !important;
}

.leaderboard li.is-player,
.summary-league li.is-player {
  background: var(--v29-gold-soft);
}

.leaderboard li.is-podium,
.summary-league li.is-podium {
  background: var(--v29-sage);
  box-shadow: none !important;
}

.leaderboard .league-identity,
.summary-league .league-identity {
  min-width: 0;
}

.leaderboard .league-identity b,
.summary-league .league-identity b {
  display: -webkit-box;
  overflow: hidden;
  white-space: normal;
  overflow-wrap: anywhere;
  text-overflow: clip;
  line-height: 1.12;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.pack {
  background: var(--v29-sage-pale);
}

.pack:nth-child(2) {
  background: var(--v29-sage);
}

.pack:nth-child(3) {
  background: #e2eadc;
}

.pack.is-selected {
  background: var(--v29-gold-soft);
  border: 0 !important;
  box-shadow: none !important;
}

.pack.is-annual {
  color: #f8faf6;
  background: var(--v29-forest-deep);
}

@media (max-width: 720px) {
  body:not(.needs-entry) .topbar-tools {
    grid-template-columns: minmax(68px, 82px) minmax(118px, 142px);
  }

  body:not(.needs-entry) .wallet {
    min-width: 118px;
    max-width: 142px;
    padding-inline: 7px;
  }

  body:not(.needs-entry) #leafCount {
    min-width: 40px;
    overflow: visible;
    font-size: .82rem;
  }

  body:not(.needs-entry) .wallet-redeem {
    min-width: 42px;
  }

  body:not(.needs-entry) .family-roost {
    width: 116px;
    padding-left: 3px;
    transform: scale(.76);
    transform-origin: left bottom;
  }

  body:not(.needs-entry) .family-roost .family-sloth + .family-sloth {
    margin-left: -17px;
  }

  body:not(.needs-entry) .leaderboard li,
  .summary-league li {
    min-height: 58px;
  }

  body:not(.needs-entry) .result-actions > button {
    min-height: 46px;
    padding-block: 8px;
  }
}

@media (max-width: 370px) {
  body:not(.needs-entry) .topbar-tools {
    grid-template-columns: 66px minmax(112px, 122px);
  }

  body:not(.needs-entry) .wallet {
    min-width: 112px;
    max-width: 122px;
    gap: 3px;
    padding-inline: 5px;
  }

  body:not(.needs-entry) #leafCount {
    min-width: 35px;
    font-size: .76rem;
  }

  body:not(.needs-entry) .wallet-redeem {
    min-width: 38px;
    padding-inline: 4px;
  }
}
