[data-native-app] .native-hidden {
  display: none !important;
}

:root:not([data-native-app]) .native-only {
  display: none !important;
}

:root {
  --native-safe-area-top: var(--native-safe-area-inset-top, env(safe-area-inset-top, 0px));
  --native-safe-area-bottom: var(--native-safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));
}

.native-inset-top::before,
.native-inset::before {
  content: "";
  display: block;
  height: var(--native-safe-area-top);
}

.native-inset-bottom::after,
.native-inset::after {
  content: "";
  display: block;
  height: var(--native-safe-area-bottom);
}

[data-native-app] * {
  -webkit-tap-highlight-color: transparent;
}

[data-native-app] button,
[data-native-app] [role="button"] {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

[data-native-app] a,
[data-native-app] button,
[data-native-app] input,
[data-native-app] label,
[data-native-app] [role="button"] {
  touch-action: manipulation;
}

.native-back-button {
  display: none;
}

[data-native-can-go-back] .native-back-button {
  display: inline;
}
