/* Jigsaw — real interlocking pieces, drag & snap */
.board-wrap { flex:1; display:flex; min-height:0; }
.jig-stage {
  position:relative; flex:1; width:100%;
  overflow:hidden; touch-action:none;
}

/* the target frame (where the picture is rebuilt) with a faint guide image */
.jig-frame {
  position:absolute;
  border:4px dashed rgba(28,24,20,0.45); border-radius:12px;
  background:rgba(255,255,255,0.22);
  box-shadow:inset 0 0 0 3px rgba(255,255,255,0.25), 0 6px 0 rgba(28,24,20,0.12);
  overflow:hidden;
}
.jig-guide {
  position:absolute; inset:0; width:100%; height:100%;
  opacity:0.16; pointer-events:none; user-select:none;
}

/* a piece is a positioned canvas with a soft drop shadow */
.jig-piece {
  position:absolute; top:0; left:0;
  cursor:grab; touch-action:none; user-select:none; -webkit-user-select:none;
  filter:drop-shadow(0 3px 3px rgba(0,0,0,0.30));
  transition:filter 120ms ease;
}
.jig-piece.drag { cursor:grabbing; filter:drop-shadow(0 9px 9px rgba(0,0,0,0.38)); }
.jig-piece.placed { filter:none; cursor:default; pointer-events:none; }

.status-line {
  text-align:center; font-weight:700; font-size:15px; color:var(--muted); margin-top:10px;
}
