html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
}

.artschnitzel-ar-wrapper {
  position: relative;
  width: 100vw;
  height: 100dvh;
  min-height: 100dvh;
  overflow: hidden;
  margin: 0;
  padding: 0;
  z-index: 1;
  background: transparent;
}

#artschnitzel-ar-scene,
#artschnitzel-ar-scene.a-fullscreen,
#artschnitzel-ar-scene .a-canvas,
#artschnitzel-ar-scene .a-canvas-container,
#artschnitzel-ar-scene video,
#artschnitzel-ar-scene canvas {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  max-width: none !important;
  max-height: none !important;
}

#artschnitzel-ar-scene video {
  object-fit: cover !important;
}

/* Avoid 1px edge gaps from mobile viewport rounding/subpixel layout. */
#artschnitzel-ar-scene .a-canvas,
#artschnitzel-ar-scene video {
  width: calc(100vw + 2px) !important;
  left: -1px !important;
}

#artschnitzel-ar-scene {
  z-index: 1000;
}

.artschnitzel-ar-ui {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3000 !important;
  pointer-events: auto;
}

.artschnitzel-ar-ui button,
.artschnitzel-ar-ui a,
.artschnitzel-ar-ui input {
  pointer-events: auto;
}

#chip-video-panel {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  height: 38vh;
  z-index: 1200;
  display: none;
  background: #ffffff;
}

#chip-video {
  width: 100%;
  height: 100%;
  object-fit: fill;
  display: block;
}

#chip-image-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 58vh;
  z-index: 1250;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 500ms ease;
  pointer-events: none;
}

#chip-image-overlay.visible {
  opacity: 1;
  visibility: visible;
}

#chip-image {
  width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}
