:root {
  --transition-ms: 500ms;
  --bg: #000;
}

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

html, body {
  width: 100%;
  height: 100%;
  background: var(--bg);
  color: #fff;
  overflow: hidden;
  font-family: system-ui, -apple-system, sans-serif;
}

body { cursor: none; }

#stage {
  position: fixed;
  inset: 0;
  background: var(--bg);
}

.slot {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity var(--transition-ms) ease-in-out;
  background: var(--bg);
  pointer-events: none;
}

.slot.active { opacity: 1; }

.slot > img,
.slot > video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: var(--bg);
}

.slot > [data-fit="cover"] { object-fit: cover; }

#status {
  position: fixed;
  bottom: 6px;
  right: 10px;
  font-size: 10px;
  color: #333;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
  user-select: none;
}

#status.visible { color: #888; }

/* Portrait support — auto-rotate slots if display is taller than wide */
@media (orientation: portrait) {
  #stage {
    /* placeholder: retrato preparado, comportamento padrão mantém object-fit */
  }
}
