/* Player auf dem Bildschirm (Konzept 17.4): keine Bedienelemente, kein
   Oberflächen-Standard; was erscheint, bestimmt das Layout. */
html, body {
  margin: 0;
  height: 100%;
  overflow: hidden;
  background: #000;
  cursor: none;
}

.dp-player {
  position: fixed;
  inset: 0;
}

/* Zeichenfläche in Layout-Pixeln, per transform auf den Bildschirm skaliert. */
.dp-stage {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  transform-origin: 0 0;
  opacity: 0;
  transition-property: opacity;
  transition-timing-function: ease-in-out;
  contain: strict;
}

.dp-stage.dp-shown {
  opacity: 1;
}

.dp-el {
  position: absolute;
  overflow: hidden;
}

.dp-el > img,
.dp-el > video,
.dp-el > iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.dp-el > iframe {
  background: transparent;
  color-scheme: normal;
}

/* Bildfolge: zwei Ebenen, die neue blendet über die alte. */
.dp-slide {
  opacity: 0;
  transition-property: opacity, transform;
  transition-timing-function: ease-in-out;
  will-change: opacity, transform;
}

.dp-slide.dp-on {
  opacity: 1;
}

.dp-status {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 8vh;
  margin: 0;
  text-align: center;
  font: 2.2vmin/1.4 system-ui, sans-serif;
  color: #8a94a6;
}

.dp-status:empty {
  display: none;
}

/* Messwerte am Bildschirm, nur mit "debug": true in der Konfiguration. */
.dp-debug {
  position: fixed;
  right: 1vmin;
  bottom: 1vmin;
  z-index: 10;
  margin: 0;
  padding: 0.6em 0.8em;
  font: 1.4vmin/1.35 ui-monospace, monospace;
  white-space: pre;
  color: #e8ecf2;
  background: rgb(0 0 0 / 0.7);
  border-radius: 0.4em;
  pointer-events: none;
}
