/* Forced movement UX: selection and destination states are cyan, never attack-gold. */
body.bt-movement-mode #targetLine,
body.bt-movement-mode .target-line-svg path#targetLine{
  opacity:0 !important;
  display:none !important;
  animation:none !important;
}

.board .slot.bt-move-candidate,
.board .slot.bt-move-destination{
  cursor:pointer !important;
  border-color:rgba(94,229,255,.92) !important;
  border-style:solid !important;
  background:linear-gradient(180deg,rgba(54,190,229,.19),rgba(23,96,142,.16)) !important;
  box-shadow:
    0 0 0 2px rgba(94,229,255,.22),
    0 0 18px rgba(71,209,255,.28),
    inset 0 0 18px rgba(78,213,255,.12) !important;
  animation:btMoveSlotPulse 1.1s ease-in-out infinite alternate !important;
}

.board .slot.bt-move-candidate .card,
.board .card.bt-move-candidate{
  cursor:pointer !important;
  border-color:#65eaff !important;
  box-shadow:
    0 0 0 3px rgba(101,234,255,.42),
    0 0 24px rgba(74,207,255,.44),
    0 14px 24px rgba(0,0,0,.34) !important;
  transform:translateY(-4px) scale(.98) !important;
}

.board .card.bt-move-source{
  z-index:45 !important;
  border-color:#b8f5ff !important;
  box-shadow:
    0 0 0 3px rgba(104,231,255,.58),
    0 0 28px rgba(64,203,255,.62),
    0 20px 30px rgba(0,0,0,.42) !important;
  transform:translateY(-8px) scale(.97) !important;
  filter:saturate(1.08) brightness(1.06) !important;
}

.bt-move-slot-marker{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  z-index:25 !important;
  transform:translate(-50%,-50%) !important;
  min-width:42px !important;
  padding:4px 7px !important;
  border:1px solid rgba(194,248,255,.74) !important;
  border-radius:999px !important;
  background:rgba(8,40,62,.86) !important;
  box-shadow:0 5px 14px rgba(0,0,0,.34),0 0 14px rgba(72,215,255,.28) !important;
  color:#d9fbff !important;
  font:800 8px/1 system-ui,sans-serif !important;
  letter-spacing:.08em !important;
  text-align:center !important;
  pointer-events:none !important;
}

.bt-move-hint{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  z-index:160 !important;
  transform:translate(-50%,-50%) !important;
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  max-width:min(250px,45vw) !important;
  padding:7px 11px !important;
  border:1px solid rgba(139,237,255,.56) !important;
  border-radius:999px !important;
  background:rgba(5,24,39,.9) !important;
  box-shadow:0 8px 22px rgba(0,0,0,.42),0 0 16px rgba(61,204,255,.18) !important;
  color:#e6fbff !important;
  font:750 10px/1.15 system-ui,sans-serif !important;
  text-align:center !important;
  pointer-events:none !important;
  backdrop-filter:blur(7px) !important;
}

.bt-move-hint-icon{
  color:#72e9ff !important;
  font-size:12px !important;
}

.bt-move-preview-card{
  position:absolute !important;
  inset:6px !important;
  z-index:21 !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
  border:1px dashed rgba(161,244,255,.76) !important;
  border-radius:10px !important;
  background:rgba(39,178,218,.12) !important;
  color:#e5fbff !important;
  pointer-events:none !important;
}

.bt-move-preview-card img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  opacity:.28 !important;
  filter:saturate(.55) brightness(1.18) !important;
}

.bt-move-preview-card span,
.bt-move-preview-card strong{
  position:relative !important;
  z-index:2 !important;
  text-shadow:0 2px 5px rgba(0,0,0,.9) !important;
}

.bt-move-preview-card strong{
  font:900 18px/1 system-ui,sans-serif !important;
}

.bt-move-preview-card span{
  font:800 8px/1 system-ui,sans-serif !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
}

.board .card.bt-move-arrival{
  animation:btMoveArrival .5s cubic-bezier(.2,.85,.25,1.2) both !important;
}

.board .slot.bt-chaos-pulse{
  border-color:#a7f4ff !important;
  background:rgba(79,220,255,.24) !important;
  box-shadow:0 0 26px rgba(93,226,255,.72),inset 0 0 22px rgba(111,236,255,.2) !important;
}

@keyframes btMoveSlotPulse{
  from{filter:brightness(.92);transform:translateY(0)}
  to{filter:brightness(1.12);transform:translateY(-2px)}
}

@keyframes btMoveArrival{
  0%{transform:scale(.82);filter:brightness(1.5);opacity:.4}
  60%{transform:scale(1.06);filter:brightness(1.18);opacity:1}
  100%{transform:scale(1);filter:none;opacity:1}
}

@media(max-width:900px), (max-height:680px){
  .bt-move-hint{
    top:49% !important;
    padding:5px 8px !important;
    font-size:8px !important;
  }
  .bt-move-slot-marker{
    min-width:34px !important;
    padding:3px 5px !important;
    font-size:7px !important;
  }
}


/* v6.31 Control interaction hardening */
.board .slot.bt-move-candidate,
.board .slot.bt-move-candidate .card,
.board .slot.bt-move-destination{
  pointer-events:auto !important;
  touch-action:none !important;
}

.board .slot.bt-move-candidate::after{
  content:'PILIH';
  position:absolute;
  left:50%;
  bottom:7px;
  z-index:60;
  transform:translateX(-50%);
  padding:4px 8px;
  border:1px solid rgba(184,247,255,.8);
  border-radius:999px;
  background:rgba(6,39,58,.9);
  color:#e7fcff;
  font:900 8px/1 system-ui,sans-serif;
  letter-spacing:.08em;
  pointer-events:none;
}

.bt-move-hint{
  pointer-events:auto !important;
}

.bt-move-cancel{
  flex:0 0 auto;
  padding:4px 7px;
  border:1px solid rgba(164,235,248,.42);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#cdeff5;
  font:850 7px/1 system-ui,sans-serif;
  letter-spacing:.08em;
  cursor:pointer;
}

.bt-move-cancel:hover,
.bt-move-cancel:focus-visible{
  background:rgba(99,224,255,.18);
  color:#fff;
  outline:none;
}

/* v6.32: Aquatic Control uses one direct drag interaction. */
.board .slot.bt-move-candidate,
.board .slot.bt-move-candidate .card,
.board .card.bt-move-candidate{
  cursor:grab !important;
  touch-action:none !important;
  user-select:none !important;
  -webkit-user-select:none !important;
}

.board .slot.bt-move-candidate:active,
.board .slot.bt-move-candidate .card:active,
.board .card.bt-move-candidate:active{
  cursor:grabbing !important;
}

.board .slot.bt-move-candidate::after{
  content:'DRAG' !important;
}

body.bt-control-dragging .board .slot.bt-move-destination{
  cursor:grabbing !important;
}

.board .slot.bt-move-destination.bt-move-drag-hover{
  border-color:#d7fbff !important;
  background:linear-gradient(180deg,rgba(82,226,255,.34),rgba(30,137,184,.26)) !important;
  box-shadow:
    0 0 0 3px rgba(156,244,255,.5),
    0 0 30px rgba(73,220,255,.72),
    inset 0 0 24px rgba(113,235,255,.2) !important;
  transform:translateY(-3px) scale(1.025) !important;
}

body.bt-control-dragging .bt-move-hint span:nth-child(2)::after{
  content:' · lepaskan pada slot cyan';
}
