@media (pointer: coarse) {

  :root {
    --ok-ctrl-h: 44px;
    --ok-ctrl-h-sm: 38px;
  }

  [data-density="compact"] {
    --ok-ctrl-h: 40px;
    --ok-ctrl-h-sm: 34px;
  }

  .ok-input,
  .ok-textarea,
  .ok-native-select,
  input[type="text"],
  input[type="search"],
  input[type="password"],
  input[type="number"],
  input[type="email"],
  input[type="tel"],
  input[type="date"],
  select,
  textarea {
    font-size: 16px;
  }

  .ok-act {
    width: 40px;
    height: 40px;
  }

  .ok-act:active {
    background: var(--ok-brand-50);
    color: var(--ok-brand-700);
    border-color: var(--ok-brand-100);
  }

  .ok-act--danger:active {
    background: var(--ok-danger-bg);
    color: var(--ok-danger);
    border-color: var(--ok-danger-br);
  }

  .ok-check {
    min-height: 44px;
    line-height: 24px;
  }

  .ok-check > input {
    width: 24px;
    height: 24px;
  }

  .ok-check > input[type="checkbox"]:checked::after {
    background-size: 15px 15px;
  }

  .ok-check > input[type="checkbox"]:indeterminate::after {
    inset-inline: 5px;
  }

  .ok-check > input[type="radio"]:checked::after {
    inset: 6px;
  }

  .ok-switch {
    min-height: 44px;
  }

  .ok-pager__btn {
    min-width: 40px;
    height: 40px;
  }

  .ok-pager__btn:active:not(:disabled) {
    background: var(--ok-brand-50);
    color: var(--ok-brand-700);
  }

  .ok-topbar__toggle {
    width: 44px;
    height: 44px;
  }

  .ok-user-btn {
    height: 44px;
  }

  .ok-nav__link {
    padding-block: 10px;
  }

  .ok-nav__sublink {
    padding-block: 10px;
  }

  .ok-btn:active:not(:disabled) {
    filter: brightness(.94);
  }
}
