* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  touch-action: none;
}

:root {
  --safe-top: env(safe-area-inset-top);
  --safe-bottom: env(safe-area-inset-bottom);
  --safe-left: env(safe-area-inset-left);
  --safe-right: env(safe-area-inset-right);
}

html {
  font-weight: 500;
  line-height: 1.2;
  font-size: 1px;
  color: #ffffff;
  height: 100%;
}

body {
  width: 100%;
  width: 100vw;
  height: 100%;

  font-size: 22rem;
  -webkit-overflow-scrolling: touch;

  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;

  -webkit-tap-highlight-color: transparent;
}

button {
  font: inherit;
}

#app-root {
  width: 100%;
  height: calc(100% - var(--safe-bottom));

  position: relative;

  overflow: hidden;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;

  -webkit-tap-highlight-color: transparent;
}

.device-mobile #app-root {
  position: fixed;
}

.viewport {
  width: 100%;
  height: 100%;
}
