:root{--touch-target-min: 44px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);}

html{min-height: 100%;-webkit-text-size-adjust: 100%;text-size-adjust: 100%;}

body{min-height: 100vh;min-height: 100dvh;}

html{scroll-padding-top: var(--safe-top);scroll-padding-bottom: calc(var(--touch-target-min) + var(--safe-bottom));}

input,
textarea,
select,
[contenteditable="true"]{max-width: 100%;}

.mobile-viewport-fill{min-height: 100vh;min-height: 100dvh;}

.mobile-safe-inline{padding-left: max(var(--space-4), var(--safe-left));padding-right: max(var(--space-4), var(--safe-right));}

.mobile-safe-bottom{padding-bottom: calc(var(--space-4) + var(--safe-bottom));}

@media (max-width: 760px), (hover: none) and (pointer: coarse){
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  textarea,
  select,
  [contenteditable="true"] {
    font-size: 16px !important;
  }

  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  select {
    min-height: var(--touch-target-min);
  }

  textarea {
    min-height: calc(var(--touch-target-min) * 2);
  }

  .touch-target,
  [data-touch-target="true"] {
    min-width: var(--touch-target-min);
    min-height: var(--touch-target-min);
  }
}

@media (orientation: landscape) and (max-height: 500px){
  html {
    scroll-padding-bottom: calc(var(--space-3) + var(--safe-bottom));
  }
}
