.drag-handle, .drag-surface {
  cursor: grab; touch-action: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none;
}
.drag-surface a { cursor: inherit; -webkit-user-drag: none; }
.is-dragging { cursor: grabbing; user-select: none; -webkit-user-select: none; }
.is-dragging .is-moving { opacity: .48; }
.drag-preview {
  position: fixed; z-index: 1050; inset: 0 auto auto 0; pointer-events: none;
  display: grid; gap: 4px; width: max-content; max-width: min(245px, calc(100vw - 16px));
  padding: 8px 12px; border: 1px solid var(--color-border-accent); border-radius: 8px; box-shadow: 0 6px 18px #19362a33;
  background: var(--color-surface); color: var(--color-text); overflow-wrap: anywhere; font-size: 12px;
}
.drag-preview > span { color: var(--color-muted); }
.drag-preview .matchup-side { font-weight: 650; }
.drag-preview.is-over-target { border-color: var(--color-primary); background: var(--color-accent-soft); }
.drag-preview.is-over-target > span { color: var(--color-primary); font-weight: 700; }
