body { overflow: hidden; }
.app-shell { height: 100dvh; }
.studio-grid { grid-template-columns: minmax(360px, 29fr) minmax(500px, 42fr) minmax(300px, 29fr); height: calc(100dvh - 82px); }
.mixer-column, .performance-column, .keyboard-column { min-height: 0; }
.mixer-column { display: grid; grid-template-rows: 1fr 1fr 48px; gap: 8px; }
.deck { min-height: 0; }
.performance-column { grid-template-rows: minmax(280px, 1fr) auto auto; }
.xy-module { min-height: 0; }
.xy-frame { height: calc(100% - 35px); aspect-ratio: auto; }
.keyboard-column { display: flex; flex-direction: column; }
.keyboard { flex: 1; min-height: 0; }
@media (max-height: 820px) {
  .topbar { min-height: 58px; }
  .studio-grid { height: calc(100dvh - 74px); }
  .deck__head { min-height: 47px; padding-block: 5px; }
  .waveform-wrap { height: 59px; }
  .deck__transport { min-height: 42px; }
  .eq-strip { padding-block: 7px; }
  .rotary i { width: 34px; height: 34px; margin-block: 4px; }
  .rotary i::after { height: 9px; }
  .sample-pad { min-height: 78px; }
  .master-controls { min-height: 70px; }
  .round-control { width: 47px; height: 47px; }
}

