/* The layout stays in its original DOM order until a legal drop commits the move. */
.shop-card[data-shop-index],
.team-card[data-index],
.stash-card[data-stash-index] {
  cursor:grab;
  touch-action:pan-y;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
.shop-card button {cursor:pointer;touch-action:manipulation}
.shop-card button:disabled {cursor:not-allowed}
.shop-card img,.team-card img,.stash-card img {-webkit-user-drag:none;user-select:none}
.card-dragging,.card-dragging * {cursor:grabbing!important;user-select:none!important}
.card-drag-neighbor {
  transition:transform 145ms cubic-bezier(.2,.75,.25,1),opacity 110ms!important;
  will-change:transform;
}
.card-drag-settling {transform-origin:0 0!important;transition:none!important;will-change:transform}
.card-drag-landing {pointer-events:none!important;transform:none!important;transition:none!important}
.card-drag-source.shop-card {opacity:.24!important;filter:saturate(.5)}
.card-drag-source.team-card,.card-drag-source.stash-card {opacity:0!important;pointer-events:none}
.card-drag-board-active {isolation:isolate}
.card-drag-board-over {border-radius:9px}
.card-drag-ghost {
  position:fixed!important;
  z-index:220!important;
  pointer-events:none!important;
  box-sizing:border-box!important;
  max-width:none!important;
  max-height:none!important;
  min-width:0!important;
  min-height:0!important;
  opacity:1;
  visibility:visible!important;
  scale:none!important;
  rotate:none!important;
  translate:none!important;
  text-align:left;
  color:var(--text,#e9edde);
  box-shadow:0 0 0 1px #edca8a99,0 20px 32px #0009,0 3px 8px #0008!important;
  will-change:transform;
  overflow:visible;
  contain:layout style;
}
.card-drag-ghost.card-drag-over-sale {
  border-color:#ffe6a2!important;
  box-shadow:0 0 0 2px #f3cb72,0 0 30px #e6b34d55,0 20px 32px #0008!important;
}
.sell-zone {
  position:absolute;
  inset:10px 12px auto;
  z-index:20;
  min-height:74px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:12px 20px;
  border:2px dashed #c79c5a;
  border-radius:10px;
  background:linear-gradient(120deg,#403827fa,#26382ffb);
  box-shadow:0 9px 24px #07131199,inset 0 1px #f4d59122;
  color:#f3d7a2;
  text-align:center;
  visibility:hidden;
  opacity:0;
  transform:translateY(-7px);
  transition:opacity 130ms,transform 130ms,background 100ms,border-color 100ms;
  pointer-events:none;
}
.sell-zone strong {font-size:17px;line-height:1.2;font-weight:700;color:inherit}
.sell-zone small {font-size:11px;line-height:1.3;color:#cfbf9d}
.card-dragging-team .sell-zone {visibility:visible;opacity:1;transform:translateY(0)}
.sell-zone.is-over {
  border-style:solid;
  border-color:#ffe5a4;
  background:linear-gradient(110deg,#725934,#3c513a);
  box-shadow:0 0 0 3px #f2cf7133,0 0 35px #ddaa4a33,0 10px 28px #07131199;
  color:#fff0c4;
}
.sell-zone.is-over small {color:#fff0c4;font-weight:600}
.card-drag-gap {
  position:fixed;
  z-index:21;
  box-sizing:border-box;
  border:2px dashed #ebc982bb;
  border-radius:8px;
  background:linear-gradient(145deg,#e8c7851c,#e8c78506);
  box-shadow:inset 0 0 24px #e8c78515,0 0 15px #e8c78513;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#f0d9a7;
  pointer-events:none;
}
.card-drag-gap[hidden] {display:none}
.card-drag-gap span {
  max-width:90%;
  padding:7px;
  text-align:center;
  color:#ecd4a4;
  font-size:11px;
  letter-spacing:.35px;
  text-shadow:0 1px 5px #0009;
}
.card-drag-gap-compact {
  border:0;
  border-radius:8px;
  background:#f0ce8d;
  box-shadow:0 0 18px #f1cb84aa;
}
.card-drag-gap-compact span {display:none}
.card-drag-gap-swap{border-style:solid;border-color:#a8eaff;background:#6ac6f82b}
.base-dock.is-drag-ready,.stash-drop-zone.is-drag-ready{outline:1px dashed #91cbec;outline-offset:5px}
.base-dock.is-drag-over,.stash-drop-zone.is-drag-over{outline:2px solid #bbecff;box-shadow:0 0 30px #67c9ff70!important}
@media(max-width:600px) {
  .sell-zone {
    position:fixed;
    inset:max(12px,env(safe-area-inset-top)) 12px auto;
    z-index:180;
    min-height:72px;
    padding:12px 15px;
  }
  .sell-zone strong {font-size:16px}
}
@media(prefers-reduced-motion:reduce) {
  .card-drag-neighbor,.card-drag-settling {transition:none!important;will-change:auto}
  .card-drag-ghost {will-change:auto}
  .sell-zone {transition:none!important}
}
