/* DaisyUI handles the shell. This file only styles the canvas, screen, joystick. */

html, body { margin: 0; height: 100%; }
body { overflow: hidden; overscroll-behavior: none; }

/* shared screen */
.screen-wrap {
  position: relative; width: 100%; aspect-ratio: 16/9; max-height: 34vh;
  background: #000; border-radius: 12px; overflow: hidden;
  box-shadow: 0 0 50px rgba(58,134,255,0.18);
}
.screen-wrap video, .screen-wrap #yt { width: 100%; height: 100%; object-fit: contain; }

/* room canvas */
.room-wrap { flex: 1 1 0; position: relative; min-height: 0; margin-top: 8px; touch-action: none; }
#canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; cursor: pointer; }

.legend {
  position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%);
  background: rgba(10,14,24,0.8); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 20px; padding: 6px 16px; font-size: 12px; opacity: 0.85;
  white-space: nowrap; max-width: 96vw; overflow: hidden; text-overflow: ellipsis;
}

/* mobile joystick */
.joy-base {
  position: absolute; bottom: 22px; left: 22px;
  width: 110px; height: 110px; border-radius: 50%;
  background: rgba(120,140,200,0.12); border: 2px solid rgba(140,160,220,0.35);
  touch-action: none; user-select: none; display: grid; place-items: center;
  backdrop-filter: blur(2px); z-index: 20;
}
.joy-knob {
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(58,134,255,0.85); box-shadow: 0 4px 14px rgba(0,0,0,0.4);
  pointer-events: none; transition: transform 0.05s linear;
}
@media (min-width: 768px) { .joy-base { opacity: 0.55; } }

/* audio control */
.audio-fab {
  position: absolute; bottom: 22px; right: 22px; z-index: 21;
  box-shadow: 0 6px 18px rgba(0,0,0,0.4);
}
.audio-panel {
  position: absolute; bottom: 80px; right: 16px; z-index: 22;
  width: min(280px, 88vw);
}
