/* Bank browsing scrolls independently of its return-to-play controls. */
body .app.view-town {
  height: var(--game-height, 100dvh);
  min-height: 0;
  max-height: 960px;
  overflow: hidden;
}
/* Long ticker values must fit their column on narrow phone screens. */
.app.view-town .money-account strong[data-long="true"] {
  font-size: clamp(12px, 3.6vw, 17px);
}
#bank-owned-panel {
  min-height: 0;
  overflow: hidden;
}
#bank-owned-panel .bank-browse {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  gap: 8px;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-width: thin;
  scrollbar-color: #465c69 transparent;
  padding-bottom: 4px;
}
#bank-owned-panel .bank-browse > * {
  flex-shrink: 0;
}
#bank-owned-panel .bank-browse .world-stage {
  flex: 0 0 auto;
  height: clamp(170px, calc(var(--game-height, 100dvh) * .32), 320px);
  min-height: 170px;
}
#bank-owned-panel .bank-play-footer {
  flex: 0 0 auto;
  margin: 0;
  padding-top: 8px;
  border-top: 1px solid var(--line);
}
#bank-owned-panel .bank-play-footer .income-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}
#bank-owned-panel .bank-play-footer button {
  min-height: 52px;
  height: auto;
  padding: 7px 12px;
  border-radius: var(--radius);
}
#bank-owned-panel #collection-return {
  width: 100%;
  margin: 0;
  background: var(--lime);
  color: #17230c;
  font-weight: 700;
}
#bank-owned-panel [data-collected-status="lost"] .asset-sprite {
  filter: saturate(.65);
}
#bank-owned-panel [data-collected-status="lost"] .world-rate {
  color: #ffadb6;
  background: #33232d;
  border-color: #764855;
}
#bank-owned-panel .bank-play-footer #bank-pawn {
  background: var(--surface);
  border-color: var(--line);
  color: var(--muted);
  font-weight: 550;
}
.large-type #bank-owned-panel .bank-play-footer button {
  min-height: 58px;
  padding-inline: 8px;
  font-size: .75rem;
}
/* The named return stays visible even when a purchase preview is too tall. */
#bank-dialog[open] {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#bank-dialog > .dialog-heading {
  flex: 0 0 auto;
  gap: 10px;
}
#bank-dialog .dialog-heading h2 {
  min-width: 0;
}
#bank-dialog #bank-buy-panel {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior-y: contain;
}
#bank-dialog .bank-play-return {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid #768950;
  border-radius: 10px;
  background: #d2ff5a0b;
  color: var(--lime);
  font: inherit;
  font-size: .8125rem;
  font-weight: 650;
  white-space: nowrap;
}
#bank-dialog .bank-play-return:disabled {
  opacity: .4;
}
