/* responsive.css — extracted from style.css for modular structure */

@media (max-width: 920px) {
  .menu-grid {
    grid-template-columns: 1fr;
  }
  .control-columns {
    grid-template-columns: 1fr;
  }
  .hud-top,
  .mini-top {
    grid-template-columns: 1fr;
  }
  .hud-center,
  .hud-right {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .front-console {
    grid-template-columns: 1fr;
    width: calc(100% - 22px);
    bottom: 18px;
  }
  .player {
    bottom: 170px;
    transform: translateX(-50%) scale(.9);
  }
  .stage-frame.facing-back .player {
    transform: translateX(-50%) scale(.9) scaleX(-1);
  }
  .stage-frame {
    min-height: 700px;
  }
  .hud-bottom,
  .mini-bottom {
    flex-direction: column;
    align-items: stretch;
  }
}

@media (max-width: 700px) {
  .app-shell {
    padding-inline: 10px;
  }
  .topbar {
    grid-template-columns: 1fr auto;
  }
  .back-link {
    grid-column: 1 / 2;
    justify-self: start;
  }
  .brand-wrap {
    grid-column: 1 / span 2;
    order: 3;
  }
  .stage-frame {
    min-height: 720px;
  }
  .rear-window {
    width: calc(100% - 28px);
    height: 250px;
    top: 120px;
  }
  .ceiling-rig {
    padding: 0 24px;
    top: 18px;
  }
  .speaker {
    width: 68px;
    height: 68px;
  }
  .button-bay {
    width: calc(100% - 24px);
    flex-direction: column;
    bottom: 24px;
  }
  .bay-btn {
    max-width: none;
    width: 100%;
  }
  .mobile-controls {
    display: flex;
  }
  .controls-mini {
    display: none;
  }
  .mini-host canvas {
    height: 460px;
  }
  .rhythm-buttons {
    gap: 8px;
    padding: 12px;
  }
  .rhythm-pad {
    padding: 16px 4px;
    font-size: 14px;
