/*
 * Game Readability Upgrade v3.3
 * Shared, accessible typography and spacing across every built-in arcade game.
 * The approved hub design is intentionally untouched.
 */

/* Core game typography */
.gmr-game,
.gmr-game-panel .gmr-cave-adv-shell {
  font-size:19px !important;
  line-height:1.62 !important;
}

.gmr-game p,
.gmr-game li,
.gmr-game label,
.gmr-game input,
.gmr-game select,
.gmr-game textarea,
.gmr-game-panel .gmr-cave-adv-shell p,
.gmr-game-panel .gmr-cave-adv-shell span,
.gmr-game-panel .gmr-cave-adv-shell label {
  font-size:1em;
  line-height:1.58;
}

/* Main headings */
.gmr-game .gmr-header h2,
.gmr-game .gmr-screen h2,
.gmr-game .gmr-result h2,
.gmr-game .gmr-dig-site-heading h2,
.gmr-game .gmr-smash-banner h2,
.gmr-game .gmr-guess-question h2,
.gmr-game-panel .gmr-cave-adv-header h2 {
  font-size:clamp(2.25rem,4vw,3.25rem) !important;
  line-height:1.12 !important;
}

.gmr-game h3,
.gmr-game .gmr-question,
.gmr-game .gmr-screen h3,
.gmr-game .gmr-result h3,
.gmr-game .gmr-guess-question h3,
.gmr-game-panel .gmr-cave-adv-message strong {
  font-size:clamp(1.55rem,2.8vw,2.15rem) !important;
  line-height:1.24 !important;
}

.gmr-game h4 {font-size:1.28rem !important;line-height:1.3 !important}

/* Eyebrows, labels and stats were especially small. */
.gmr-game .gmr-eyebrow,
.gmr-game .gmr-label,
.gmr-game .gmr-category,
.gmr-game .gmr-answer-label,
.gmr-game .gmr-stats span,
.gmr-game .gmr-result-grid span,
.gmr-game .gmr-smash-hud span,
.gmr-game .gmr-guess-hud span,
.gmr-game .gmr-dig-small,
.gmr-game .gmr-dig-instructions,
.gmr-game .gmr-guess-clues,
.gmr-game-panel .gmr-cave-adv-kicker {
  font-size:.82rem !important;
  line-height:1.35 !important;
  letter-spacing:.055em !important;
}

.gmr-game .gmr-stats strong,
.gmr-game .gmr-result-grid strong,
.gmr-game .gmr-smash-hud strong,
.gmr-game .gmr-guess-hud strong,
.gmr-game-panel .gmr-cave-adv-stats strong {
  font-size:1.35rem !important;
  line-height:1.2 !important;
}

/* Choices and all interactive controls */
.gmr-game button,
.gmr-game .gmr-primary,
.gmr-game .gmr-secondary,
.gmr-game .gmr-link,
.gmr-game .gmr-answer-btn,
.gmr-game .gmr-choice,
.gmr-game input[type="button"],
.gmr-game input[type="submit"],
.gmr-game-panel .gmr-cave-adv-actions button,
.gmr-game-panel .gmr-cave-adv-pickaxe {
  font-size:1rem !important;
  line-height:1.35 !important;
  min-height:54px !important;
  padding:14px 20px !important;
}

.gmr-game .gmr-answer-btn,
.gmr-game .gmr-choice {
  padding:16px 18px !important;
}

.gmr-game .gmr-choice-letter {
  font-size:1rem !important;
  min-width:38px;
  min-height:38px;
}

.gmr-game input[type="text"],
.gmr-game input[type="search"],
.gmr-game input[type="number"],
.gmr-game select,
.gmr-game textarea {
  min-height:52px;
  padding:12px 15px !important;
  font-size:1rem !important;
}

/* Supporting text */
.gmr-game .gmr-screen>p,
.gmr-game .gmr-story,
.gmr-game .gmr-fact,
.gmr-game .gmr-feedback,
.gmr-game .gmr-find,
.gmr-game .gmr-dig-message,
.gmr-game .gmr-smash-message,
.gmr-game .gmr-guess-answer,
.gmr-game .gmr-guess-clues,
.gmr-game .gmr-tooltip-copy,
.gmr-game .gmr-tooltip-tip,
.gmr-game .gmr-info-fact,
.gmr-game .gmr-info-tip {
  font-size:1rem !important;
  line-height:1.62 !important;
}

.gmr-game small,
.gmr-game .gmr-tooltip-tap,
.gmr-game .gmr-find-tooltip small {
  font-size:.82rem !important;
}

/* More breathing room inside game content, without creating tall empty regions. */
.gmr-game .gmr-content {padding:28px !important}
.gmr-game .gmr-screen {margin-top:0 !important}
.gmr-game .gmr-answers {gap:14px !important}
.gmr-game .gmr-stats,
.gmr-game .gmr-result-grid {gap:12px !important;margin-bottom:22px !important}
.gmr-game .gmr-stats>div,
.gmr-game .gmr-result-grid>div {padding:14px 10px !important}
.gmr-game .gmr-feedback,
.gmr-game .gmr-find {padding:19px !important}

/* Visual games: enlarge small HUD and instruction copy. */
.gmr-game .gmr-dig-title-row,
.gmr-game .gmr-smash-controls,
.gmr-game .gmr-smash-meter,
.gmr-game .gmr-smash-best,
.gmr-game .gmr-guess-hud,
.gmr-game .gmr-guess-clues,
.gmr-game .gmr-guess-answer {
  font-size:1rem !important;
}

.gmr-game .gmr-smash-controls button,
.gmr-game .gmr-guess button,
.gmr-game .gmr-dig button {
  font-size:1rem !important;
  min-height:50px !important;
}

/* Crystal Caverns */
.gmr-game-panel .gmr-cave-adv-header p,
.gmr-game-panel .gmr-cave-adv-help,
.gmr-game-panel .gmr-cave-adv-message span {
  font-size:1rem !important;
  line-height:1.58 !important;
}
.gmr-game-panel .gmr-cave-adv-stats span {font-size:.9rem !important;line-height:1.4 !important}
.gmr-game-panel .gmr-cave-adv-dpad button {
  font-size:1.38rem !important;
  padding:0 !important;
  min-height:52px !important;
}

/* Bring the open game closer to its toolbar. */
.gmr-arcade-overlay {padding:12px !important}
.gmr-arcade-dialog {min-height:0 !important}
.gmr-arcade-toolbar {padding:11px 16px !important}
.gmr-arcade-toolbar strong,
.gmr-arcade-toolbar button {font-size:1rem !important}
.gmr-game-panel {padding:8px 14px 18px !important}
.gmr-game-panel>.gmr-game,
.gmr-game-panel>.gmr-cave-adv-shell {margin:0 auto !important}

/* Preserve readable card descriptions without excessive truncation. */
.gmr-v3-card-body>p {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}

@media (max-width:760px) {
  .gmr-game,
  .gmr-game-panel .gmr-cave-adv-shell {font-size:17px !important}
  .gmr-game .gmr-content {padding:20px !important}
  .gmr-game .gmr-header {padding:22px 18px !important}
  .gmr-game .gmr-answers {grid-template-columns:1fr !important}
  .gmr-game button,
  .gmr-game .gmr-primary,
  .gmr-game .gmr-secondary,
  .gmr-game .gmr-link,
  .gmr-game .gmr-answer-btn,
  .gmr-game .gmr-choice,
  .gmr-game-panel .gmr-cave-adv-actions button,
  .gmr-game-panel .gmr-cave-adv-pickaxe {
    font-size:1rem !important;
    min-height:52px !important;
  }
  .gmr-arcade-overlay {padding:0 !important}
  .gmr-game-panel {padding:6px !important}
}
