/* Owner 15 Sep: use available height for the whole figure, preserving controls. */
#app { --rosi-mobile-header: 92px; --rosi-desktop-footer: 56px; }
#app[data-stage-layout="v40"] { --rosi-mobile-header: 110px; --rosi-desktop-footer: 0px; }
#app .scene-body { min-width: 0; }
#app #stage .main-motion-video { object-fit: contain; }
@media (min-width: 768px) and (pointer: fine) {
  #app .conversation { min-height: 0; height: calc(100svh - 94px - var(--rosi-desktop-footer)); }
  #app .conversation.chat-collapsed { grid-template-columns: minmax(0, 1fr); }
  #app .conversation.chat-collapsed .presence { padding-right: 0; }
  #app .controls:not(.active) { padding-top: 8px; }
}
@media (max-width: 767px), (max-width: 1024px) and (pointer: coarse) {
  #app .conversation, #app .conversation.chat-collapsed {
    display: block; min-height: 0;
    height: calc(100svh - var(--rosi-mobile-header));
  }
  #app .presence { height: 100%; min-height: 0; display: grid; grid-template-rows: minmax(0, 1fr) auto; }
  #app .scene-body, #app #stage { height: 100%; min-height: 0; width: 100%; }
  #app .controls, #app .controls.active {
    padding: 4px 22px max(12px, env(safe-area-inset-bottom)); row-gap: 8px;
  }
  #app .controls.active:has(#call-whatsapp:not([hidden])) {
    grid-template-rows: 18px 54px 54px minmax(44px, auto);
    padding-top: 4px;
  }
}
