* {
  box-sizing: border-box;
}

body {
  margin: 0;
  overflow: hidden;
  background: #f7e8a5;
  font-family: Arial, sans-serif;
}

canvas {
  display: block;
  width: 100vw;
  height: 100vh;
  background: #f7e8a5;
}

/* 기존 컨트롤 패널은 배경 제거 */
#controlPanel {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 10;
  font-size: 14px;
}

/* 모든 버튼 기본값 */
#controlPanel button {
  pointer-events: auto;
  border: none;
  cursor: pointer;
  font-weight: 700;
  transition: transform 0.12s ease, filter 0.12s ease, opacity 0.12s ease;
}

/* 오른쪽 상단 한로로 리믹스 버튼 - 글자 있는 레코드판 느낌 */
#hanroroRemixBtn {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 20;

  width: 108px;
  height: 108px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.32);
  cursor: pointer;

  /* 글자 다시 보이게 */
  color: white;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;

  display: flex;
  align-items: center;
  justify-content: center;

  /* glass morphism + 레코드판 느낌 */
  background:
    radial-gradient(circle at center,
      rgba(20, 24, 36, 0.95) 0 18%,
      rgba(12, 14, 24, 0.96) 19% 100%
    ),
    rgba(255, 255, 255, 0.12);

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.26),
    inset 0 0 0 8px rgba(255, 255, 255, 0.025),
    inset 0 0 0 18px rgba(255, 255, 255, 0.018),
    inset 0 0 0 30px rgba(255, 255, 255, 0.014),
    0 0 16px rgba(90, 210, 255, 0.22);

  text-shadow:
    0 0 6px rgba(30, 207, 255, 0.85),
    0 0 10px rgba(255, 79, 163, 0.55);

  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
  overflow: hidden;
}

/* 반짝이는 유리 하이라이트 */
#hanroroRemixBtn::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 18px;
  width: 56px;
  height: 24px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
  transform: rotate(-25deg);
  pointer-events: none;
}

/* 재생 아이콘 제거 */
#hanroroRemixBtn::after {
  content: none;
}

#hanroroRemixBtn:hover {
  transform: scale(1.06);
  filter: brightness(1.12);
  box-shadow:
    0 10px 28px rgba(0, 0, 0, 0.32),
    inset 0 0 0 8px rgba(255, 255, 255, 0.035),
    inset 0 0 0 18px rgba(255, 255, 255, 0.025),
    inset 0 0 0 30px rgba(255, 255, 255, 0.018),
    0 0 18px rgba(90, 210, 255, 0.35),
    0 0 26px rgba(255, 120, 210, 0.22);
}

#hanroroRemixBtn:active {
  transform: scale(0.96);
}

/* ========================= */
/* 아래쪽 DJ 느낌 춤 버튼 */
/* ========================= */

#dance1Btn,
#dance2Btn,
#dance3Btn,
#dance4Btn,
#dance5Btn,
#waterBtn {
  position: fixed;
  bottom: 22px;
  width: 118px;
  height: 54px;
  border-radius: 14px;
  color: white;
  font-size: 14px;
  background: linear-gradient(135deg, #1ecfff, #ff4fa3);
  box-shadow:
    0 0 10px rgba(30, 207, 255, 0.55),
    0 0 18px rgba(255, 79, 163, 0.35),
    0 6px 14px rgba(0, 0, 0, 0.32);
}

/* 버튼을 화면 아래 중앙에 가로로 배치 */
#dance1Btn {
  left: calc(50% - 380px);
}

#dance2Btn {
  left: calc(50% - 250px);
}

#dance3Btn {
  left: calc(50% - 120px);
}

#dance4Btn {
  left: calc(50% + 10px);
}

#dance5Btn {
  left: calc(50% + 140px);
}

#waterBtn {
  left: calc(50% + 270px);
  background: linear-gradient(135deg, #1ecfff, #ffd84a);
}

/* DJ 버튼 hover */
#dance1Btn:hover,
#dance2Btn:hover,
#dance3Btn:hover,
#dance4Btn:hover,
#dance5Btn:hover,
#waterBtn:hover {
  transform: translateY(-4px) scale(1.04);
  filter: brightness(1.18);
}

#dance1Btn:active,
#dance2Btn:active,
#dance3Btn:active,
#dance4Btn:active,
#dance5Btn:active,
#waterBtn:active {
  transform: translateY(1px) scale(0.97);
}

/* ========================= */
/* 왼쪽 카메라 버튼 */
/* ========================= */

#frontCameraBtn,
#sideCameraBtn,
#stageCameraBtn,
#faceCameraBtn {
  position: fixed;
  left: 18px;
  width: 92px;
  height: 34px;
  border-radius: 8px;
  color: white;
  font-size: 12px;
  background: rgba(20, 24, 35, 0.38);
  border: 1px solid rgba(255, 255, 255, 0.22);
  opacity: 0.58;
  box-shadow: none;
}

/* 카메라 버튼 세로 배치 */
#frontCameraBtn {
  top: 120px;
}

#sideCameraBtn {
  top: 162px;
}

#stageCameraBtn {
  top: 204px;
}

#faceCameraBtn {
  top: 246px;
}

#frontCameraBtn:hover,
#sideCameraBtn:hover,
#stageCameraBtn:hover,
#faceCameraBtn:hover {
  opacity: 0.85;
  background: rgba(20, 24, 35, 0.55);
  transform: scale(1.03);
}

#frontCameraBtn:active,
#sideCameraBtn:active,
#stageCameraBtn:active,
#faceCameraBtn:active {
  transform: scale(0.96);
}

/* ========================= */
/* 오른쪽 상단 한로로 리믹스 버튼 */
/* ========================= */

#hanroroRemixBtn {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 20;
  width: 96px;
  height: 96px;
  border: none;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff4fa3, #ffd84a, #1ecfff);
  color: white;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
  cursor: pointer;
  box-shadow:
    0 0 14px rgba(255, 79, 163, 0.75),
    0 0 24px rgba(30, 207, 255, 0.55),
    0 8px 18px rgba(0, 0, 0, 0.30);
  transition: transform 0.12s ease, filter 0.12s ease;
}

#hanroroRemixBtn:hover {
  transform: scale(1.08);
  filter: brightness(1.15);
}

#hanroroRemixBtn:active {
  transform: scale(0.95);
}