/* A field changes the keys, never the editing surface's dimensions. */
@media (min-width: 600px) {
  .pos-keyboard[data-keyboard-size],
  dialog.action-dialog.pos-keyboard-integrated[data-keyboard-size] {
    --keyboard-panel-width: 1160px;
    --keyboard-frame-rows: 5;
    --keyboard-frame-gap: var(--space-2);
    --keyboard-frame-key: clamp(44px, calc(10dvh - 12px), var(--keyboard-preferred-height, 64px));
    --keyboard-frame-height: calc(var(--keyboard-frame-rows) * var(--keyboard-frame-key) + (var(--keyboard-frame-rows) - 1) * var(--keyboard-frame-gap));
    width: min(var(--keyboard-panel-width), calc(100vw - 32px));
  }
  .pos-keyboard[data-keyboard-size="compact"],
  dialog.action-dialog.pos-keyboard-integrated[data-keyboard-size="compact"] { --keyboard-panel-width: 960px; --keyboard-preferred-height: 48px; }
  .pos-keyboard[data-keyboard-size="large"],
  dialog.action-dialog.pos-keyboard-integrated[data-keyboard-size="large"] { --keyboard-panel-width: 1360px; --keyboard-preferred-height: 96px; }
  .pos-keyboard .pos-keyboard-content { height: var(--keyboard-frame-height); min-height: 0; }
  .pos-keyboard .pos-keyboard-keys {
    width: 100%; max-width: none; height: 100%; min-height: 0;
    grid-template-rows: repeat(var(--keyboard-frame-rows), minmax(0, 1fr));
    gap: var(--keyboard-frame-gap);
  }
  .pos-keyboard.is-numeric .pos-keyboard-keys { grid-template-rows: repeat(3, minmax(0, 1fr)); }
  .pos-keyboard .pos-keyboard-row { min-height: 0; gap: var(--keyboard-frame-gap); }
  .pos-keyboard .pos-keyboard-row button { height: 100%; min-height: 44px; }
  .pos-keyboard .pos-keyboard-settings { height: 100%; max-height: 100%; min-height: 0; overflow-y: auto; }
  .pos-keyboard-integrated .dialog-keyboard-slot .pos-keyboard[data-keyboard-size] { width: 100%; max-width: none; margin-inline: 0; }
  :is(.note-editor-session,.keyboard-entry-session):not([data-native-keyboard]) > .dialog-keyboard-slot:empty {
    min-height: calc(var(--keyboard-frame-height) + 22px);
  }
}
@media (min-width: 600px) and (max-height: 800px) {
  .pos-keyboard[data-keyboard-size],
  dialog.action-dialog.pos-keyboard-integrated[data-keyboard-size] {
    --keyboard-frame-rows: 4;
    --keyboard-frame-gap: var(--space-1);
    --keyboard-frame-key: clamp(44px, 6.5dvh, 52px);
  }
  .pos-keyboard:not(.is-numeric) .pos-keyboard-keys > .pos-keyboard-row:first-child { display: none; }
}
@media (min-width: 600px) {
  .pos-keyboard[data-keyboard-tablet],
  dialog.action-dialog.pos-keyboard-integrated[data-keyboard-tablet] {
    --keyboard-frame-rows: 4;
    --keyboard-frame-key: clamp(44px, 6.5dvh, 52px);
  }
  .pos-keyboard[data-keyboard-tablet]:not(.is-numeric) .pos-keyboard-keys > .pos-keyboard-row:first-child { display: none; }
}
@media (min-width: 600px) and (max-width: 700px) {
  .pos-keyboard[data-keyboard-size],
  dialog.action-dialog.pos-keyboard-integrated[data-keyboard-size] {
    width: calc(100vw - 16px);
    --keyboard-frame-gap: 2px;
  }
  .pos-keyboard-integrated .dialog-keyboard-slot .pos-keyboard[data-keyboard-size] { width: 100%; }
}
