@keyframes gl-slideup {
  from { transform: translateY(110%); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}
@keyframes gl-fadein {
  from { opacity: 0; }
  to   { opacity: 1; }
}

:root {
  color-scheme: dark;
  --amber: #e8a33d;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  background: #050506;
  overscroll-behavior-y: none;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", system-ui, sans-serif;
  color: #f5f5f7;
  /* iOS Safari / standalone PWA: don't let a rubber-band scroll reveal white edges */
  position: fixed;
  inset: 0;
  overflow: hidden;
}

#app {
  height: 100%;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  background: #050506;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type=number] { -moz-appearance: textfield; }

a { color: var(--amber); text-decoration: none; }
a:hover { color: #f0b768; }

::-webkit-scrollbar { display: none; }
* { scrollbar-width: none; }

button { font-family: inherit; }

.gl-safe-top    { padding-top: env(safe-area-inset-top); }
.gl-safe-bottom { padding-bottom: env(safe-area-inset-bottom); }
