*, *::before, *::after { box-sizing: border-box; }

html, body {
  margin: 0;
  height: 100%;
}

body {
  font-family: 'Trebuchet MS', 'Gill Sans', 'Segoe UI', system-ui, sans-serif;
  color: #173124;
  -webkit-font-smoothing: antialiased;
}

button, input { font: inherit; }

button {
  border: 0;
  cursor: pointer;
  transition: transform 120ms ease, box-shadow 120ms ease, filter 120ms ease;
}

button:hover:not(:disabled) {
  transform: translateY(-2px);
  filter: brightness(1.05);
}

button:active:not(:disabled) {
  transform: translateY(0);
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

img { display: block; max-width: 100%; height: auto; }

#app {
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  position: relative;
}
