/* src/styles/app.css */
:root {
  --sat: env(safe-area-inset-top, 0px);
  --sab: env(safe-area-inset-bottom, 0px);
}

/* Device mockups/iframes report 0 insets: reserve room for status bar and home indicator */
@media (max-width: 479px) {
  :root {
    --sat: max(env(safe-area-inset-top, 0px), 24px);
    --sab: max(env(safe-area-inset-bottom, 0px), 20px);
  }
}

html,
body,
#root {
  margin: 0;
  min-height: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  overscroll-behavior: none;
}

.stride-scroll {
  scrollbar-width: none;
}

.stride-scroll::-webkit-scrollbar {
  display: none;
}

.stride-press {
  transition: transform 120ms cubic-bezier(0.2, 0, 0, 1), background-color 120ms cubic-bezier(0.2, 0, 0, 1);
}

.stride-press:active {
  transform: scale(0.98);
}

.stride-rise {
  animation: stride-rise 320ms cubic-bezier(0.2, 0, 0, 1) both;
}

@keyframes stride-rise {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .stride-press:active {
    transform: none;
  }
  .stride-rise {
    animation: none;
  }
}
