/* App-specific expansion rules. The outer fitter retains one scale on both axes. */
html[data-hx-display-mode="adaptive"] #djx-instrument .dj-console {
  height: calc(100% - 50px); width: 100%; max-width: none;
}
html[data-hx-display-mode="adaptive"].bass-uniform-fit #app,
html[data-hx-display-mode="adaptive"].vmidi-uniform-fit #app,
html[data-hx-display-mode="adaptive"].microtone-uniform-fit #app,
html[data-hx-display-mode="adaptive"] #app-content,
html[data-hx-display-mode="adaptive"].vkey-uniform-fit #app-container {
  max-width: none; max-height: none; margin: 0;
}
html[data-hx-display-mode="adaptive"].ax-uniform-fit body.automatx-native #game-container,
html[data-hx-display-mode="adaptive"].nt-uniform-fit body.night-train-2d #main-synth-container {
  width: 100%; height: 100%; max-width: none;
}
html[data-hx-display-mode="adaptive"].nt-uniform-fit .night-train-app-shell {
  height: 100%; min-height: 0;
}
/* The toolbar button now handles all three states; avoid an overlapping exit hit target. */
html[data-hx-display-app="midi-controller"] #btn-exit-fullscreen { display: none !important; }
html[data-hx-display-mode="adaptive"].nexus-uniform-fit #nexus-instrument {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 72px 80px minmax(340px, 1fr) minmax(400px, 1fr);
}
html[data-hx-display-mode="adaptive"].nexus-uniform-fit .monitor { height: 100%; min-height: 0; }
html[data-hx-display-mode="adaptive"].sampler-uniform-fit {
  --sampler-design-vh: calc(var(--hx-adaptive-height) / 100);
}
html[data-hx-display-mode="adaptive"].slicer-uniform-fit {
  --slicer-design-vh: calc(var(--hx-adaptive-height) / 100);
  --slicer-design-vw: calc(var(--hx-adaptive-width) / 100);
}
html[data-hx-display-mode="adaptive"].vocoder-uniform-fit .main-container {
  min-height: 0; flex: 1; width: 100%; max-width: none;
}
html[data-hx-display-mode="adaptive"] .instrument-canvas {
  width: var(--hx-adaptive-width); height: var(--hx-adaptive-height);
}
/* Panels may expand; media retains its source proportions. */
html[data-hx-display-mode="adaptive"].slicer-uniform-fit #renderDiv {
  width: 100%; height: 100%; max-width: none;
}
