/* Drag-aware dropzone strip on the left edge.
 * Issue 0091 — auto-open sidebar when dragging a card near the left edge.
 *
 * The strip is only visible while a drag is active. When the pointer is
 * inside the strip, we add the `is-armed` class to show a subtle inset
 * glow that pulses, so the user knows the zone is going to fire.
 */

.kanban-drag-edge {
  position: fixed;
  left: 0;
  top: 50px; /* AppShell.Header height */
  bottom: 0;
  width: 32px;
  z-index: 200;
  pointer-events: none; /* let dnd-kit keep capturing the pointer */
  opacity: 0;
  transition: opacity 120ms ease-out, box-shadow 160ms ease-out, background 160ms ease-out;
  background: transparent;
}

.kanban-drag-edge.is-active {
  opacity: 1;
  /* Very subtle hint that the strip exists during any drag. */
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.04);
}

.kanban-drag-edge.is-armed {
  background: linear-gradient(
    90deg,
    rgba(34, 139, 230, 0.18) 0%,
    rgba(34, 139, 230, 0.06) 60%,
    transparent 100%
  );
  box-shadow: inset 4px 0 0 var(--mantine-color-blue-4);
  animation: kanban-drag-edge-pulse 1100ms ease-in-out infinite;
}

@keyframes kanban-drag-edge-pulse {
  0% {
    box-shadow: inset 4px 0 0 var(--mantine-color-blue-4),
      inset 0 0 0 0 rgba(34, 139, 230, 0.0);
  }
  50% {
    box-shadow: inset 4px 0 0 var(--mantine-color-blue-5),
      inset 16px 0 22px -10px rgba(34, 139, 230, 0.35);
  }
  100% {
    box-shadow: inset 4px 0 0 var(--mantine-color-blue-4),
      inset 0 0 0 0 rgba(34, 139, 230, 0.0);
  }
}
