/* Scroll the editor fields, while actions stay at the dialog's bottom edge. */
.modal:has(> form > .modal-form-content),
.modal:has(> .character-image-editor-body) { display: flex; flex-direction: column; overflow: hidden; max-height: calc(100dvh - 40px); }
.modal:has(.modal-form-content) > .modal-header,
.modal:has(.character-image-editor-body) > .modal-header { flex: 0 0 auto; }
.modal > form:has(> .modal-form-content),
.modal > .character-image-editor-body { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; overflow: hidden; padding: 0; }
.modal-form-content, .crop-scroll-content { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 20px 24px 24px; scroll-padding-block: 16px; }
.modal form > .form-footer,
.modal form > .modal-actions,
.modal .character-image-editor-body > .crop-dialog-actions { position: relative; flex: 0 0 auto; z-index: 8; bottom: auto; display: flex; justify-content: flex-end; align-items: center; gap: 10px; margin: 0; padding: 14px 24px; border-top: 1px solid var(--line); background: rgba(255,255,255,.96); }
.modal form > .modal-actions > span { flex: 1; }
.modal form > .form-footer > span { margin-right: auto; }
.modal form > .form-footer button,
.modal form > .modal-actions > button,
.crop-dialog-actions button { flex-shrink: 0; }
.play-style-form:not(.view-mode) { padding-bottom: 80px; }
.play-style-fixed-actions { position: fixed; right: 24px; bottom: 0; z-index: 30; display: flex; justify-content: flex-end; gap: 10px; padding: 14px 24px; border: 1px solid var(--line); border-bottom: 0; border-radius: 10px 10px 0 0; background: rgba(255,255,255,.96); }
@media (max-width: 600px) {
  .modal-form-content, .crop-scroll-content { padding: 16px; }
  .modal form > .form-footer, .modal form > .modal-actions,
  .modal .character-image-editor-body > .crop-dialog-actions { padding: 12px; gap: 8px; flex-wrap: wrap; }
  .modal form > .form-footer > span:not(:empty) { flex-basis: 100%; }
  .play-style-fixed-actions { right: 12px; padding: 12px; }
}
