/* Responsive layouts. Desktop is the primary target; on smaller screens the
   turntables and console stay first and the studios move below. */

@media (max-width: 1100px) {
  :root {
    --tt: min(44vw, 380px);
  }

  .chassis.studios-closed {
    --tt: min(44vw, calc(100vh - 340px), 460px);
  }

  .remix-studio {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "deckL deckR"
      "console console";
  }

  .console {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }

  .console > .lcd,
  .console > .transport {
    grid-column: 1 / -1;
  }

  .sounds-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  :root,
  .chassis.studios-closed {
    --tt: min(calc(100vw - 40px), 400px);
  }

  .studios-toggle-label {
    display: none;
  }

  .titlebar {
    flex-wrap: wrap;
    gap: 6px;
  }

  .plate-picker {
    order: 2;
  }

  .project-name-wrap {
    order: 3;
    flex-basis: 100%;
  }

  .project-name {
    max-width: none;
  }

  .remix-studio {
    grid-template-columns: 1fr;
    grid-template-areas:
      "deckL"
      "console"
      "deckR";
    padding: 8px;
  }

  .console {
    display: flex;
  }

  .pad {
    font-size: 11px;
  }

  .help-body {
    grid-template-columns: 1fr;
  }

  .studio-panels {
    margin: 0 6px 6px;
  }

  .tbtn {
    min-height: 44px;
  }

  .btn-ms {
    min-height: 30px;
  }

  .fx-param {
    grid-template-columns: 48px 1fr 48px;
  }

  .form-grid {
    grid-template-columns: 80px 1fr;
  }

  .statusbar {
    flex-wrap: wrap;
  }
}

@media (pointer: coarse) {
  .btn {
    min-height: 34px;
  }

  input[type="range"] {
    height: 30px;
  }
}

@media (max-width: 1100px) and (min-width: 701px) {
  .warp-pad {
    aspect-ratio: auto;
    height: 150px;
  }
}

.sounds-layout > *,
.panel-cols > * {
  min-width: 0;
}
