/* Stairs 3D styles - ONLY for stairs device */

/* Positioner styles for stairs */
.stairs-positioner-app {
  position: absolute;
  transform: translate(-50%, -50%);
  pointer-events: auto;
  cursor: grab;
  will-change: transform, left, top;
}

.stairs-positioner-app:active {
  cursor: grabbing;
}

/* Optimize Stairs 3D rendering for smooth dragging */
.stairs-positioner-app:active .stairs-3d-wrapper,
.stairs-positioner-app:active .stairs-box-3d,
.stairs-positioner-app:active .stairs-step-module,
.stairs-positioner-app:active .stairs-face {
  transition: none !important;
}

.stairs-3d-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  transform-style: preserve-3d;
  transition: transform 0.05s ease-out;
}

.stairs-box-3d {
  position: relative;
  transform-style: preserve-3d;
  transition: transform 0.05s ease-out;
}

/* Step module */
.stairs-step-module {
  position: absolute;
  transform-style: preserve-3d;
}

/* Step faces */
.stairs-face {
  position: absolute;
  box-sizing: border-box;
  background: var(--stairs-bg);
  border: 1px solid rgba(255, 255, 255, 0.1);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Top face */
.stairs-face-top {
  width: var(--stairs-w);
  height: var(--stairs-d);
  transform: rotateX(90deg) translateZ(calc(var(--stairs-d) / 2));
  background-image: linear-gradient(135deg, rgba(255,255,255,0.05) 0%, rgba(0,0,0,0.3) 100%);
}

/* Front face */
.stairs-face-front {
  width: var(--stairs-w);
  height: var(--stairs-h);
  transform: translateZ(calc(var(--stairs-d) / 2));
  background-image: linear-gradient(180deg, rgba(255,255,255,0.1) 0%, rgba(0,0,0,0.4) 100%);
}

/* Left face */
.stairs-face-left {
  width: var(--stairs-d);
  height: var(--stairs-h);
  transform: rotateY(-90deg) translateZ(calc(var(--stairs-d) / 2));
  filter: brightness(0.7);
}

/* Right face */
.stairs-face-right {
  width: var(--stairs-d);
  height: var(--stairs-h);
  transform: rotateY(90deg) translateZ(calc(var(--stairs-w) - (var(--stairs-d) / 2)));
  filter: brightness(0.85);
}

/* LED strip on front face */
.stairs-led-strip {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: var(--stairs-led-color);
  box-shadow: 0 0 10px var(--stairs-led-color), 0 0 20px var(--stairs-led-color);
  z-index: 10;
  display: block;
}

.stairs-led-off {
  display: none;
}
