/* Geometry only. Identity, theme, resource and warning colours stay independent. */
:is(#auth-title-dialog, .chat-safety-dialog, #sale-dialog, .arena-kit-dialog, .party-settings-dialog, .monster-companions-dialog)[data-mobile-visual-viewport] {
  position: fixed;
  top: calc(var(--ga-visual-top) + 12px);
  right: 0;
  bottom: auto;
  left: 0;
  margin-block: 0;
  margin-inline: auto;
  max-width: calc(100% - 24px);
  height: auto;
  max-height: calc(var(--ga-visual-height) - 24px);
  display: block;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.chat-drawer.open[data-mobile-visual-viewport] {
  top: calc(var(--ga-visual-top) + 8px);
  bottom: auto;
  height: calc(var(--ga-visual-height) - 16px);
  max-height: calc(var(--ga-visual-height) - 16px);
  min-height: 0;
}
.chat-drawer.open[data-mobile-visual-viewport] .chat-appearance { min-height: 0; max-height: 25%; }
.chat-drawer.open[data-mobile-visual-viewport] .chat-feed-panel { min-height: 52px; }
.chat-drawer.open[data-mobile-visual-viewport="short"] {
  height: auto;
  display: block;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.chat-drawer.open[data-mobile-visual-viewport="short"] .chat-appearance { max-height: 72px; }
.chat-drawer.open[data-mobile-visual-viewport="short"] .chat-feed-panel { display: block; }
.chat-drawer.open[data-mobile-visual-viewport="short"] .chat-messages { flex: none; height: 72px; overflow-y: auto; }
.monster-companions-dialog[data-mobile-visual-viewport] .monster-filter-picker-backdrop {
  position: fixed;
  top: calc(var(--ga-visual-top) + 12px);
  right: 12px;
  bottom: auto;
  left: 12px;
  height: calc(var(--ga-visual-height) - 24px);
  padding: 4px;
}
.monster-companions-dialog[data-mobile-visual-viewport] .monster-filter-picker {
  max-height: calc(var(--ga-visual-height) - 40px);
  display: block;
  overflow-y: auto;
}

/* Reviewed low-height touch dialogs scroll as a whole if their fixed sections cannot fit. */
@media (max-height: 650px) and (pointer: coarse) {
  :is(#sale-dialog, .arena-kit-dialog, .party-settings-dialog, .login-board-dialog, .battle-tactics-dialog) {
    height: auto;
    max-height: calc(100dvh - 32px);
    display: block;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .chat-drawer.open {
    display: block;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .chat-drawer.open .chat-appearance { max-height: 72px; }
  .chat-drawer.open .chat-feed-panel { display: block; }
  .chat-drawer.open .chat-messages { flex: none; height: 72px; overflow-y: auto; }
}
