.coin-total { color: #ffdc80 !important; font-size: 20px !important; font-weight: 700; }
.read-section-button { min-height: 44px; white-space: nowrap; font-size: 14px; color: #fff1c5; border-color: #d6c17d99; }
.read-section-button[aria-pressed=true] { background: #f3d187; color: #19392e; }
.read-status { flex: 0 0 auto; margin: 0 16px 8px; padding: 8px 12px; font-size: 15px; line-height: 1.4; background: #f3dfad; color: #19392e !important; border-radius: 8px; }
@media (min-width: 700px) and (max-width: 1000px) {
  .explore-header { padding-inline: 12px; gap: 10px; }
  .explore-header nav { gap: 6px; }
  .explore-header .small-btn { padding-inline: 9px; }
  .explore-brand { gap: 8px; }
  .explore-brand b { font-size: 12px; letter-spacing: .6px; }
  .explore-brand > div > span { font-size: 10px; letter-spacing: .5px; }
}
.shop-dialog, .save-dialog { max-width: min(920px, calc(100vw - 24px)); }
.shop-heading, .save-current { display: flex; align-items: center; gap: 18px; margin-bottom: 12px; }
.shop-heading > img { width: 100px; height: 100px; object-fit: contain; }
.shop-heading h2 { margin: 5px 0; }
.shop-dialog .dialog-body > p { line-height: 1.4; }
.supply-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0; }
.supply-card { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 8px 12px; padding: 14px; border: 1px solid #acc59366; border-radius: 12px; background: #254a40; }
.supply-symbol { font-size: 30px; color: #ffe09b; }
.supply-card h3 { font: 23px Georgia, serif; margin-bottom: 6px; }
.supply-card p { font-size: 16px; line-height: 1.4; }
.supply-card small { display: block; margin-top: 7px; font-size: 14px; color: #eddbad; }
.supply-card > button { grid-column: 1 / -1; min-height: 44px; padding: 8px 14px; box-shadow: none; }
.shop-earnings { font-size: 14px !important; color: #dbd7b5 !important; }
.purchase-message { padding: 10px 12px; border-radius: 8px; background: #315d44; color: #f3edc6 !important; }
.supply-note, .tutorial-note { font-size: 14px; line-height: 1.45; color: #d4d8b3; margin-top: 12px; }
.tutorial-move { width: 100%; border: 2px solid #ffdb86; }
.battle-bag { margin-top: 12px; padding: 10px 12px; border: 1px solid #dfc78077; border-radius: 9px; }
.battle-bag summary { cursor: pointer; font-size: 16px; color: #ffe3a2; min-height: 34px; padding-block: 6px; }
.battle-bag p { font-size: 14px; line-height: 1.4; margin: 6px 0 10px; }
.battle-bag > div { display: grid; grid-template-columns: 1fr; gap: 8px; }
.battle-bag button { display: block; width: 100%; text-align: left; min-height: 44px; padding: 10px 12px; }
.battle-bag button small { display: block; font-size: 14px; font-weight: normal; margin-top: 5px; }
.battle-bag [aria-pressed=true] { border-color: #ffdc86; background: #466045; }
.showing-feedback > .supply-note { display: none; }
.explore-footer-actions { display: flex; align-items: center; gap: 10px; }
.explore-footer-actions .small-btn { min-height: 44px; font-size: 14px; }
.explore-footer-actions .badge-tracker { color: #ffe6a5; border-color: #e6c47f99; background: #36563e; }
.explore-footer-actions #exploreGuide > span { margin-left: 5px; color: #f6d786; }
.save-current > img { width: 85px; height: 85px; object-fit: contain; }
.save-current b { font-size: 21px; }
.save-current small { font-size: 14px; color: #f1d794; }
.save-options { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 16px 0; }
.save-options > section { border: 1px solid #9db78a77; border-radius: 12px; padding: 16px; background: #21433b; }
.save-options h3 { font: 23px Georgia,serif; margin-bottom: 10px; }
.save-options p { margin-bottom: 15px; line-height: 1.45; }
.save-options .gold-btn, .save-options .outline-btn { width: 100%; }
.save-upload { position: relative; cursor: pointer; }
.save-upload input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.save-upload:focus-within { outline: 3px solid #ffdc87; outline-offset: 3px; }
.save-status { color: #ffe09f !important; font-size: 15px; line-height: 1.45; margin-top: 12px; }
.restore-facts { background: #21443b; padding: 12px 16px; border-radius: 10px; margin: 10px 0 16px; }
.restore-facts p { font-size: 16px; line-height: 1.55; }
.welcome-actions { flex-direction: row; flex-wrap: wrap; justify-content: center; }
.welcome-actions .text-button { min-height: 44px; }
@media (max-width: 1200px) { .explore-controls { display: none; } }
@media (min-width: 700px) and (orientation: landscape) {
  .shop-heading > img { width: 72px; height: 72px; }
  .supply-card { grid-template-columns: minmax(0,1fr) 94px; padding: 12px; }
  .supply-card > .supply-symbol { display: none; }
  .supply-card > div { grid-column: 1; }
  .supply-card > button { grid-column: 2; grid-row: 1; align-self: center; padding-inline: 8px; }
  .supply-card h3 { font-size: 21px; }
}
@media (max-width: 699px) {
  .supply-cards, .save-options { grid-template-columns: 1fr; }
  .explore-footer { flex-wrap: wrap; }
  .explore-footer-actions { gap: 6px; margin-left: auto; }
  .explore-footer-actions .small-btn { font-size: 13px; padding: 8px; }
  .shop-heading > img { width: 70px; height: 70px; }
  .shop-heading h2 { font-size: 27px; }
}

/* Section readers stay with the learning content, outside game toolbars. */
.section-readers { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.dialog-body h2 + .read-section-button { margin:0 0 10px; }
.puzzle-feedback .read-section-button, .battle-hint .read-section-button { margin-top:6px; }
.battle-feedback > .read-section-button { display:block; margin:8px 0; }
.explore-footer-actions { flex-wrap:wrap; }
@media (max-width:1100px) { .explore-controls { display:none; } }
@media (max-width:600px) { .explore-footer-actions { justify-content:flex-end; gap:4px; } .explore-footer-actions .read-section-button { font-size:12px; padding-inline:8px; } }

/* Student-friendly save names */
.save-name-label{display:block;font-size:16px;font-weight:700;margin:10px 0 8px}.save-name-input{display:block;width:100%;min-height:44px;padding:10px 12px;border:2px solid #9fc6cf;border-radius:8px;background:#f4faf8;color:#17343e;font:18px system-ui;box-sizing:border-box}.save-name-input[aria-invalid=true]{border-color:#ef635f;outline:2px solid #ef635f}.save-name-preview{overflow-wrap:anywhere;font-size:16px!important;line-height:1.5!important;color:#ffe5aa}.save-date{font-size:18px!important;font-weight:700;color:#fff0c7}.save-status{overflow-wrap:anywhere}
