.game-shell {
  gap: 6px;
  grid-template-rows: 50px minmax(0, 1fr) auto minmax(46px, 46px);
  padding-inline: 8px;
}

.top-bar {
  grid-template-columns: minmax(88px, 1.15fr) 52px minmax(78px, 1fr) 36px 36px 36px;
  gap: 5px;
}

.wallet,
.prestige-badge,
.city-progress,
.icon-button {
  min-height: 46px;
}

.wallet #coins {
  font-size: clamp(12px, 3.4vw, 16px);
}

.wallet #coinsPerSecond {
  font-size: 9px;
}

.mission-card {
  min-height: 54px;
  padding: 7px 8px;
  grid-template-columns: 30px minmax(0, 1fr) 54px;
}

.borough-track {
  top: 96px;
}

.road {
  inset: 128px 0 0;
}

.lane {
  min-height: 46px;
}

.lane-lock {
  width: min(136px, 62%);
  padding: 6px 7px;
}

.lane-lock strong {
  font-size: 11px;
}

.lane-lock span {
  min-height: 16px;
  font-size: 8.6px;
}

.toll-gate {
  width: 52px;
  right: 8px;
}

.toll-gate span.gate-level {
  font-size: 10px;
}

.gate-scene {
  transform: perspective(160px) rotateX(7deg) rotateY(-8deg);
}

.lane-grade {
  min-width: 56px;
  height: 17px;
  font-size: 7px;
}

.lane-drop {
  background: rgba(19, 24, 38, 0.42);
  border: 2px dashed rgba(255, 212, 77, 0.85);
  border-radius: 10px;
  z-index: 4;
  right: 1%;
  width: 62px;
}

.lane:not(.locked) .toll-gate::after {
  content: none;
}

.action-bar .action-btn {
  min-height: 0;
  max-height: none;
}
