/* Shared step geometry: source, context and building parameters. */
.analysis-dialog {
  height: min(816px, calc(var(--viewport-height, 100dvh) - 80px));
  max-height: calc(var(--viewport-height, 100dvh) - 80px);
  overflow: hidden;
}
.analysis-dialog .analysis-form { flex: 1; min-height: 0; overflow: hidden; }
.analysis-dialog .modal-heading h2 { min-height: 1.25em; }
.analysis-dialog .modal-heading p { min-height: 3em; }
.analysis-dialog .modal-body,
.analysis-dialog .context-scroll {
  flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden;
  overscroll-behavior: contain; scrollbar-gutter: stable;
  padding: 3px; margin: 0;
}
.analysis-dialog .context-scroll > .modal-body { flex: none; overflow: visible; padding: 0; }
.analysis-dialog .form-actions { flex: none; height: calc(68px + 20px * var(--modal-fit)); min-height: calc(68px + 20px * var(--modal-fit)); }
@media (max-width: 1120px) {
  .analysis-dialog .modal-heading h2 { min-height: 2.5em; }
  .analysis-dialog .modal-heading p { min-height: 4.5em; }
}
@media (max-width: 700px) {
  .analysis-dialog .form-actions {
    display: grid; grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) calc(44px + 15px * var(--modal-fit));
    height: calc(102px + 32px * var(--modal-fit));
    min-height: calc(102px + 32px * var(--modal-fit)); gap: 8px;
    align-items: center;
  }
  .analysis-dialog .form-actions .form-action-note { grid-row: 1; }
  .analysis-dialog .form-actions .form-submit { grid-row: 2; align-self: stretch; }
  .analysis-dialog .context-actions { grid-template-columns: minmax(84px, .65fr) minmax(0, 1.35fr); }
}
@media (min-width: 560px) and (max-height: 520px) {
  .analysis-dialog .modal-heading h2 { min-height: 1.25em; }
  .analysis-dialog .modal-heading p { min-height: 3em; }
  .analysis-dialog .form-actions { display: flex; flex-direction: row; height: 68px; min-height: 68px; }
  .analysis-dialog .context-actions { display: grid; grid-template-columns: 100px minmax(0, 1fr) minmax(160px, 45%); grid-template-rows: minmax(0, 1fr); }
  .analysis-dialog .context-actions .context-back { grid-column: 1; grid-row: 1; }
  .analysis-dialog .context-actions .form-action-note { grid-column: 2; grid-row: 1; }
  .analysis-dialog .context-actions .form-submit { grid-column: 3; grid-row: 1; align-self: center; }
}
