*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

html,
body {
  width: 100%;
  height: 100%;
  overflow: hidden;
  overscroll-behavior: none;
  background: #000;
  color-scheme: dark;
  touch-action: none;
}

body.is-idle {
  cursor: none;
}

#carousel {
  position: fixed;
  inset: 0;
  background: #000;
}

.slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transition: opacity 0.8s ease-in-out;
  pointer-events: none;
  -webkit-user-drag: none;
}

.slide.is-visible {
  opacity: 1;
}
