/* The free browser game lives only on the games landing page. */
.page-games .page-hero { margin-bottom: 24px; padding-block: 24px; }
body.page-games h1 { font-size: clamp(1.9rem, 3.8vw, 3rem); }
.listen-game { margin: 0 0 48px; padding: clamp(18px, 3vw, 32px); border: 2px solid var(--ink); border-radius: 26px; background: #fffdf7; box-shadow: 5px 6px 0 #173e7114; scroll-margin-top: 96px; }
.listen-game [hidden] { display: none !important; }
body.content-page .listen-game h2 { margin: 0 0 8px; }
body.content-page .listen-game h3 { margin-top: 0; }
.listen-game button, .listen-game select { font: inherit; color: var(--ink); }
.listen-game button { cursor: pointer; }
.listen-game button:disabled { cursor: default; opacity: 1; }
.listen-setup { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 280px); gap: 24px; align-items: center; }
.listen-intro-art { display: flex; justify-content: center; gap: 8px; }
.listen-intro-art img { width: min(30%, 132px); height: auto; aspect-ratio: 1; object-fit: contain; }
.listen-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }
.listen-game select { min-height: 48px; padding: 8px 12px; border: 1px solid #718aa4; border-radius: 12px; background: white; }
.listen-primary { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; border: 2px solid var(--ink); border-radius: 14px; padding: 10px 22px; background: var(--sunshine); box-shadow: 0 3px 0 var(--ink); font-weight: bold !important; }
.listen-primary:hover { background: #ffe3bf; }
.listen-secondary { min-height: 44px; border: 1px solid #718aa4; border-radius: 12px; padding: 8px 14px; background: white; }
.listen-secondary:hover { background: #dceeff; }
.listen-board { max-width: 760px; margin-inline: auto; text-align: center; }
.listen-progress { display: flex; gap: 16px; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.listen-progress progress { width: min(35%, 200px); height: 14px; accent-color: #276447; }
.listen-progress span { font-size: .9rem; }
.listen-prompt { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 14px; }
.listen-caption { font: 800 1.8rem/1.4 Arial, sans-serif; }
.listen-word-option { display: flex; gap: 8px; justify-content: center; align-items: center; min-height: 44px; margin-block: 10px; font-size: .9rem; }
.listen-word-option input { width: 20px; height: 20px; accent-color: var(--navy); }
.listen-choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.listen-choice { min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 12px 8px; border: 2px solid #718aa4; border-radius: 20px; background: white; }
.listen-choice img { display: block; width: min(100%, 164px); height: auto; aspect-ratio: 1; object-fit: contain; }
.listen-choice span { line-height: 1.4; }
.listen-choice:hover:enabled { background: #e8f6ff; border-color: var(--ink); }
.listen-choice.is-retry { border-style: dashed; border-color: #8b4527; }
.listen-choice.is-correct { background: #e3efc9; border-color: #276447; }
body.content-page .listen-feedback { min-height: 3.6em; margin: 16px 0 10px; line-height: 1.8; }
.listen-feedback.is-correct { color: #205539; }
.listen-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px; }
body.content-page .listen-audio-status { font-size: .9rem; color: #7b3921; margin: 0 0 12px; }
.listen-audio-status:empty { display: none; }
.listen-finished { text-align: center; }
.listen-finished ul { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 20px; list-style: none; padding: 0; margin: 20px 0 28px; }
.listen-finished li { padding: 8px 12px; background: #e3efc9; border-radius: 12px; }
.listen-parent-note { margin-top: 22px !important; font-size: .9rem; color: #4c6075; }
@media (max-width: 640px) {
  .page-games .page-hero { padding: 20px; }
  .page-games .page-hero .lead { font-size: 1rem; line-height: 1.7; }
  .listen-setup { grid-template-columns: 1fr; gap: 16px; }
  .listen-intro-art { order: -1; }
  .listen-intro-art img { width: 64px; }
  .listen-choices { gap: 8px; }
  .listen-choice { padding: 8px 4px; border-radius: 14px; font-size: .9rem !important; }
  .listen-controls { gap: 10px; }
  .listen-game .listen-primary { padding-inline: 16px; }
}
