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

html, body { height: 100%; background: #000; overflow: hidden; }
body { font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
body.idle { cursor: none; }

#stage { position: fixed; inset: 0; }

.layer {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.8s ease;
}
.layer.visible { opacity: 1; }

.layer img,
.layer video,
.layer .demo-slide {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  background: #000;
}

.layer .demo-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 6vmin;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

#empty[hidden] { display: none; }

#empty {
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  align-items: center;
  justify-content: center;
}
#empty .empty-title {
  font-size: 5vmin;
  font-weight: 700;
  color: #3a3a3a;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
#empty .empty-sub { font-size: 2.2vmin; color: #2c2c2c; }

#fsBtn {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.85;
  transition: opacity 0.3s ease, background 0.2s ease;
  z-index: 10;
}
#fsBtn:hover { background: rgba(255, 255, 255, 0.25); }
body.idle #fsBtn { opacity: 0; pointer-events: none; }
