@media (max-width: 1180px) {
  .profile-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .caller-row {
    grid-template-columns: 1fr 1fr;
  }

  .current-ball-wrap {
    grid-row: span 2;
  }
}

@media (max-width: 900px) {
  .bc-header {
    grid-template-columns: 1fr auto;
  }

  .wallet-control {
    order: 2;
  }

  .header-game-title {
    order: 3;
    grid-column: 1 / -1;
  }

  .mode-pill {
    order: 4;
  }

  .audio-control {
    order: 5;
    grid-column: 1 / -1;
    grid-template-columns: auto minmax(0, 1fr);
  }

  .mode-pill {
    grid-column: 1 / -1;
  }

  .entrance-view.active {
    min-height: min(760px, calc(100vh - 86px));
    padding: 12px;
  }

  .entrance-view::before {
    background:
      linear-gradient(0deg, rgba(3, 6, 22, 0.94), rgba(3, 6, 22, 0.18) 42%, rgba(3, 6, 22, 0.86)),
      url("/bingo_crash/images/george_gaming_logo.png") center top / contain no-repeat;
  }

  .entrance-copy {
    align-self: center;
    justify-self: start;
    width: min(440px, 100%);
    padding: 18px;
    margin: min(34vh, 260px) auto 0 clamp(12px, 8vw, 54px);
  }

  .lobby-grid,
  .profile-strip,
  .round-status {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .caller-row {
    grid-template-columns: 1fr;
  }

  .current-ball-wrap {
    grid-row: auto;
  }

  .cards-area {
    grid-template-columns: 1fr;
  }

  .game-view.chat-open .board-frame {
    grid-template-columns: 1fr;
  }

  .chat-drawer {
    order: -1;
  }

  .playfield,
  .game-view.four-card-mode .playfield,
  .game-view.four-card-mode.wild-ready .playfield,
  .game-view.wild-ready .playfield,
  .game-view.replay-open .playfield,
  .game-view.wild-ready.replay-open .playfield {
    grid-template-columns: 1fr;
  }

  .utility-rail {
    order: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    width: min(760px, 100%);
    margin-inline: auto;
  }

  .game-view:not(.four-card-mode) .utility-rail {
    grid-template-columns: minmax(160px, 260px);
    justify-content: center;
  }

  .wild-power-dock,
  .power-up-meter,
  .card-bank-nav {
    display: grid;
    gap: 10px;
    align-items: center;
    justify-content: center;
    min-width: 0;
  }

  .wild-card-token,
  .card-bank-toggle {
    min-height: 68px;
  }

  .power-meter-track {
    width: 88px;
    height: 88px;
  }

  .replay-panel {
    order: 3;
  }

  .bonus-form {
    grid-template-columns: 1fr;
  }

  .bonus-form .btn {
    width: auto;
    min-width: min(86px, 29vw);
  }
}

@media (max-width: 560px) {
  .bc-shell {
    padding: 8px;
  }

  .bc-header {
    gap: 8px;
    padding: 8px;
  }

  .brand-link span {
    display: none;
  }

  .brand-logo {
    width: 38px;
    height: 38px;
  }

  .wallet-control {
    min-width: 0;
    padding: 0 10px;
    font-size: 0.88rem;
  }

  .audio-control {
    padding: 6px 8px;
    gap: 8px;
  }

  .header-game-title {
    min-height: 32px;
    padding: 0 10px;
    font-size: 0.95rem;
  }

  .audio-toggle {
    padding: 0 8px;
    font-size: 0.8rem;
  }

  .entrance-view.active {
    min-height: min(720px, calc(100vh - 80px));
  }

  .entrance-view::before {
    background:
      linear-gradient(0deg, rgba(3, 6, 22, 0.98), rgba(3, 6, 22, 0.16) 38%, rgba(3, 6, 22, 0.92)),
      url("/bingo_crash/images/george_gaming_logo.png") center top / contain no-repeat;
  }

  .entrance-copy {
    width: min(340px, 100%);
    margin: min(32vh, 230px) auto 0;
    padding: 14px;
    text-align: center;
  }

  .tagline {
    font-size: 1rem;
    margin-bottom: 12px;
  }

  .entrance-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: min(360px, 100%);
    margin-inline: auto;
  }

  .volume-row {
    grid-template-columns: 1fr auto;
  }

  .profile-view,
  .lobby-view {
    padding: 8px;
  }

  .profile-card,
  .lobby-panel {
    padding: 18px;
  }

  .lobby-grid,
  .profile-strip,
  .round-status {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .lobby-stat,
  .profile-strip > div,
  .round-status > div {
    padding: 9px;
  }

  .lobby-stat strong,
  .profile-strip strong,
  .round-status strong {
    font-size: 1rem;
  }

  .segmented {
    grid-template-columns: 1fr 1fr;
  }

  .caller-row {
    gap: 8px;
  }

  .player-score-panel,
  .history-panel,
  .current-ball-wrap,
  .crash-panel,
  .feed-panel,
  .settings-panel,
  .chat-panel {
    border-radius: 8px;
  }

  .current-ball {
    width: 116px;
    height: 116px;
  }

  .current-ball .ball-letter {
    font-size: 1.65rem;
  }

  .current-ball .ball-number {
    font-size: 3.15rem;
  }

  .call-ball {
    width: 50px;
    height: 50px;
  }

  .call-ball .ball-letter {
    font-size: 0.72rem;
  }

  .call-ball .ball-number {
    font-size: 1.24rem;
  }

  .cards-area {
    gap: 10px;
    width: 100%;
  }

  .wild-power-dock,
  .power-up-meter,
  .card-bank-nav {
    grid-template-columns: 1fr;
  }

  .wild-card-token,
  .card-bank-toggle {
    min-height: 66px;
    grid-template-columns: auto 1fr auto;
    padding: 8px;
  }

  .power-meter-track {
    width: 76px;
    height: 76px;
  }

  .power-meter-core {
    width: 34px;
    height: 34px;
  }

  .power-meter-core::before {
    height: 18px;
  }

  .wild-icon,
  .bank-arrow {
    width: 40px;
    height: 40px;
    font-size: 1.5rem;
  }

  .bingo-card {
    padding: 8px;
  }

  .bingo-header,
  .bingo-grid {
    gap: 5px;
  }

  .bingo-header span {
    min-height: 32px;
    font-size: 1.2rem;
  }

  .bingo-cell {
    min-height: 56px;
    border-radius: 8px;
    font-size: clamp(1rem, 8vw, 1.55rem);
  }

  .bingo-cell.daubed::after {
    font-size: 0.5rem;
    padding-bottom: 6px;
  }

  .bingo-action-row {
    bottom: 4px;
  }

  .bingo-btn {
    min-height: 60px;
    width: calc(100vw - 24px);
  }

  .board-toolbar {
    justify-content: center;
  }

  .chat-panel.collapsed .chat-body,
  .chat-panel.collapsed .chat-form,
  .chat-panel.collapsed .chat-error {
    display: none;
  }

  .chat-collapse {
    display: inline-flex;
  }

  .chat-form {
    grid-template-columns: 1fr;
  }

  .result-card {
    padding: 18px;
  }

  .result-card h2 {
    font-size: clamp(2.5rem, 14vw, 4.6rem);
  }

  .result-stats {
    gap: 7px;
    margin: 14px 0 16px;
  }

  .result-stats div {
    padding: 9px 10px;
  }
}

@media (min-width: 561px) {
  .chat-collapse {
    display: none;
  }
}

@media (max-width: 420px) {
  .profile-strip,
  .round-status {
    grid-template-columns: 1fr;
  }

  .bingo-cell {
    min-height: 52px;
  }
}
