.nav-arrow {
  position: absolute;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5em;
  color: #000;
  border: 3px solid #ff0000;
  border-radius: 50%;
  background: rgba(255,255,255,0.85);
  box-shadow: 0 0 8px #ff0000, 0 0 4px #000 inset;
  cursor: pointer;
  z-index: 10;
  transition: transform 0.2s, box-shadow 0.2s;
}
.nav-arrow.left {
  left: 2vw;
  top: 50vh;
  transform: translateY(-50%);
}
.nav-arrow.right {
  right: 2vw;
  top: 50vh;
  transform: translateY(-50%);
}
.nav-arrow.up {
  left: 50vw;
  top: 2vh;
  transform: translateX(-50%);
}
.nav-arrow.down {
  left: 50vw;
  bottom: 2vh;
  transform: translateX(-50%);
}
.nav-arrow:hover {
  transform: scale(1.15);
  box-shadow: 0 0 16px #ff0000, 0 0 8px #000 inset;
}
body {
  margin: 0;
  padding: 0;
  background: #fff;
  font-family: 'Inter', sans-serif;
}

.room-3d {
  width: 100vw;
  height: 100vh;
  position: relative;
  perspective: 1200px;
  background: #fff;
  overflow: hidden;
}

.wall,
.floor,
.ceiling {
  position: absolute;
  background: #fff;
  box-shadow: 0 0 40px 10px rgba(0,0,0,0.04);
}

.wall.back {
  width: 60vw;
  height: 60vh;
  left: 20vw;
  top: 20vh;
  transform: translateZ(-30vw);
}

.wall.left {
  width: 60vw;
  height: 60vh;
  left: 20vw;
  top: 20vh;
  transform: rotateY(90deg) translateZ(-30vw);
}

.wall.right {
  width: 60vw;
  height: 60vh;
  left: 20vw;
  top: 20vh;
  transform: rotateY(-90deg) translateZ(-30vw);
}

.floor {
  width: 60vw;
  height: 60vw;
  left: 20vw;
  top: 50vh;
  transform: rotateX(90deg) translateZ(-30vw);
}

.ceiling {
  width: 60vw;
  height: 60vw;
  left: 20vw;
  top: 0vh;
  transform: rotateX(-90deg) translateZ(-30vw);
}
/* style.css - Immersive 2.5D Room Experience */

body {
  margin: 0;
  background: linear-gradient(135deg, #181a1f 60%, #2a2d36 100%);
  color: #e0e0e0;
  font-family: 'Consolas', 'Courier New', monospace;
  overflow: hidden;
  min-height: 100vh;
  filter: none;
}


/* Modals */
.modal {
  position: fixed;
  top: 10vh;
  left: 50%;
  transform: translateX(-50%);
  min-width: 340px;
  max-width: 600px;
  min-height: 220px;
  background: linear-gradient(135deg, #23272e 80%, #181a1f 100%);
  border: 3px solid #00ffea;
  border-radius: 12px;
  box-shadow: 0 0 32px #00ffea, 0 0 8px #fff inset;
  z-index: 999;
  display: none;
  padding: 24px 32px;
  color: #e0e0e0;
  font-family: 'Consolas', 'Courier New', monospace;
}
.modal.active {
  display: block;
}
.modal .close {
  position: absolute;
  top: 12px;
  right: 18px;
  font-size: 1.5em;
  color: #00ffea;
  cursor: pointer;
}

/* Bubbles (Frutiger Aero) */
.bubble {
  position: absolute;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(0,255,255,0.4) 60%, rgba(255,255,255,0.2) 100%);
  box-shadow: 0 0 24px #00ffea, 0 0 8px #fff inset;
  animation: bubbleFloat 6s infinite linear;
}
@keyframes bubbleFloat {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-80px) scale(1.1); }
  100% { transform: translateY(0) scale(1); }
}

/* Jungle Vines */
.vine {
  position: absolute;
  width: 12px;
  height: 220px;
  background: linear-gradient(90deg, #2e7d32 0%, #181a1f 100%);
  border-radius: 12px;
  box-shadow: 0 0 8px #2e7d32 inset, 0 0 4px #181a1f;
  z-index: 2;
  transform: rotateZ(var(--angle, 0deg)) skewY(var(--skew, 0deg));
}

/* Ambient Lighting */
.ambient {
  position: absolute;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 1;
  background: radial-gradient(circle at 60vw 20vh, #00ffea 0%, transparent 60%),
              radial-gradient(circle at 20vw 80vh, #00ffea 0%, transparent 60%),
              linear-gradient(135deg, transparent 80%, #181a1f 100%);
  opacity: 0.25;
}
